Problem znikającego gradientu - Vanishing gradient problem

W uczenia maszynowego The znikające problemem gradientu napotkano podczas uczenia sztucznych sieci neuronowych z metod uczenia się opartych gradientowych oraz wstecznej propagacji błędów . W takich metodach każda z wag sieci neuronowej otrzymuje aktualizację proporcjonalną do pochodnej cząstkowej funkcji błędu względem wagi bieżącej w każdej iteracji uczenia. Problem polega na tym, że w niektórych przypadkach gradient będzie znikomo mały, skutecznie uniemożliwiając zmianę wartości wagi. W najgorszym przypadku może to całkowicie uniemożliwić dalsze trenowanie sieci neuronowej. Jako jeden z przykładów przyczyny problemu, tradycyjne funkcje aktywacji, takie jak hiperboliczna funkcja styczna, mają gradienty w zakresie (0,1] , a propagacja wsteczna oblicza gradienty zgodnie z regułą łańcucha . Daje to efekt mnożenia n tych małych liczb w celu obliczenia gradienty wczesnych warstw w sieci n- warstwowej, co oznacza, że ​​gradient (sygnał błędu) maleje wykładniczo z n, podczas gdy wczesne warstwy trenują bardzo powoli.

Propagacja wsteczna umożliwiła naukowcom trenowanie od podstaw nadzorowanych głębokich sztucznych sieci neuronowych, początkowo z niewielkim powodzeniem. Hochreiter „s diplom teza 1991 formalnie zidentyfikowane przyczyny tego niepowodzenia w«znikającego problemu gradientu», co wpływa nie tylko wielowarstwowe sieci wyprzedzające , ale również sieci nawracające . Te ostatnie są szkolone poprzez rozkładanie ich na bardzo głębokie sieci sprzężenia do przodu, w których nowa warstwa jest tworzona dla każdego kroku czasowego sekwencji wejściowej przetwarzanej przez sieć. (Kombinacja rozwijania i propagacji wstecznej jest określana jako propagacja wsteczna w czasie ).

Gdy używane są funkcje aktywacji, których pochodne mogą przyjmować większe wartości, istnieje ryzyko napotkania związanego z tym problemu eksplodującego gradientu .

Niezwykle uproszczona ilustracja w rekurencyjnych sieciach neuronowych

W sieciach neuronowych rekurencyjnych po krokach następuje wielokrotne mnożenie macierzy z wektorem dla stanów ukrytych: Ukryty wektor wyjściowy warstwy jest zależny od ukrytego wyjścia poprzedniej warstwy . Możemy uprościć dyskusję, ekstremalnie pomijając funkcję nieliniową , obciążenie i zauważając, że macierz wag ( ) jest zawsze taka sama. W tym przypadku końcowy wynik to po prostu: gdzie jest początkowym wejściem do sieci. Jeśli można ją przekątną, to (z powodu ) jest jasne, że wartości własne mniejsze niż 1 zanikają wykładniczo z głębokością n, podczas gdy wartości własne większe niż 1 eksplodują wykładniczo z głębokością n.

Rozwiązania

Hierarchia wielopoziomowa

Aby rozwiązać ten problem, zaproponowano kilka metod. Jednym z nich jest wielopoziomowa hierarchia sieci Jürgena Schmidhubera (1992) przetrenowana wstępnie jeden poziom po drugim poprzez uczenie się bez nadzoru , dostrojona poprzez wsteczną propagację . Tutaj każdy poziom uczy się skompresowanej reprezentacji obserwacji, która jest przekazywana do następnego poziomu.

Powiązane podejście

Podobne pomysły zostały wykorzystane w sieciach neuronowych ze sprzężeniem do przodu do nienadzorowanego wstępnego uczenia struktury sieci neuronowej, dzięki czemu najpierw uczy się ogólnie użytecznych detektorów cech . Następnie sieć jest dalej trenowana przez nadzorowaną propagację wsteczną w celu sklasyfikowania oznaczonych danych. Model sieci głębokich przekonań autorstwa Hintona i in. (2006) polega na nauce rozkładu reprezentacji wysokiego poziomu przy użyciu kolejnych warstw binarnych lub ukrytych zmiennych o wartościach rzeczywistych . Wykorzystuje ograniczoną maszynę Boltzmanna do modelowania każdej nowej warstwy funkcji wyższego poziomu. Każda nowa warstwa gwarantuje wzrost na niższe związana z prawdopodobieństwem dziennika danych, poprawiając tym samym modelu, jeśli odpowiednio przeszkoleni. Po poznaniu wystarczającej liczby warstw, głęboka architektura może być używana jako model generatywny , odtwarzając dane podczas próbkowania modelu („przejście przodków”) z aktywacji funkcji najwyższego poziomu. Hinton donosi, że jego modele są skutecznymi ekstraktorami cech z wielowymiarowych, ustrukturyzowanych danych.

