W książce Bishopa „Klasyfikacja wzorców i uczenie maszynowe” opisuje technikę regularyzacji w kontekście sieci neuronowych. Nie rozumiem jednak akapitu opisującego, że podczas procesu szkolenia liczba stopni swobody rośnie wraz ze złożonością modelu. Odpowiedni cytat jest następujący:
Alternatywą dla regularyzacji jako sposobu kontrolowania efektywnej złożoności sieci jest procedura wczesnego zatrzymania. Szkolenie nieliniowych modeli sieciowych odpowiada iteracyjnej redukcji funkcji błędu zdefiniowanej w odniesieniu do zestawu danych treningowych. W przypadku wielu algorytmów optymalizacyjnych wykorzystywanych do uczenia sieci, takich jak gradienty sprzężone, błąd jest nie rosnącą funkcją wskaźnika iteracji. Jednak błąd zmierzony w odniesieniu do niezależnych danych, zwany ogólnie zestawem walidacyjnym, często początkowo wykazuje spadek, a następnie wzrost, gdy sieć zaczyna się nadmiernie dopasowywać. Szkolenie można zatem zatrzymać w punkcie najmniejszego błędu w odniesieniu do zestawu danych walidacyjnych, jak pokazano na rysunku 5.12, w celu uzyskania sieci o dobrej wydajności uogólniającej.Zachowanie sieci w tym przypadku czasami tłumaczy się jakościowo w kategoriach efektywnej liczby stopni swobody w sieci, w której liczba ta zaczyna się od małej, a następnie rośnie podczas procesu szkolenia, co odpowiada stałemu wzrostowi efektywnej złożoność modelu.
Mówi także, że liczba parametrów rośnie w trakcie treningu. Zakładałem, że przez „parametry” odnosi się do liczby wag kontrolowanych przez ukryte jednostki sieci. Może się mylę, ponieważ zapobiega się wzrostowi wag przez proces regularyzacji, ale nie zmienia się ich liczba. Czy może odnosić się do procesu znajdowania dużej liczby ukrytych jednostek?
Jaki jest stopień swobody w sieci neuronowej? Jakie parametry zwiększają się podczas treningu?
Odpowiedzi:
Podejrzewam, że właśnie to ma na myśli Bishop:
Jeśli myślisz o sieci neuronowej jako funkcji odwzorowującej dane wejściowe na dane wyjściowe, to kiedy po raz pierwszy zainicjujesz sieć neuronową z małymi losowymi wagami, sieć neuronowa wygląda bardzo podobnie do funkcji liniowej. Funkcja aktywacji sigmoidalnej jest zbliżona do liniowej wokół zera (po prostu wykonaj ekspansję Taylora), a małe przychodzące ciężary zagwarantują, że efektywna domena każdej ukrytej jednostki jest tylko niewielkim odstępem wokół zera, więc cała sieć neuronowa, niezależnie od tego, ile warstwy, które masz, będą wyglądać bardzo podobnie do funkcji liniowej. Możesz więc heurystycznie opisać sieć neuronową jako posiadającą niewielką liczbę stopni swobody (równą wymiarowi wejścia). Gdy trenujesz sieć neuronową, ciężary mogą stać się dowolnie duże, a sieć neuronowa może lepiej przybliżać dowolne funkcje nieliniowe. W miarę postępu treningu
źródło
Wyrażenie „czasami wyjaśniane jakościowo” sugeruje, że czyni on jedynie analogię do prostej regresji liniowej. Za każdym razem, gdy dodajemy termin do modelu regresji liniowej, dodajemy stopień swobody do modelu i odejmujemy stopień swobody od tych związanych z terminem błędu. Jeśli umieścimy w modelu wystarczającą liczbę niezależnych terminów, możemy doskonale „przewidzieć” historię na podstawie zbioru liczb losowych, ale nie będziemy w stanie przewidzieć przyszłości.
źródło
Myślę, że coś podobnego zostało dostarczone przez HTF Sec. 7.6 , chociaż zaskakująco nie odnoszą się do Ye (1998). Jednak odnoszą się do Bishopa jako szczególnego przypadku.
źródło
Mówi „skuteczna złożoność sieci”. W rzeczywistości odnosi się do wielkości wag sieci. Można to zrozumieć w kategoriach zasady minimalnej długości opisu . Ale zanim przejdę do tego, intuicja jest taka, że im większe wagi, tym więcej różnych funkcji może pomieścić twoja sieć, a tym samym wyższy stopień swobody (i efektywnej złożoności).
W tym rozdziale mówi o regularyzacji, która jest techniką skutecznego zmniejszania ryzyka nadmiernego dopasowania, poprzez wymaganie, aby ciężary były jak najmniejsze. Ogólnie,
Mówiąc bardziej ogólnie, szacunek MAP jest równoważny z następującymi,
Prawa strona wyrażenia może być interpretowana jako liczba bitów potrzebna do opisania twojego klasyfikatora. Pierwszy termin reprezentuje liczbę bitów potrzebną do zakodowania błędów twojej sieci w danych treningowych. Drugi oznacza liczbę bitów potrzebną do zakodowania wag.
Oszacowanie MAP jest zatem równoważne wybraniu najbardziej zwartej reprezentacji. Innymi słowy, szukasz zestawu wag, które uwzględniają dane treningu tak wiernie, jak to możliwe, które mogą być wyrażone przy użyciu najmniejszej liczby bitów.
Zauważ, że jest to kolejna forma problemu błędu / wariancji: im większe wagi, tym niższy pierwszy termin, ponieważ sieć może lepiej dopasować dane treningowe (przeregulowanie). Ale jednocześnie wyższa złożoność wag. Im mniejsze wagi, tym mniejsza złożoność sieci, ale im wyższy jest błąd (błąd). Im większa liczba bitów konieczna do zakodowania błędów w sieci.
Mam nadzieję, że daje to wystarczająco dobre wyobrażenie o tym, o czym on mówi.
PS dodając dłuższy argument do toczącej się dyskusji Być może źle cię zrozumiałem. Pozwól, że postaram się wyjaśnić po raz ostatni.
Uprzednio odważniki oznaczają założenia, które przyjmujemy na temat funkcji, którą chcesz dopasować. Im większy wcześniejszy (tj. Wagi), tym szerszy Gaussa, tzn. Im więcej możliwych konfiguracji, które uważa się za pasujące do sieci.
Rozważmy przypadek regresji (jak w artykule, o którym wspomniałem). Niski błąd generalizacji oznacza, że sieć jest w stanie odwzorować niewidzialne próbki bardzo blisko rzeczywistych wartości. Jeśli dopasowujesz linię prostą, wystarczy wielomian pierwszego rzędu (mała złożoność). Teraz możesz również dopasować dane do wielomianu wyższego rzędu (niech współczynniki wyższego rzędu będą różne od zera). Złożoność sieci jest większa, ponieważ pozwalasz na oscylacje, dla bardziej złożonej krzywej. Niemniej jednak, jeśli współczynniki odpowiadające warunkom wyższego rzędu są wystarczająco niskie, sieć może bardzo dobrze przybliżyć linię prostą, co skutkuje dobrym uogólnieniem.
Tak więc sednem MDL jest zmniejszenie twoich wag tak długo, jak to możliwe, o ile błąd uogólnienia może zostać zminimalizowany.
Na koniec, cytuję: „Wciąż kłopotliwy jest argument, że w miarę jak model zaczyna się dopasowywać, jego możliwości modelowania innych funkcji wzrosną. Myślę, że jest zupełnie odwrotnie, ponieważ model, który się przewyższa, nie może zostać uogólniony, aby zastosować go do nowego Informacja.". Tak, może modelować INNE, bardziej złożone funkcje, ale nie będzie w stanie poprawnie modelować dostępnej funkcji. Na rycinie 5.12 w książce błąd najpierw maleje wraz ze wzrostem masy (redukcja odchylenia). Do pewnego momentu, gdy zacznie ponownie rosnąć (zmniejszenie uogólnienia, przeregulowanie).
źródło