Dlaczego regularyzacja nie rozwiązuje problemu głodu w sieciach neuronowych?

37

Problem, który często pojawiałem się w kontekście sieci neuronowych, w szczególności sieci neuronowych, polega na tym, że są „głodne danych” - to znaczy, że nie działają one dobrze, chyba że mamy duży zestaw danych z którymi trenować sieć.

Rozumiem, że wynika to z faktu, że sieci sieciowe, zwłaszcza sieci głębokie, mają dużą liczbę stopni swobody. Tak więc jako model, sieć wirtualna ma bardzo dużą liczbę parametrów, a jeśli liczba parametrów modelu jest duża w stosunku do liczby punktów danych treningowych, występuje zwiększona tendencja do nadmiernego dopasowania.

Ale dlaczego ten problem nie został rozwiązany przez regularyzację? O ile mi wiadomo, sieci NNet mogą wykorzystywać regularyzację L1 i L2, a także mają własne metody regulowania, takie jak porzucanie, które mogą zmniejszyć liczbę parametrów w sieci.

Czy możemy wybrać nasze metody regularyzacji, aby wymuszały oszczędność i ograniczały rozmiar sieci?


Aby wyjaśnić moje myślenie: powiedzmy, że do modelowania naszych danych używamy dużej sieci Deep NNet, ale zestaw danych jest niewielki i można go modelować za pomocą modelu liniowego. Dlaczego więc wagi sieci nie zbiegają się w taki sposób, że jeden neuron symuluje regresję liniową, a wszystkie pozostałe zbiegają się w zera? Dlaczego regularyzacja nie pomaga w tym?

Przywróć Monikę
źródło
7
„To dlaczego wagi sieci nie zbiegają się w taki sposób, że jeden neuron symuluje regresję liniową, a wszystkie pozostałe zbiegają się w zera? Dlaczego regularyzacja nie pomaga w tym?” Myślę, że byłby to naprawdę interesujący artykuł: zbuduj tę sieć i problem, a następnie oceń, co się stanie.
Sycorax mówi Reinstate Monica
Cóż, masz problem zmniejszenia gradientów później w głębszych warstwach sieci, nawet podczas normalizacji. Dlatego ludzie używają normalizacji partii, aby skutecznie robić to, co opisujesz. Inne podejścia już to uwzględniają (jak LSTM) i istnieją rzeczy, które mogą pomóc w radzeniu sobie z głodem, takie jak porzucenie.
Benjamin Gruenbaum,
Dyskusja na Reddit: reddit.com/r/MachineLearning/comments/8izegs/…
Benjamin Crouzier
ponieważ @cliffab odpowiada poniżej, regularyzacja nie jest tym, czego potrzebujesz, aby poprawić wydajność. krótko mówiąc, kilka obróconych obrazów kotów to nie to samo, co obraz jednego kota z regularyzacją.
seanv507
1
Wcale mnie to nie dziwi. Z rodzajem szeregów czasowych, z którymi mam do czynienia w pracy, wciąż znajduję metodę, która przewyższa stare metody szeregów czasowych skool, ale wciąż próbuję :)
Aksakal

Odpowiedzi:

43

Prostym sposobem na wyjaśnienie tego jest to, że regularyzacja pomaga nie dopasować się do szumu, nie robi wiele w zakresie określania kształtu sygnału. Jeśli myślisz o głębokim uczeniu się jako o wielkim chwalebnym aproksymatorze funkcji, zdajesz sobie sprawę, że potrzeba dużej ilości danych, aby zdefiniować kształt złożonego sygnału.

Gdyby nie było hałasu, zwiększenie złożoności NN spowodowałoby lepsze przybliżenie. Rozmiar NN nie byłby karą, większy byłby lepszy w każdym przypadku. Rozważ przybliżenie Taylora, więcej funkcji jest zawsze lepszych dla funkcji niepolomomicznej (ignorując problemy z dokładnością liczbową).

Rozkłada się w obecności hałasu, ponieważ zaczynasz dopasowywać się do hałasu. Tak więc przychodzi regularyzacja, która może pomóc: może zmniejszyć dopasowanie do hałasu, co pozwala nam budować większe NN w celu dopasowania do problemów nieliniowych.

