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 ). 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 ?
neural-networks
deep-learning
backpropagation
Amelio Vazquez-Reina
źródło
źródło
Odpowiedzi:
ponieważ , gradient zawsze ma taki sam znak jak (wszystkie dodatnie lub wszystkie ujemne).xi>0 dLdwi dLdf
Aktualizacjaw1 w2
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.
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)
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.
źródło