Czy normalizacja partii oznacza, że ​​sigmoidy działają lepiej niż ReLU?

9

Normalizacja partii i ReLU są rozwiązaniami problemu znikającego gradientu. Jeśli używamy normalizacji wsadowej, czy powinniśmy używać sigmoidów? A może istnieją funkcje ReLU, które sprawiają, że są one opłacalne nawet podczas korzystania z batchnorm?

Przypuszczam, że normalizacja przeprowadzona w trybie wsadowym wyśle ​​zero aktywacji ujemnych. Czy to oznacza, że ​​batchnorm rozwiązuje problem „martwego ReLU”?

Ale ciągła natura tanh i logistyki pozostaje atrakcyjna. Jeśli używam batchnorm, czy tanh będzie działać lepiej niż ReLU?

Jestem pewien, że odpowiedź zależy . Co zatem sprawdziło się w twoim doświadczeniu i jakie są istotne cechy twojej aplikacji?

użytkownik_ogólny
źródło
Nawet jeśli artykuł sugeruje użycie BatchNorm przed aktywacją, w praktyce stwierdzono, że lepsze są rozwiązania, jeśli BN zostanie zastosowany później. Jeśli nie przeoczę czegoś, co powinno znaczyć, że w drugim przypadku BN nie ma wpływu na aktywację. Ale oczywiście jest otwarte pytanie, czy BN działałby lepiej, gdy był zastosowany przed i przy innej aktywacji niż ReLU. Moim zdaniem nie. Ponieważ ReLU ma jeszcze inne zalety, takie jak prostsze wyprowadzanie. Ale jestem też ciekawa. Może ktoś miał doświadczenie w tej dziedzinie.
oezguensi,

Odpowiedzi:

1

Widzisz, podstawową koncepcją normalizacji partii jest to, że (fragment z artykułu Medium) -

Normalizujemy naszą warstwę wejściową, dostosowując i skalując aktywacje. Na przykład, gdy mamy funkcje od 0 do 1, a niektóre od 1 do 1000, powinniśmy je znormalizować, aby przyspieszyć naukę. Jeśli warstwa wejściowa korzysta z niej, dlaczego nie zrobić tego samego również dla wartości w ukrytych warstwach, które cały czas się zmieniają i uzyskać 10-krotną lub większą poprawę prędkości treningu.

Przeczytaj artykuł tutaj.

To jest powód, dla którego używamy normalizacji partii. Przejdźmy teraz do twojego pytania, patrz, jak wyjście sigmoid jest ograniczeniem między 0 a 1, i to jest motto Batch-normalizacji. Jeśli użyjemy normalizacji Bacha z aktywacją sigmoidu, wówczas będzie ona ograniczona między sigmoidem (0) a sigmoidem (1), czyli między 0,5 a 0,73 ~frac1/(1+1/e). Ale jeśli użyjemy ReLU z normalizacją wsadową, wówczas wynik będzie rozłożony na 0 do 1, co jest dla nas dobrą rzeczą, ponieważ ostatecznie chcemy, aby wynik był jak najbardziej zróżnicowany. Myślę więc, że ReLU będzie najlepszym wyborem spośród innych aktywacji.

Szaleniec
źródło
0

szaleniec odpowiedział poprawnie na twoje pytanie dotyczące normalizacji partii i pozwól mi odpowiedzieć na twoją drugą część, że jak ciągłe funkcje mogą wydawać się atrakcyjne, ale relu jest lepsze od nich wszystkich i to stwierdzenie nie pochodzi z mojej strony MR. Hinton zacytował to: „byliśmy głupimi ludźmi, którzy używali sigmoidu jako funkcji aktywacyjnej i minęło 30 lat, zanim zdała sobie sprawę, że bez zrozumienia jego formy nigdy nie pozwoli neuronowi na naukę w stanie nasycenia, więc jest pochodną i nazwał siebie i wszystkich innych oszołomionymi ludźmi ". Więc wybranie funkcji aktywacyjnej tylko dlatego, że jest ciągła i nie patrzy na to, jak wpłynie ona na twój neuron"

Uwaga: Jeśli studiujesz sieci neuronowe, radziłbym ci myśleć, aby sieci neuronowe były dużymi i głębokimi funkcjami złożonymi, aby zrozumieć, co działa i dlaczego działa, musisz zrozumieć, w jaki sposób sieć neuronowa tworzy różnorodne dane w jakimś wyższym wymiarze „reprezentującym „dane, w których dobroć rozmaitości zależy od wyboru funkcji oraz od tego, jak funkcja przekształca inne funkcje wyjściowe, gdy zostaną mu przekazane jako dane wejściowe.

khwaja mądrość
źródło