Poniższa dyskusja nie jest niezbędna do mojej odpowiedzi, ale dodałem częściowo, aby odpowiedzieć na niektóre komentarze i zmotywować główny fragment powyższej odpowiedzi. Zasadniczo reszta mojej odpowiedzi jest jak francuskie pożary, które pochodzą z burgerowym posiłkiem, możesz to pominąć.

(Ir) dotyczy Przypadek: regresja wielomianowa

grzech(x)x(-3),3))

wprowadź opis zdjęcia tutaj

Następnie dopasujemy wielomiany o stopniowo wyższym porządku do małego, bardzo głośnego zestawu danych z 7 obserwacjami:

wprowadź opis zdjęcia tutaj

Możemy obserwować to, co wiele osób znało na temat wielomianów: są one niestabilne i zaczynają gwałtownie oscylować wraz ze wzrostem kolejności wielomianów.

Problemem nie są jednak same wielomiany. Problemem jest hałas. Kiedy dopasowujemy wielomiany do zaszumionych danych, część dopasowania dotyczy szumu, a nie sygnału. Oto te same dokładne wielomiany pasujące do tego samego zestawu danych, ale z całkowicie usuniętym szumem. Pasowania są świetne!

grzech(x)

wprowadź opis zdjęcia tutaj

Zauważ też, że wielomiany wyższego rzędu nie pasują tak dobrze jak kolejność 6, ponieważ nie ma wystarczającej liczby obserwacji, aby je zdefiniować. Spójrzmy więc na to, co stanie się ze 100 obserwacjami. Na poniższym wykresie widać, jak większy zestaw danych pozwolił nam dopasować wielomiany wyższego rzędu, osiągając w ten sposób lepsze dopasowanie!

wprowadź opis zdjęcia tutaj

Świetnie, ale problem polega na tym, że zwykle mamy do czynienia z hałaśliwymi danymi. Zobacz, co się stanie, jeśli dopasujesz to samo do 100 obserwacji bardzo hałaśliwych danych, patrz tabela poniżej. Wracamy do punktu wyjścia: wielomiany wyższego rzędu wytwarzają okropne drgania oscylacyjne. Tak więc zwiększenie zestawu danych nie pomogło tak bardzo w zwiększeniu złożoności modelu, aby lepiej wyjaśnić dane. Dzieje się tak, ponieważ złożony model lepiej pasuje nie tylko do kształtu sygnału, ale także do kształtu szumu.

wprowadź opis zdjęcia tutaj

Na koniec spróbujmy trochę kiepskiej regulacji tego problemu. Poniższy wykres pokazuje regularyzację (z różnymi karami) zastosowaną do zamówienia 9 regresji wielomianowej. Porównaj to z powyższym dopasowaniem wielomianu rzędu (mocy) 9: przy odpowiednim poziomie regularyzacji możliwe jest dopasowanie wielomianów wyższego rzędu do zaszumionych danych.

wprowadź opis zdjęcia tutaj

Na wszelki wypadek nie było jasne: nie sugeruję używania w ten sposób regresji wielomianowej. Wielomiany nadają się do lokalnych dopasowań, więc wielomian częściowy może być dobrym wyborem. Dopasowywanie do nich całej domeny jest często złym pomysłem, ponieważ są wrażliwe na hałas, tak jak powinno to wynikać z powyższych wykresów. To, czy szum jest liczbowy czy z jakiegoś innego źródła, nie jest tak ważne w tym kontekście. hałas jest hałasem, a wielomiany zareagują na to z pasją.

