Jeśli techniki uczenia maszynowego będą się ciągle poprawiać, jaka jest rola algorytmiki w przyszłości?

23

Spójrzmy w przyszłość za 30 lat. Bądźmy optymistami i załóżmy, że obszary związane z uczeniem maszynowym rozwijają się tak szybko, jak to, co widzieliśmy w ciągu ostatnich 10 lat. Byłoby świetnie, ale jaka byłaby rola tradycyjnej algorytmiki w takiej przyszłości?

Tutaj przez „tradycyjną algorytmię” odnoszę się do zwykłego procesu, który realizujemy w TCS: sformalizować dobrze zdefiniowany problem obliczeniowy , zaprojektować algorytmy do rozwiązania problemu i udowodnić formalne gwarancje wydajności .

Teraz jakie są obszary zastosowań, w których musimy użyć tradycyjnego projektowania i analizy algorytmów również w przyszłości, i to jest bardzo mało prawdopodobne, że wszelkie zaliczki uczenia maszynowego pozwoli tradycyjne algorytmika przeważnie bez znaczenia?

Na początku może się to wydawać głupim pytaniem: Oczywiście będziemy musieli być w stanie sortować, wyszukiwać, indeksować itp. Również w przyszłości! Oczywiście będziemy musieli być w stanie efektywnie przeprowadzać transformaty Fouriera, mnożyć duże macierze, znajdować najkrótsze ścieżki, rozwiązywać problemy optymalizacji liniowej!

Ale potem znowu, po uruchomieniu szuka głębiej w aplikacjach, w których tradycyjnie korzystają z algorytmów, które projektujemy, to nie jest wcale oczywiste, że tradycyjna konstrukcja i analiza algorytm jest właściwą odpowiedzią na takie problemy: W zastosowaniach związanych z wyszukiwania , zazwyczaj jesteśmy zainteresowani znalezieniem czegoś, co jest ściśle dopasowane do człowieka w jakimś niejasnym, niezdefiniowanym sensie (np. podobieństwo semantyczne), a nie czegoś, co jest optymalne w pewnym sensie matematycznym (np. minimalna odległość edycji). W aplikacjach związanych z planowaniem trasy, zwykle jesteśmy zainteresowani znalezieniem tras, które są dobre na podstawie przykładów (np. inni wolą to), a nie tras, które są optymalne w pewnym sensie matematycznym (np. najkrótsza odległość lub najtańsza cena). A kiedy na obrazie pojawi się jakiś niejasny, źle zdefiniowany komponent ludzki, być może lepiej będzie, jeśli będziemy próbować nauczyć komputer, jak tworzyć dobre odpowiedzi na podstawie przykładów, zamiast pozwolić badaczowi TCS na pojawienie się z formalnym problemem obliczeniowym, który możemy rozwiązać za pomocą tradycyjnego projektowania i analizy algorytmów.

Więc jakie są obszary zastosowań (najlepiej rzeczywiste i bezpośrednie zastosowania przemysłowe), w których absolutnie jasne jest, że to, co robiliśmy w dziedzinie algorytmiki w przeszłości, będzie również właściwą (i jedyną możliwą) drogą do postępu w przyszłość?

Algorytmy stosowane jako podprogramy w technikach uczenia maszynowego wyglądają jak oczywisty kandydat na przyszłość, ale w dużej mierze zależy to od konkretnej techniki uczenia maszynowego, z której korzystamy, i jak widzieliśmy w ciągu ostatnich dziesięciu lat, może to się szybko zmienić .

Jukka Suomela
źródło
2
nccncε
4
Jestem sceptycznie nastawiony do poglądu, że podejścia są wyłączne. Czy mamy powody sądzić, że formalne zdefiniowanie problemów, które rozwiążą algorytmy uczenia maszynowego, i zbudowanie dobrych modeli teoretycznych analizujących ich wydajność, nie będzie możliwe? Może to wymagać lepszych modeli algorytmów opartych na danych (które uważam za algorytmy o wysokiej złożoności opisowej), ale czy jest to przeszkoda, której nie można pokonać?
Neal Young,

Odpowiedzi:

6

To pytanie prześladuje mnie ostatnio, więc cieszę się, że je zadałeś.
Jednak mniej interesuje mnie klasyfikacja obszarów zastosowań, dla których uczenie maszynowe będzie dominować w podejściu obliczeniowym, niż wpływ na postęp w dziedzinie (tradycyjnych) algorytmów. Jakimi badaniami „stworzonymi przez człowieka” będą nadal zainteresowani za 30 lat? Trzeba przyznać, że jest to ogólnie trudniejsze pytanie, ponieważ to aplikacja decyduje o wymaganej jakości wyniku.

Myślę, że algorytmy wyliczania będą liczone wśród osób, które przeżyły. Nadal będzie istniała potrzeba przetestowania wszystkich danych wejściowych do układu lub przeprowadzenia wyczerpującego wyszukiwania. Uwaga specyficzna dla obiektu, precyzyjnie dostrojony projekt wymagany do wygenerowania każdej instancji obiektu dokładnie (lub przynajmniej) raz; oraz zwiększenie w czasie rzeczywistym każdego zmarnowanego wysiłku (może występować wykładnicza liczba instancji, w zależności od opisu obiektu) - czynniki te sprawiają, że jestem sceptyczny, że zautomatyzowany proces uczenia się ogólnego zastosowania może być sprytny, specjalnie zaprojektowane rozwiązanie w tej dziedzinie.

Gara Pruesse
źródło
4

Problem z rozwiązaniami uczenia maszynowego polega na tym, że nie da się ustalić, czy naprawdę obliczyły to, czego chcesz.

Spodziewałbym się, że przejmą kontrolę we wszystkich domenach, w których zły wynik nie jest katastrofalny (tj. Wszędzie tam, gdzie obecnie używamy heurystyki) lub wynik można łatwo sprawdzić (problemy z wyszukiwaniem, dla których wiesz, że istnieje rozwiązanie (ponieważ sprawdzanie „tam nie ma rozwiązania ”może być trudne)).

W pozostałych domenach oczekiwałbym, że algorytmy będą formalnie sprawdzane (na przykład przy użyciu Coq / Gallina) coraz częściej. Mamy nadzieję, że uczenie maszynowe w końcu sprawi, że sprawdzanie rzeczy w takich systemach będzie tak łatwe jak na papierze (lub nawet łatwiejsze). Może nawet dojść do tego, że ludzie piszą jedynie specyfikację, a algorytm i jego dowód poprawności można znaleźć za pomocą uczenia maszynowego. (Należy pamiętać, że sam algorytm nie korzysta z uczenia maszynowego, ale został znaleziony wraz z dowodami poprawności za pomocą uczenia maszynowego)

Możemy więc pisać tylko asystentów ds. Dowodu, specyfikacji programu i algorytmów uczenia maszynowego.

xavierm02
źródło