Dlaczego funkcje aktywacji niecentrowanej są problemem w propagacji wstecznej?


26

Przeczytałem tutaj :

  • Wyjścia sigmoidalne nie są wyśrodkowane na zero . Jest to niepożądane, ponieważ neurony w późniejszych warstwach przetwarzania w sieci neuronowej (więcej o tym wkrótce) otrzymywałyby dane, które nie są wyśrodkowane. Ma to wpływ na dynamikę podczas opadania gradientu, ponieważ jeśli dane wchodzące do neuronu są zawsze dodatnie (np. elementarnie w )), to gradient na wagach podczas propagacji wstęgowej stanie się albo wszystkie są dodatnie lub wszystkie ujemne (w zależności od gradientu całego wyrażenia x>0f=wTx+bwf). Może to wprowadzić niepożądaną dynamikę zygzakowatą w aktualizacjach gradientu dla odważników. Należy jednak zauważyć, że po dodaniu tych gradientów do partii danych ostateczna aktualizacja wag może mieć zmienne znaki, co nieco łagodzi ten problem. Jest to zatem niedogodność, ale ma mniej poważne konsekwencje w porównaniu do powyższego problemu z nasyconą aktywacją.

Dlaczego posiadanie wszystkich (elementarnie) prowadzi do całkowicie dodatnich lub całkowicie ujemnych gradientów na ?x>0w



2
Miałem też dokładnie to samo pytanie, oglądając filmy CS231n.
subwaymatch

Odpowiedzi:


28

f=wixi+b
dfdwi=xi
dLdwi=dLdfdfdwi=dLdfxi

ponieważ , gradient zawsze ma taki sam znak jak (wszystkie dodatnie lub wszystkie ujemne).xi>0dLdwidLdf

Aktualizacja
Powiedzmy, że istnieją dwa parametry i , jeśli gradienty dwóch wymiarów są zawsze tego samego znaku, oznacza to, że możemy poruszać się tylko w przybliżeniu w kierunku północno-wschodnim lub południowo-zachodnim w przestrzeni parametrów.w1w2

Jeśli naszym celem jest północno-wschodni obszar, możemy się poruszać tylko w sposób zygzakowaty, aby się tam dostać, podobnie jak parkowanie równoległe na wąskiej przestrzeni. (wybacz mój rysunek)

wprowadź opis zdjęcia tutaj

Dlatego też wszystkie pozytywne lub całkowicie negatywne funkcje aktywacji (relu, sigmoid) mogą być trudne do optymalizacji opartej na gradiencie. Aby rozwiązać ten problem, możemy wcześniej znormalizować dane, aby były wyśrodkowane na zero, jak w przypadku normalizacji wsadowej / warstwowej.

f=wi(xi+bi).
dLdwi=dLdf(xibi)
xi


Proszę mnie poprawić, jeśli się mylę, ale nie powinienem transponować wartości dL / df wartości x, tj. XT, ponieważ użylibyśmy tutaj idei Jakobina.
chinmay

fwTx+bLwx

Tak, to duża literówka z mojego końca. Miałem na myśli df / dw .... ale myślę, że zależy to bardziej od wektora x, a jeśli jest to wektor wiersza lub wektor kolumny
chinmay

dL/df

1
@floyd hi Właśnie dodałem kilka aktualizacji do twojego pytania
dontloo
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.