Pamięć długotrwała krótkotrwała

Inną techniką szczególnie stosowaną w przypadku sieci neuronowych rekurencyjnych jest sieć pamięci długoterminowej krótkoterminowej (LSTM) z 1997 roku autorstwa Hochreitera i Schmidhubera . W 2009 r. głębokie, wielowymiarowe sieci LSTM zademonstrowały moc głębokiego uczenia z wieloma warstwami nieliniowymi, wygrywając trzy konkursy ICDAR 2009 w połączonym rozpoznawaniu pisma ręcznego , bez wcześniejszej wiedzy na temat trzech różnych języków, których należy się nauczyć.

Szybszy sprzęt

Postępy w sprzęcie sprawiły, że w latach 1991-2015 moc komputerów (zwłaszcza dostarczanych przez procesory graficzne ) wzrosła około milion razy, dzięki czemu standardowa propagacja wsteczna jest możliwa dla sieci o kilka warstw głębszych niż w momencie, gdy rozpoznano problem znikającego gradientu. Schmidhuber zauważa, że ​​to „w zasadzie to, co obecnie wygrywa wiele konkursów rozpoznawania obrazów”, ale „tak naprawdę nie rozwiązuje problemu w sposób fundamentalny”, ponieważ oryginalne modele Hintona i innych szkoliły się w rozwiązywaniu problemu zanikającego gradientu. procesor Xeon nie graficzne.

Pozostałe sieci

Jednym z najnowszych i najskuteczniejszych sposobów rozwiązania problemu znikającego gradientu są resztkowe sieci neuronowe lub ResNets (nie mylić z rekurencyjnymi sieciami neuronowymi). ResNets odnoszą się do sieci neuronowych, w których pomijanie połączeń lub pozostałe połączenia są częścią architektury sieci. Te połączenia pomijania umożliwiają przechodzenie informacji o gradientach przez warstwy, tworząc „autostrady” informacji, w których dane wyjściowe poprzedniej warstwy/aktywacji są dodawane do danych wyjściowych głębszej warstwy. Pozwala to na przekazywanie informacji z wcześniejszych części sieci do głębszych części sieci, pomagając utrzymać propagację sygnału nawet w głębszych sieciach. Pomijanie połączeń jest kluczowym elementem, który umożliwił pomyślne szkolenie głębszych sieci neuronowych.

ResNet dały niższy błąd uczenia (i błąd testowy) niż ich płytsze odpowiedniki po prostu przez ponowne wprowadzenie danych wyjściowych z płytszych warstw w sieci w celu skompensowania zanikających danych. Należy zauważyć, że sieci ResNet są zespołem stosunkowo płytkich sieci i nie rozwiązują problemu znikającego gradientu, zachowując przepływ gradientu na całej głębokości sieci – raczej unikają problemu po prostu tworząc zespoły wielu krótkich sieci razem. (Zespół według konstrukcji)

Inne funkcje aktywacji

Prostowniki takie jak ReLU mniej cierpią na problem znikającego gradientu, ponieważ nasycają się tylko w jednym kierunku.

Inne

Behnke oparł się tylko na znaku gradientu ( Rprop ) podczas trenowania swojej piramidy abstrakcji neuronowej, aby rozwiązywać problemy, takie jak rekonstrukcja obrazu i lokalizacja twarzy.

Sieci neuronowe mogą być również optymalizowane poprzez zastosowanie uniwersalnego algorytmu wyszukiwania w przestrzeni wag sieci neuronowych, np. losowego zgadywania lub bardziej systematycznie algorytmu genetycznego . To podejście nie opiera się na gradiencie i pozwala uniknąć problemu znikającego gradientu.

Zobacz też

Bibliografia