Aksakal
źródło
8
A kiedy twój zestaw danych jest mały, bardzo trudno jest odróżnić hałas od szumu.
Alex R.
3
w rzeczywistości regularyzacja pozwala na posiadanie większego NN bez nadmiernego dopasowania
Aksakal
6
@Alex - dlaczego miałby mieć domyślnie prostszy model? Istnieje niewyjaśniona zmienność, którą wciąż można dopasować, zwiększając złożoność! I ... celem jest jak największe ograniczenie niewyjaśnionej zmienności ... gdyby tak nie było, NN domyślnie zastosowałby najprostszy możliwy model, a mianowicie „0”. Ale, jak napisał Aksakal, ponieważ NN coraz bardziej zmniejsza tę niewyjaśnioną zmienność danych, pasuje również do niewyjaśnionej zmienności, tj. Nadmiernego dopasowania - stąd potrzeba regularyzacji.
jbowman
2
Kolejna sprawa: załóżmy, że proces, który modelujesz, jest hałaśliwy, na przykład zachowanie podczas głosowania przez człowieka lub pewne wyniki zdrowotne, które są zasadniczo trudne do przewidzenia. Powiedz też, że twoje dane są pełne wszelkiego rodzaju błędów pomiaru, a może nawet pewnych odchyleń w selekcji. W środowisku o wysokim poziomie szumów i sygnałów wolałbym nie tylko prostszy model z regularyzacją. Może nawet wolę mniej danych, aby nie skończyć bardzo precyzyjnie mierząc hałas pomimo całego wysiłku regularyzacji.
Brash Equilibrium,
2
@BrashEquilibrium - doskonały punkt. Robimy pewne prognozowanie na dużą skalę przy użyciu maszyn zwiększających gradient w pobliżu 150 funkcji, z których wiele ma wysoki poziom hałasu (ale nadal poprawia jakość prognozy), i odkryliśmy, że przekazanie GBM 20% danych do trenowania daje lepsze prognozy niż 50% lub więcej, nawet przy zastosowaniu wszystkich innych mechanizmów regularyzacji.
jbowman
7

W tej chwili nie jest do końca zrozumiałe, kiedy i dlaczego niektóre metody regularyzacji odnoszą sukcesy i porażki. W rzeczywistości nie jest w ogóle zrozumiałe, dlaczego głębokie uczenie się działa przede wszystkim.

Biorąc pod uwagę fakt, że wystarczająco głęboka sieć neuronowa może doskonale zapamiętać większość dobrze wychowanych danych treningowych, istnieje znacznie więcej niewłaściwych rozwiązań niż w przypadku konkretnej głębokiej sieci. Mówiąc ogólnie, regularyzacja jest próbą ograniczenia ekspresji modeli dla tych „złych” rozwiązań - gdzie „zło” jest zdefiniowane przez heurystykę, które naszym zdaniem są ważne dla konkretnej dziedziny . Ale często trudno jest zdefiniować heurystykę w taki sposób, aby nie stracić z nią „właściwej” ekspresji. Świetnym tego przykładem są kary L2.

Bardzo niewiele metod, które można by uznać za formę regularyzacji, ma ogólne zastosowanie do wszystkich obszarów zastosowania ML. Problemy z wizją, NLP i prognozami strukturalnymi mają swoją własną książkę kucharską na temat technik regularyzacji, które okazały się skuteczne eksperymentalnie w tych konkretnych domenach. Ale nawet w tych domenach techniki te są skuteczne tylko w określonych okolicznościach. Na przykład wydaje się, że normalizacja partii w głębokich sieciach rezydualnych powoduje, że porzucanie jest zbędne, mimo że wykazano, że obie niezależnie poprawiają uogólnienie.

W odrębnej nucie myślę, że termin regularyzacja jest tak szeroki, że utrudnia zrozumienie czegokolwiek na ten temat. Biorąc pod uwagę fakt, że zwoje ograniczają przestrzeń parametrów wykładniczo w odniesieniu do pikseli, można rozważyć splotową sieć neuronową jako formę regularyzacji w waniliowej sieci neuronowej.

Austin Shin
źródło
Nie jestem pewien, czy zgadzam się z twoim pierwszym akapitem.
Ander Biguri
3
Trudno o tym mówić w 500 postaciach, ale najlepsi badacze na świecie twierdzą, że sukces SGD nie jest dobrze zrozumiany. Weźmy na przykład Ilyę S. z OpenAI: youtube.com/watch?v=RvEwFvl-TrY&feature=youtu.be&t=339
Austin Shin
Całkowicie się zgadzam - prawdopodobnie powód, dla którego łatwiej jest rozumować za pomocą przybliżeń wielomianowych niż rzeczywistych sieci ...
P-Gn
3

