Generalizacja i regularyzacja sieci MLP Flashcards
Czym jest generalizacja?
Generalizacja jest celem uczenia, zdolność modelu do
uogólniania reguły, która wytworzyła dane.
W praktyce dążymy do minimalizacji błędu na danych, które
nie zostały użyte w treningu (tzw. zbiór testowy).
Czym jest zbiór walidacyjny
Zbiór walidacyjny to wyodrębniony fragment danych (np. ze
zbioru uczącego) pozwala na ocenę błędu generalizacji w
czasie uczenia. Jest przydatny przy określaniu punktu zatrzymania treningu.
Jak dobrać ilość wag?
- ilość wag określa ilość stopni swobody - nie powinna
przekraczać liczby przypadków uczących (np. n/10) - za dużo wag - model uczy się na pamięć (przeuczenie)
- za mało wag - model zbyt prosty (niedouczony)
Czym jest niedouczenie i przeuczenie?
niedouczenie - błąd treningowy i walidacyjny pozostają duże
przeuczenie - błąd walidacyjny rośnie a błąd treningowy maleje
Co to jest regularyzacja?
Regularyzacja to metody, których celem jest poprawienie
generalizacji
Jakie są metody regularyzacji?
- dobór wielkości modelu (ilości neuronów i wag), preferowane
są najprostsze rozwiązania - małe wartości wag są preferowane
- modyfikacje funkcji kosztu wymuszające odpowiednią
strukturę sieci, np. wymuszające minimalizację wartości wag - wczesne zatrzymanie treningu, zanim błąd walidacyjny
wzrośnie - zwiększenie liczby danych
- przetransformowanie danych do takiej postaci, która zwiększy
- szansę znalezienie optymalnego rozwiązania
- dodanie szumu do wag lub danych treningowych
- selekcja cech - wybór tylko istotnych zmiennych do treningu
- uśrednianie wyników z wielu modeli, np.: boosting, bagging
Za co odpowiada zbiór walidacyjny i testowy?
zbiór walidacyjny pozwala oszacować błąd generalizacji w
trakcie treningu. Wydzielany ze zbioru treningowego, więc
powoduje zmniejszenie liczby próbek uczących.
zbiór testowy używany wyłącznie do ewaluacji nauczonego
modelu
Co to jest walidacja krzyżowa (kroswalidacja)?
Kroswalidacja - metoda pozwalająca na oszacowanie błędu
generalizacji i wariancji modelu poprzez powtarzanie treningu i
ewaluacji na kolejnych podziałach zbioru uczącego
Na czym polega wczesne zatrzymanie?
przerwij trening w momencie, gdy błąd walidacyjny zacznie
rosnąć (np. gdy brak poprawy przez k epok). Często
wystarczy tylko kilka iteracji.
trenuj przez N epok i zapamiętaj model o najmniejszym
błędzie walidacyjnym wyznaczonym po każdej epoce
Minimalizacja ryzyka strukturalnego
Structural risk minimization (SRM) (Vapnik) zasada
równoważenia złożoności modelu względem jego zdolności do
dopasowywania się do danych
błąd generalizacji rośnie wraz z VCdim, podczas gdy błąd treningowy spada
jeśli znamy VCdim klasyfikatora to możemy oszacować ile
próbek uczących jest potrzebnych aby uzyskać satysfakcjonujący błąd generalizacji
im bardziej złożony model tym więcej potrzeba danych
uczących
Regularyzacja L2
Regularyzacja L2 (weight decay) - dąży do zmniejszenia wartości wag. Zmniejszane są wszystkie wagi w trakcie uczenia.
Możliwe modyfikacje:
wagi, które zmalały poniżej pewnego progu mogą być usunięte
usuwamy neurony dla których ∑ |wi| jest bliskie zeru
Regularyzacja L1
regularyzacja wpływa na gradient ze stałą wartością. Regularyzacja L1 daje rzadsze rozwiązanie od L2, tzn. dąży do rozwiązania o mniejszej liczbie niezerowych wag
Metody wrażliwościowe redukcji sieci
Eliminacja wag na podstawie jej wpływu na wartość błędu
Wagi o małej wartości |wi| są mniej istotne od dużych wag
Połączenia o najmniejszej wrażliwości usuwa się po czym sieć
jest douczana
Usuwamy neuron dla którego wszystkie dochodzące (lub
wychodzące) połączenia są wyzerowane
Redukcja neuronów o małej aktywności
Neurony o niewielkiej aktywności (których sygnał wyjściowy
nie zmienia się dla całego zbioru treningowego) można usunąć
bez szkody dla generalizacji
duża aktywność neuronu świadczy o jego przydatności
Architektury konstruktywne (rozrastające się)
automatycznie dobierają złożoność modelu do złożoności problemu, rozrastając się od prostych do złożonych modeli
strategia zachłanna - dodanie neuronu maksymalizuje zysk w
pojedynczym kroku rozbudowy
przedwczesne przerwanie uczenia nie musi być katastrofą
(zazwyczaj) niski koszt obliczeniowy, np. w każdym cyklu
douczamy tylko dodatkowy neuron, reszta połączeń jest
„zamrożona”
możliwość budowania sieci o różnorodnych funkcjach aktywacji
przykład: algorytm wieżowy i piramidalny, korelacja kaskadowa
Na czym polega korelacja kaskadowa
zaczynamy od treningu sieci bez warstwy ukrytej
w kolejnych krokach dodawany jest neuron do warstwy
ukrytej, wejścia neuronu połączone są ze wszystkimi wejściami
sieci i wyjściami poprzednio dodanych neuronów ukrytych
wagi neuronu dobierane są w procesie maksymalizacji korelacji
nowego neuronu k z błędem wykazywanym przez neurony
wyjściowe
wagi kandydata maksymalizujące korelację są „zamrażane” -
douczaniu podlegają wyłącznie wagi wyjściowe sieci
jeśli wyjścia neuronu kandydata są skorelowane dodatnio z
błędem to w wyniku treningu wykształci wagi, które mają
szansę zniwelować ten błąd
w każdym kroku rozpatruje się zbiór kandydatów (od 5 do
10), mogą posiadać różne funkcje aktywacji (sigmoidalna,
gaussowaka, itp.),
kandydaci trenowani są równolegle konkurując ze sobą,
wybiera się najlepszego (o największej korelacji)
Selekcja cech
zmienne, które nie zawierają istotnych informacji mogą
wpływać negatywnie na trening
metody selekcji cech usuwają nieistotne zmienne zmniejszając
tym samym rozmiar zbioru treningowego
dodanie cech, które niosą wartościową informację poprawia
generalizację