Czy można (teoretycznie) trenować sieć neuronową z mniejszą liczbą próbek treningowych niż wag?


12

Przede wszystkim: wiem, że do wyszkolenia sieci neuronowej nie jest wymagana ogólna liczba próbek. Zależy to od zbyt wielu czynników, takich jak złożoność zadania, szum danych i tak dalej. Im więcej próbek treningowych mam, tym lepsza będzie moja sieć.

Zastanawiałem się jednak: czy teoretycznie jest możliwe trenowanie sieci neuronowej z mniejszą liczbą próbek treningowych niż wag, jeśli założę, że moje zadanie jest „wystarczająco proste”? Czy ktoś zna przykład, w którym to zadziałało? A może ta sieć prawie na pewno będzie słaba?

Jeśli rozważę na przykład regresję wielomianową, nie mogę dopasować wielomianu stopnia 4 (tj. Z 5 dowolnymi parametrami) tylko do 4 punktów danych. Czy istnieje podobna zasada dla sieci neuronowych, biorąc pod uwagę moją liczbę wag jako liczbę wolnych parametrów?


Tak: jeśli wagi są inicjowane losowo, teoretycznie możliwe jest uzyskanie doskonale wyszkolonej sieci neuronowej nawet przy zerowych próbkach treningowych. (Publikowanie jako komentarz, a nie odpowiedź, ponieważ wiem, że tak naprawdę nie o to pytasz.)
Darren Cook

Odpowiedzi:


17

Ludzie robią to cały czas w dużych sieciach. Na przykład słynna sieć AlexNet ma około 60 milionów parametrów, podczas gdy ImageNet ILSVRC, na którym została pierwotnie przeszkolona, ​​ma tylko 1,2 miliona obrazów.

Powodem, dla którego nie dopasowujesz 5-parametrowego wielomianu do 4 punktów danych, jest to, że zawsze może znaleźć funkcję, która dokładnie pasuje do twoich punktów danych, ale robi nonsensowne rzeczy gdzie indziej. Cóż, jak zauważono ostatnio , AlexNet i podobne sieci mogą dopasować dowolne losowe etykiety zastosowane do ImageNet i po prostu zapamiętać je wszystkie, prawdopodobnie dlatego, że mają o wiele więcej parametrów niż punkty treningowe. Ale coś o priorytetach sieci w połączeniu z procesem optymalizacji stochastycznego spadku gradientu oznacza, że ​​w praktyce modele te mogą nadal uogólniać się na nowe punkty danych, jeśli nadasz im prawdziwe etykiety. Nadal nie rozumiemy, dlaczego tak się dzieje.


2
+1. Dodam, że dla porównania z regresją wielomianową uważam również, że próbki są wysoce wymiarowe. Średnia rozdzielczość obrazu w ImageNet wynosi około 469 x 387 pikseli, jeśli przycięty do 256 x 256, mamy 1,2 miliona 65k parametrów wejściowych, które są silnie skorelowane w każdej próbce, zapewniając w ten sposób znacznie więcej informacji do sieci neuronowej (a zwłaszcza splotowej NN) niż w przypadku regresji wielomianowej.
jjmontes,

3
@jjmontes to prawda, ale główną tajemnicą jest to, że sieci te potrafią zarówno zapamiętywać, jak i generalizować (dobrze). Innymi słowy, mogą zniszczyć dane treningowe losowymi etykietami i nadal dobrze uogólniać. To nie jest coś, co można zobaczyć w tradycyjnych metodach ML.
Amelio Vazquez-Reina

6

Nieokreślone systemy są niedookreślone tylko wtedy, gdy nie zostaną nałożone żadne inne ograniczenia niż dane. Trzymając się twojego przykładu, dopasowanie 4-stopniowego wielomianu do 4 punktów danych oznacza, że ​​masz jeden stopień swobody nie ograniczony przez dane, co pozostawia ci linię (w przestrzeni współczynników) równie dobrych rozwiązań. Można jednak użyć różnych technik regularyzacji, aby problem można było rozwiązać. Na przykład, nakładając karę na normę L2 (tj. Sumę kwadratów) współczynników, gwarantujesz, że zawsze istnieje jedno unikalne rozwiązanie o najwyższej sprawności.

Istnieją również techniki regularyzacji dla sieci neuronowych, więc krótka odpowiedź na twoje pytanie brzmi „tak, możesz”. Szczególnie interesująca jest technika zwana „rezygnacją”, w której przy każdej aktualizacji wag losowo „upuszczasz” określony podzbiór węzłów z sieci. Oznacza to, że dla tej konkretnej iteracji algorytmu uczenia się udajesz, że te węzły nie istnieją. Bez rezygnacji sieć może nauczyć się bardzo złożonych reprezentacji danych wejściowych, które zależą od tego, czy wszystkie węzły współpracują ze sobą. Takie reprezentacje prawdopodobnie „zapamiętują” dane szkoleniowe, zamiast znajdować ogólne wzorce. Porzucenie zapewnia, że ​​sieć nie może użyć wszystkich węzłów jednocześnie, aby dopasować dane szkolenia; musi być w stanie dobrze reprezentować dane, nawet gdy brakuje niektórych węzłów,

Zauważ również, że podczas korzystania z opuszczania, stopnie swobody w dowolnym punkcie podczas treningu mogą być faktycznie mniejsze niż liczba próbek treningowych, mimo że w sumie uczysz się więcej ciężarów niż próbek treningowych.


2
Może to przeceniać rolę, jaką wyraźna regularyzacja odgrywa w głębokich sieciach: ten dokument , o którym wspomniałem w mojej odpowiedzi, pokazuje porzucenie i inne formy regularyzacji, mające jedynie niewielki wpływ na to, ile sieć może zapamiętać. Być może twoja podstawowa historia jest słuszna, ale główną regularyzacją w grze jest domyślna z SGD; to wszystko wciąż jest nieco mętne.
Dougal,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.