Jedną klasą twierdzeń, które pokazują, dlaczego ten problem jest fundamentalny, są twierdzenia o braku darmowego lunchu . Dla każdego problemu z ograniczonymi próbkami, w którym pomaga pewna regularyzacja, istnieje inny problem, w którym ta sama regularyzacja pogorszy sytuację. Jak zauważa Austin, ogólnie uważamy, że regularyzacja L1 / L2 jest pomocna w przypadku wielu problemów w świecie rzeczywistym, ale jest to jedynie obserwacja, a ze względu na twierdzenia NFL nie ma ogólnych gwarancji.

Greg Ver Steeg
źródło
3

Powiedziałbym, że na wysokim poziomie indukcyjne napięcie DNN (głębokie sieci neuronowe) jest silne, ale nieco zbyt luźne lub niewystarczająco wyrażone. Rozumiem przez to, że DNN przechwytują wiele statystyk powierzchni na temat tego, co się dzieje, ale nie docierają do głębszej struktury przyczynowej / kompozycyjnej wysokiego poziomu. (Można postrzegać zwoje jako specyfikację indukcyjnego nastawienia biedaka).

Ponadto uważa się, że społeczność ucząca się maszynowo uważa, że ​​najlepszym sposobem na uogólnienie (robienie dobrych wniosków / prognoz z małymi danymi) jest znalezienie najkrótszego programu, który dał początek danym. Ale indukcja / synteza programu jest trudna i nie mamy dobrego sposobu, aby zrobić to skutecznie. Zamiast tego polegamy na ścisłym przybliżeniu, jakim jest wyszukiwanie obwodów, i wiemy, jak to zrobić za pomocą propagacji wstecznej. Tutaj Ilya Sutskever przedstawia przegląd tego pomysłu.


Aby zilustrować różnicę w mocy uogólniającej modeli reprezentowanych jako rzeczywiste programy w porównaniu z modelami do głębokiego uczenia się, pokażę ten w tym artykule: Symulacja jako silnik zrozumienia sceny fizycznej .

wprowadź opis zdjęcia tutaj

(A) Model IPE [intuicyjny silnik fizyki] pobiera dane wejściowe (np. Percepcję, język, pamięć, zdjęcia itp.), Które tworzą instancję rozkładu między scenami (1), a następnie symulują wpływ fizyki na dystrybucję (2), a następnie agreguje wyniki w celu uzyskania wyników dla innych funkcji sensomotorycznych i poznawczych (3)

wprowadź opis zdjęcia tutaj

(B) Exp. 1 (Czy spadnie?) Bodźce wieżowe. Wieża z czerwoną ramką jest właściwie delikatnie wyważona, a pozostałe dwie mają tę samą wysokość, ale niebieska graniczy jest oceniana znacznie rzadziej przez model i ludzi.

(C) Probabilistyczny model IPE (oś x) vs. średnie oceny osądu ludzkiego (oś y) w Exp. 1. Patrz rys. S3, aby uzyskać korelacje dla innych wartości σ i ϕ. Każdy punkt reprezentuje jedną wieżę (z SEM), a trzy kolorowe koła odpowiadają trzem wieżom w B.

(D) Podstawowa prawda (nieprobabilistyczna) a ludzkie osądy (Exp. 1). Ponieważ nie reprezentuje niepewności, nie jest w stanie uchwycić ludzkich osądów dotyczących wielu naszych bodźców, takich jak wieża z czerwoną obwódką w B. (Należy zauważyć, że przypadki te mogą być rzadkie w scenach naturalnych, w których konfiguracje wydają się być bardziej stabilne lub niestabilny i można oczekiwać, że IPE lepiej koreluje z prawdą podstawową niż z naszymi bodźcami).

Chodzi mi o to, że dopasowanie w C jest naprawdę dobre, ponieważ model zawiera właściwe uprzedzenia na temat tego, jak ludzie dokonują fizycznych osądów. Wynika to w dużej mierze z tego, że modeluje on rzeczywistą fizykę (pamiętaj, że to prawdziwy silnik fizyki) i może poradzić sobie z niepewnością.

Teraz oczywiste pytanie brzmi: czy możesz to zrobić dzięki głębokiej nauce? Oto, co Lerer i in. Zrobili w tej pracy: Uczenie się fizycznej intuicji wież blokowych przez przykład

