Mój doktorat jest w czystej matematyce i przyznaję, że niewiele wiem (tj. nic) na temat teoretycznej CS. Jednak zacząłem badać opcje pozaakademickie w mojej karierze i zapoznałem się z uczeniem maszynowym, natknąłem się na takie stwierdzenia, jak: „Nikt nie rozumie, dlaczego sieci neuronowe działają dobrze”, co uznałem za interesujące.
Moje pytanie zasadniczo brzmi: jakiego rodzaju odpowiedzi oczekują badacze? Oto, co znalazłem podczas mojego krótkiego wyszukiwania na ten temat:
- Algorytmy implementujące proste sieci neuronowe są dość proste.
- Proces SGD jest dobrze rozumiany matematycznie, podobnie jak teoria statystyczna.
- Uniwersalne twierdzenie o aproksymacji jest potężne i udowodnione.
- Niedawno opublikowano ładny artykuł https://arxiv.org/abs/1608.08225, który zasadniczo daje odpowiedź, że uniwersalne przybliżenie to znacznie więcej niż w rzeczywistości potrzebujemy, ponieważ możemy poczynić silne uproszczenia założenia dotyczące funkcji, które próbujemy modelować za pomocą sieć neuronowa.
We wspomnianym artykule stwierdzają (parafrazują) „Algorytmy GOFAI są w pełni rozumiane analitycznie, ale wiele algorytmów ANN jest rozumianych tylko heurystycznie”. Twierdzenia o konwergencji dla zaimplementowanych algorytmów są przykładem analitycznego zrozumienia, że wydaje się, że mamy do czynienia z sieciami neuronowymi, więc stwierdzenie na tym poziomie ogólności nie mówi mi wiele o tym, co znane, a co nieznane, lub co można by uznać za „odpowiedź . ”
Autorzy sugerują we wniosku, że pytania takie jak skuteczne ograniczenia wielkości sieci neuronowej potrzebne do przybliżenia danego wielomianu są otwarte i interesujące. Jakie są inne przykłady matematycznych pytań analitycznych, na które należy odpowiedzieć, aby powiedzieć, że „rozumiemy” sieci neuronowe? Czy są pytania, na które można odpowiedzieć w bardziej czystym języku matematycznym?
(W szczególności myślę o metodach teorii reprezentacji ze względu na zastosowanie fizyki w tym artykule --- i, samolubnie, ponieważ jest to moja dziedzina badań. Mogę jednak również wyobrazić sobie obszary takie jak kombinatoryka / teoria grafów, geometria algebraiczna oraz topologia zapewniająca realne narzędzia).
źródło
Odpowiedzi:
W uczeniu maszynowym istnieje wiele twierdzeń o „braku darmowego lunchu”, z grubsza stwierdzających, że nie może być jednego głównego algorytmu uczenia się, który działałby tak samo lepiej niż wszystkie inne algorytmy (patrz np. Tutaj : http: //www.no-free- lunch.org/ ). Rzeczywiście, głębokie uczenie się może być „zepsute” bez większych trudności: http://www.evolvingai.org/fooling
Stąd, aby być skutecznym, uczeń musi mieć uprzedzenie indukcyjne --- tj. Pewne wcześniejsze założenia dotyczące danych. Przykłady uprzedzeń indukcyjnych obejmują założenia rzadkości danych lub niskiej wymiarowości, lub że rozkład dobrze ładnie rozkłada się, lub ma duży margines, itp. Różne udane algorytmy uczenia się wykorzystują te założenia do udowodnienia gwarancji uogólnienia. Na przykład (liniowy) SVM działa dobrze, gdy dane są dobrze oddzielone w przestrzeni; inaczej - nie tak bardzo.
Myślę, że głównym wyzwaniem związanym z głębokim uczeniem się jest zrozumienie jego indukcyjnego nastawienia. Innymi słowy, ma to udowodnić twierdzenia typu: Jeśli dane treningowe spełniają te założenia, to mogę zagwarantować coś o wydajności uogólniającej. (W przeciwnym razie wszystkie zakłady są wyłączone.)
źródło
Istnieją dwa główne luki w naszym rozumieniu sieci neuronowych: twardość optymalizacji i wydajność generalizacji.
Szkolenie sieci neuronowej wymaga rozwiązania wysoce niewypukłego problemu optymalizacji w dużych wymiarach. Aktualne algorytmy treningowe opierają się na zniżaniu gradientu, co gwarantuje jedynie zbieżność do punktu krytycznego (minimum lokalne lub siodło). W rzeczywistości Anandkumar i Ge 2016 niedawno udowodnili, że znalezienie nawet lokalnego minimum jest trudne NP, co oznacza, że (zakładając P! = NP) istnieją „złe”, trudne do uniknięcia, punkty siodłowe na powierzchni błędu.
Jednak te algorytmy szkoleniowe są empirycznie skuteczne w przypadku wielu praktycznych problemów i nie wiemy, dlaczego.
Pojawiły się prace teoretyczne, takie jak Choromanska i in. 2016 i Kawaguchi 2016które dowodzą, że przy pewnych założeniach lokalne minima są zasadniczo tak dobre jak minima globalne, ale przyjęte przez nich założenia są nieco nierealne i nie odnoszą się do problemu złych punktów siodłowych.
Inną główną luką w naszym rozumieniu jest wydajność uogólniająca: jak dobrze model działa na nowatorskich przykładach, których nie zaobserwowano podczas szkolenia? Łatwo jest wykazać, że na granicy nieskończonej liczby przykładów treningowych (próbkowanych iid z rozkładu stacjonarnego) błąd szkolenia zbiega się z oczekiwanym błędem w nowych przykładach (pod warunkiem, że można trenować do optimum globalnego), ale ponieważ nie mamy nieskończonych przykładów szkolenia, interesuje nas, ile przykładów jest potrzebnych do osiągnięcia danej różnicy między błędem szkolenia a błędem uogólnienia. Statystyczna teoria uczenia się bada te granice uogólnienia.
Empirycznie, szkolenie dużej nowoczesnej sieci neuronowej wymaga dużej liczby przykładów szkolenia (Big Data, jeśli lubisz modne słowa), ale nie tak monumentalnie dużych, aby były praktycznie niewykonalne. Ale jeśli zastosujesz najbardziej znane granice teorii uczenia statystycznego (na przykład Gao i Zhou 2014 ), zwykle uzyskasz te niewyobrażalnie duże liczby. Dlatego granice te są bardzo dalekie od ścisłości, przynajmniej w przypadku problemów praktycznych.
Jednym z powodów może być to, że granice te zwykle nie zakładają bardzo dużo o rozkładzie generowania danych, stąd odzwierciedlają najgorszy przypadek w środowiskach przeciwnych, podczas gdy „naturalne” środowiska wydają się być bardziej „przyswajalne”.
Możliwe jest napisanie granic generalizacji zależnych od dystrybucji, ale nie wiemy, jak formalnie scharakteryzować rozkład w „naturalnych” środowiskach. Podejścia takie jak algorytmiczna teoria informacji są nadal niezadowalające.
Dlatego wciąż nie wiemy, dlaczego sieci neuronowe można trenować bez nadmiernego dopasowania.
Ponadto należy zauważyć, że te dwa główne problemy wydają się być powiązane w wciąż słabo zrozumiałym zakresie: granice uogólnienia wynikające z teorii uczenia statystycznego zakładają, że model jest szkolony do optymalnego poziomu globalnego na zestawie szkoleniowym, ale w praktyce nigdy nie trenowałby sieci neuronowej, dopóki konwergencja nie byłaby możliwa nawet do punktu siodłowego, ponieważ takie postępowanie zwykle powodowałoby nadmierne dopasowanie. Zamiast tego przestajesz trenować, gdy błąd w wyciągniętym zestawie sprawdzania poprawności (który jest proxy dla błędu generalizacji) przestaje się poprawiać. Jest to znane jako „wczesne zatrzymanie”.
W pewnym sensie wszystkie te teoretyczne badania dotyczące ograniczenia błędu uogólnienia globalnego optimum mogą być dość nieistotne: nie tylko nie możemy go skutecznie znaleźć, ale nawet jeśli moglibyśmy, nie chcielibyśmy, ponieważ działałoby gorzej nowe przykłady niż wiele „nieoptymalnych” rozwiązań.
Może się zdarzyć, że twardość optymalizacji nie jest wadą sieci neuronowej, wręcz przeciwnie, może sieci neuronowe mogą w ogóle działać dokładnie dlatego, że są trudne do optymalizacji.
Wszystkie te obserwacje są empiryczne i nie ma dobrej teorii, która by je wyjaśniała. Nie ma też teorii wyjaśniającej, jak ustawić hiperparametry sieci neuronowych (szerokość i głębokość ukrytej warstwy, wskaźniki uczenia się, detale architektoniczne itp.). Praktycy wykorzystują swoją intuicję dopracowaną doświadczeniem oraz wieloma próbami i błędami, aby wymyślić skuteczne wartości, a teoria mogłaby pozwolić nam zaprojektować sieci neuronowe w bardziej systematyczny sposób.
źródło
Kolejne podejście do tego pytania, aby dodać do uwag @ Aryeha: W przypadku wielu innych modeli uczenia się znamy „kształt” przestrzeni hipotez. SVM są najlepszym tego przykładem, ponieważ znajdujesz liniowy separator w (możliwie wysokiej wymiarowej) przestrzeni Hilberta.
W przypadku sieci neuronowych ogólnie nie mamy takiego jasnego opisu ani nawet przybliżenia. Taki opis jest dla nas ważny, aby zrozumieć, co dokładnie sieć neuronowa znajduje w danych.
źródło
Zasada wąskiego gardła informacyjnego została zaproponowana w celu wyjaśnienia sukcesu sieci głębokich nueral.
Oto cytat z magazynu Quanta
Bibliografia:
1- Głębokie uczenie się i zasada wąskiego gardła informacyjnego , Naftali Tishby i Noga Zaslavsky
2- Otwieranie czarnej skrzynki głębokich sieci neuronowych za pośrednictwem informacji , Ravida Shwartza-Ziva i Naftali Tishby
3- Wideo z konferencji: Teoria informacji o głębokim uczeniu się autorstwa Naftali Tishby
źródło
Powiedziałbym, że wciąż musimy odkryć skuteczny algorytm do uczenia głębokich sieci neuronowych. Tak, SGD działa dobrze w praktyce, ale znalezienie lepszego algorytmu, który ma gwarancje konwergencji do globalnego minimum, byłoby bardzo przyjemne.
źródło