Sieci neuronowe: trenowanie z wykorzystaniem wstecznej propagacji

Rozpowszechnianie wsteczne to najpopularniejszy algorytm trenowania sieci neuronowych. Dzięki niemu gradient gradientowy jest możliwy w wielowarstwowych sieciach neuronowych. wielu bibliotek kodu systemów uczących się (np. Keras); obsługuje propagację wsteczną, więc nie musisz wykonywać na podstawie obliczeń. W tym filmie znajdziesz ogólne omówienie działania propagacji wstecznej:

Sprawdzone metody trenowania sieci neuronowych

W tej sekcji omawiamy przypadki niepowodzenia propagacji wstecznej i najczęstsze jest często spotykanym sposobem na regularne reorganizację sieci neuronowej.

Znikające gradienty

Gradienty dla dolnej części układu neuronowego. warstwy sieciowe (znajdujące się bliżej warstwy wejściowej) mogą stać się bardzo małe. W sieciach szczegółowych (sieci z więcej niż jedną ukrytą warstwę), obliczenia tych gradientów mogą obejmować iloczyn wielu drobnych pojęć.

Gdy w przypadku niższych warstw wartości gradientu są bliskie 0, gradienty są że „znika”. Warstwy ze znikającymi gradientami trenują bardzo wolno lub nie trenują .

Funkcja aktywacji ReLU może zapobiec znikaniu gradientów.

Eksplodujące gradienty

Jeśli wagi w sieci są bardzo duże, gradienty niższego i warstwy są związane z produktami wielu obszernych pojęć. W takim przypadku możesz mieć eksplodujące gradienty – gradienty, które stają się zbyt duże, by się zgrać.

Normalizacja wsadowa może zapobiec eksplozji gradientów, a także obniżyć tempo uczenia się.

Jednostki Dead ReLU

Gdy suma ważona jednostki ReLU spadnie poniżej 0, jednostka ReLU może otrzymać nie udało się zablokować. Podaje wartość 0 i nie ma żadnego wpływu na dane wyjściowe sieci, i gradienty nie mogą już przez niego przepływać podczas rozpowszechniania wstecznego. Dzięki jeśli źródło gradientów zostanie obcięte, dane wejściowe do ReLU mogą nigdy nie zmienić się wystarczająco aby sprowadzić sumę ważoną do wartości powyżej 0.

Niższe tempo uczenia się może zapobiec wygaszeniu jednostek ReLU.

Regularyzacja porzuceń

Kolejna forma regularyzacji, regularyzacja porzucenia, jest przydatna w sieciach neuronowych. Działa to na przykład losowo „porzucenia” aktywacje jednostek w sieci dla pojedynczego kroku gradientu. Im częściej odchodzisz, tym silniejsze jest regularne regularyzowanie:

  • 0,0 = brak regularyzacji porzuceń.
  • 1,0 = – porzucenie wszystkich węzłów. Model nic się nie uczy.
  • Wartości od 0,0 do 1,0 = większa użyteczność.