Ich model: wprowadź opis zdjęcia tutaj

Ich model jest całkiem dobry w wykonywanym zadaniu (przewidywanie liczby spadających bloków, a nawet ich kierunku opadania)

wprowadź opis zdjęcia tutaj

Ale ma dwie główne wady:

  • Potrzebuje ogromnej ilości danych, aby prawidłowo trenować
  • Uogólniając tylko w płytki sposób: możesz przenieść na bardziej realistycznie wyglądające obrazy, dodać lub usunąć 1 lub 2 bloki. Ale cokolwiek poza tym, a wydajność spada katastrofalnie: dodaj 3 lub 4 bloki, zmień zadanie przewidywania ...

Laboratorium Tenenbauma przeprowadziło badanie porównawcze dotyczące tych dwóch podejść: Porównawcza ocena przybliżonej symulacji probabilistycznej i głębokich sieci neuronowych jako relacji ze zrozumienia ludzkiej sceny fizycznej .

Cytując sekcję dyskusji:

Wydajność CNN spada, ponieważ jest mniej danych treningowych. Chociaż AlexNet (nieprzeszkolony) lepiej radzi sobie z 200 000 obrazów treningowych, cierpi także bardziej z powodu braku danych, podczas gdy wstępnie przeszkolony AlexNet jest w stanie lepiej uczyć się z niewielkiej ilości obrazów treningowych. Do naszego zadania oba modele wymagają około 1000 obrazów, aby ich wydajność była porównywalna z modelem IPE i ludźmi.

Sieci CNN mają również ograniczoną możliwość generalizacji nawet w przypadku niewielkich wariantów scen, takich jak zmiana liczby bloków. Natomiast modele IPE w naturalny sposób uogólniają i wychwytują sposoby zmniejszania dokładności ludzkiej oceny wraz z liczbą bloków w stosie.

Podsumowując, wyniki te wskazują na coś fundamentalnego w ludzkim poznaniu, którego sieci neuronowe (a przynajmniej CNN) obecnie nie wychwytują: istnienie modelu mentalnego procesów przyczynowych na świecie. Przyczynowe modele mentalne można symulować, aby przewidzieć, co wydarzy się w jakościowo nowatorskich sytuacjach, i nie wymagają obszernych i różnorodnych danych treningowych do szerokiego uogólnienia, ale z natury podlegają pewnym rodzajom błędów (np. Rozprzestrzenianie się niepewności z powodu stanu i hałas dynamiki) tylko dzięki symulacji.

Wracając do rzeczy, którą chcę zrobić: chociaż sieci neuronowe są potężnymi modelami, wydaje się, że brakuje im zdolności do reprezentowania struktury przyczynowej, kompozycyjnej i złożonej. I nadrabiają to wymagając dużej ilości danych treningowych.

I wracając do pytania: zaryzykowałbym stwierdzenie, że szerokie obciążenie indukcyjne i fakt, że sieci neuronowe nie modelują przyczynowości / kompozycyjności, powodują, że potrzebują one tak wielu danych treningowych. Regularyzacja nie jest świetnym rozwiązaniem ze względu na sposób ich generalizacji. Lepszym rozwiązaniem byłaby zmiana ich uprzedzeń, jak obecnie Hinton wypróbowuje z kapsułkami do modelowania geometrii całej / części lub sieciami interakcji do modelowania relacji.

Benjamin Crouzier
źródło
2

Przede wszystkim istnieje wiele metod regularyzacji zarówno w użyciu, jak i w aktywnych badaniach dogłębnej nauki. Więc twoje założenie nie jest do końca pewne.

Jeśli chodzi o stosowane metody, zanik masy jest bezpośrednim zastosowaniem kary L2 na odważnikach poprzez opadanie gradientu. Weź gradient kwadratowej normy swoich ciężarów i dodaj do nich mały krok w tym kierunku przy każdej iteracji. Rezygnacja jest również uważana za formę regularyzacji, która nakłada rodzaj uśrednionej struktury. Wydaje się to sugerować coś w rodzaju kary L2 za zespół sieci o wspólnych parametrach.

