Dlaczego ReLU jest lepszy niż inne funkcje aktywacyjne


17

Tutaj odpowiedź odnosi się do znikania i eksplodowania gradientów, które były sigmoidpodobne do funkcji aktywacyjnych, ale, jak sądzę, Relumają wadę i są to oczekiwana wartość. nie ma ograniczeń dla wyjścia, Reluwięc jego oczekiwana wartość nie jest równa zero. Pamiętam czas, zanim popularność Reluta tanhbyła najbardziej popularna wśród ekspertów w dziedzinie uczenia maszynowego sigmoid. Powodem było to, że oczekiwana wartość tanhbyła równa zero i pomogło to w uczeniu się w głębszych warstwach, aby było szybsze w sieci neuronowej. Relunie ma tej cechy, ale dlaczego działa tak dobrze, jeśli odłożymy na bok jego przewagę pochodną. Co więcej, myślę, że może to dotyczyć również pochodnej. Ponieważ aktywacje (wyjście zRelu) są zaangażowane w obliczanie reguł aktualizacji.


Często stosuje się pewien rodzaj normalizacji (np. Normalizacja partii, normalizacja warstw) razem z ReLU. To dostosowuje zakres wyjściowy.
ncasas

@ncasas Ale w typowej CNNnormalizacji wyjście relunie jest powszechne? Przynajmniej nigdy tego nie widziałem.
Media

Masz rację, w niezbyt głębokich CNN normalne jest brak normalizacji partii. Czy rozważałeś rolę początkowych wartości masy? (np. inicjalizacja He)
ncasas

tak, faktycznie w jakiś sposób zapobiegają one znikaniu / eksplodowaniu gradientów, po kilku iteracjach wyniki wydają się większe.
Media

Odpowiedzi:


21

Największą zaletą ReLu jest rzeczywiście nienasycenie jego gradientu, co znacznie przyspiesza zbieżność stochastycznego spadku gradientu w porównaniu z funkcjami sigmoid / tanh ( praca Kriżewskiego i in.).

Ale to nie jedyna zaleta. Oto omówienie rzadkich efektów aktywacji ReLu i indukowanej regularyzacji. Inną ciekawą właściwością jest to, że w porównaniu do neuronów tanh / sigmoidalnych, które wymagają drogich operacji (wykładnicze itp.), ReLU można wdrożyć, po prostu progując macierz aktywacji na zero.

Ale nie jestem przekonany, że wielki sukces nowoczesnych sieciach neuronowych jest spowodowane Relu sam . Bardzo ważne były także nowe techniki inicjalizacji, takie jak inicjacja Xaviera, rezygnacja i (później) wsadowy. Na przykład słynny AlexNet używał ReLu i dropout.

Aby odpowiedzieć na twoje pytanie: ReLu ma bardzo ładne właściwości, choć nie idealne . Ale naprawdę sprawdza się w połączeniu z innymi świetnymi technikami, które, nawiasem mówiąc, rozwiązują wspomniany przez ciebie problem niezerowy.

UPD: Wyjście ReLu nie jest rzeczywiście wyśrodkowane na zero i szkodzi wydajności NN. Ale ten konkretny problem można rozwiązać za pomocą innych technik regularyzacji, np. Batchnorm, który normalizuje sygnał przed aktywacją :

x=W.u+b


1
Powinienem był podkreślić tę część: starałem się powiedzieć, że sama ReLu nie rozwiązuje tego problemu. Masz rację, że wyjście ReLu nie jest wyśrodkowane na zero i szkodzi wydajności NN, chyba że wagi są uregulowane. Ale nasycone gradienty jeszcze bardziej zaszkodziły NN, więc masowe przyjęcie ReLu było krokiem naprzód, pomimo jego wad.
Maxim

czy mógłbyś powiedzieć, co masz na myśli, że wagi są uregulowane? w odpowiedzi, a także w tym, co podkreśliłeś.
Media

Zaktualizowałem moją odpowiedź o kilka szczegółów na temat tego konkretnego problemu
Maxim

Co wydaje mi się trochę mylące, dlaczego nie skorzystać z funkcji tożsamości? Jaka jest zaleta 0 dla wartości ujemnych?
Alex

@Alex id nie jest nieliniowością. Jest to równoważne z posiadaniem tylko warstw liniowych w NN. Zobacz to pytanie - stackoverflow.com/q/46659525/712995
Maxim
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.