Backpropagacja to najczęstszy algorytm treningowy w sieciach neuronowych.
Dzięki temu można też z niego korzystać w wielowarstwowych sieciach neuronowych.
TensorFlow automatycznie obsługuje wsteczną propagację, więc nie musisz dogłębnie poznawać algorytm. Aby zrozumieć, jak to działa, zapoznaj się z tymi materiałami: Wizualne wyjaśnienie algorytmu propagacji wstecznej.
Podczas przeglądania poprzedniego wyjaśnienia pamiętaj o tych kwestiach:
Przepływ danych przez wykres.
Jak programowanie dynamiczne pozwala uniknąć
obliczania wykładniczego wielu ścieżek na wykresie. „Programowanie dynamiczne” oznacza tu jedynie rejestrowanie wyników pośrednich w przejściu do przodu i do tyłu.
Treningowe sieci neuronowe
Backprop: co musisz wiedzieć
Gradienty są ważne
Jeśli jest rozróżnialność, prawdopodobnie można się na niej nauczyć
Backprop: co musisz wiedzieć
Gradienty są ważne
Jeśli jest rozróżnialność, prawdopodobnie można się na niej nauczyć
Gradienty mogą zniknąć
Każda dodatkowa warstwa może stopniowo ograniczać sygnał w porównaniu z szumem
W tym przypadku przydatne są raporty ReLu
Backprop: co musisz wiedzieć
Gradienty są ważne
Jeśli jest rozróżnialność, prawdopodobnie można się na niej nauczyć
Gradienty mogą zniknąć
Każda dodatkowa warstwa może stopniowo ograniczać sygnał w porównaniu z szumem
W tym przypadku przydatne są raporty ReLu
Gradienty mogą eksplodować
Tempo uczenia się jest tu ważne
Pomocna może być normalizacja wsadowa (przydatna pokrętła).
Backprop: co musisz wiedzieć
Gradienty są ważne
Jeśli jest rozróżnialność, prawdopodobnie można się na niej nauczyć
Gradienty mogą zniknąć
Każda dodatkowa warstwa może stopniowo ograniczać sygnał w porównaniu z szumem
W tym przypadku przydatne są raporty ReLu
Gradienty mogą eksplodować
Tempo uczenia się jest tu ważne
Pomocna może być normalizacja wsadowa (przydatna pokrętła).
Warstwy ReLu mogą umrzeć
Zachowaj spokój i obniż tempo nauki
Normalizowanie wartości cech
Chcemy, aby nasze funkcje były dostosowane do potrzeb użytkowników.
Zwykle dobrze sprawdza się zakres przybliżony do zera, zakres [-1, 1].
Ułatwia zbieganie się ze spadkiem gradientu dzięki unikaniu pułapki NaN
Unikanie wartości odstających może również pomóc
Możesz użyć kilku standardowych metod:
Skala liniowa
Ograniczenie twarde (przycinanie) do wartości maksymalnej, min
Skalowanie logu
Regularyzacja pomijania
Porzucenia: inna forma regularyzacji, przydatna w przypadku NN
Działa przez losowe „opuszczanie” jednostek w sieci dla pojedynczego kroku gradientu.
Istnieje tu powiązanie ze zbiorczymi modelami
Im więcej tracisz, tym silniejsza jest regularność