Prawdopodobnie możesz podnieść poziom tych lub innych technik, aby zająć się małymi próbkami. Należy jednak pamiętać, że regularyzacja oznacza narzucenie wcześniejszej wiedzy. Kara L2 na odważnikach implikuje na przykład Gaussa przed ważeniem. Zwiększenie ilości regularyzacji zasadniczo oznacza, że ​​twoja wcześniejsza wiedza jest coraz bardziej pewna i wpływa na twój wynik w stosunku do tej wcześniejszej. Możesz to zrobić, a to będzie mniej pasować, ale stronnicza moc może być do kitu. Oczywiście rozwiązaniem jest lepsza wcześniejsza wiedza. W przypadku rozpoznawania obrazów oznaczałoby to znacznie bardziej uporządkowane priory w zakresie statystyki twojego problemu. Problem z tym kierunkiem polega na tym, że narzucasz wiele specjalistycznej wiedzy w dziedzinie, a unikanie konieczności narzucania ludzkiej wiedzy było jednym z powodów, dla których wykorzystałeś głębokie uczenie się.

Prosty algorytm
źródło
+1 za wzmiankę o uprzedzeniu. Dlaczego nie wyjaśnić tego wszystkiego w kategoriach stronniczości i wariancji? „Przeregulowanie” nie ma precyzyjnej definicji matematycznej i implikuje nieistniejącą dychotomię („przeregulowanie” / „niezakończenie”).
Josh
2

Aby wyjaśnić moje myślenie: powiedzmy, że do modelowania naszych danych używamy dużej sieci Deep NNet, ale zestaw danych jest niewielki i można go modelować za pomocą modelu liniowego. Dlaczego więc wagi sieci nie zbiegają się w taki sposób, że jeden neuron symuluje regresję liniową, a wszystkie pozostałe zbiegają się w zera? Dlaczego regularyzacja nie pomaga w tym?

Sieci neuronowe można trenować w ten sposób. Jeśli zastosowana zostanie odpowiednia regularyzacja L1, wówczas znaczną część ciężarów można wyzerować, co spowoduje, że sieci neuronowe będą zachowywać się jak konkatenacja 1 lub mniej neuronów regresji liniowej i wielu innych neuronów zerowych. Tak więc - regularyzacje L1 / L2 lub podobne mogą być wykorzystane do ograniczenia wielkości lub mocy reprezentacyjnej sieci neuronowej.

W rzeczywistości rozmiar samego modelu jest rodzajem regularyzacji - jeśli zrobisz duży model, oznacza to, że wstrzykujesz wcześniejszą wiedzę na temat problemu, to znaczy, że problemy są bardzo złożone, więc wymaga modelu o dużej mocy reprezentacyjnej. Jeśli uczynisz model małym, oznacza to, że wstrzykujesz wiedzę, że problem jest prosty, więc model nie potrzebuje dużej pojemności.

A to oznacza, że ​​regularyzacja L2 nie sprawi, że sieci będą „rzadkie”, jak opisano, ponieważ regularyzacja L2 wstrzykuje wcześniejszą wiedzę, że wkład każdego neuronu (masy) powinien być niewielki, ale niezerowy. Tak więc sieć używałaby każdego z neuronów, a nie tylko małego zestawu neuronów.

różność
źródło
1

L.2)L.1

Kluczową kwestią jest to, że regularyzacja nie zawsze jest pomocna. Raczej regularyzacja w kierunku tego, co prawdopodobnie powinno być prawdą, jest bardzo pomocna, ale regularyzacja w złym kierunku jest wyraźnie zła.

L.2)

Ale teraz załóżmy, że nasze dane to obrazy kotów karmionych w głębokie sieci neuronowe. Jeśli „spiczaste uszy” są w rzeczywistości bardzo pomocne w identyfikacji kotów, być może chcielibyśmy zmniejszyć karę, aby nadać tej zdolności przewidywania. Ale nie mamy pojęcia, gdzie w sieci będzie to reprezentowane! Wciąż możemy wprowadzić kary, aby jakaś niewielka część systemu nie zdominowała całej sieci, ale poza tym trudno jest wprowadzić regularyzację w znaczący sposób.

Podsumowując, niezwykle trudno jest wprowadzić wcześniejsze informacje do systemu, którego nie rozumiemy.

Cliff AB
źródło