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?
deep-learning
batch-normalization
użytkownik_ogólny
źródło
źródło
Odpowiedzi:
Widzisz, podstawową koncepcją normalizacji partii jest to, że (fragment z artykułu Medium) -
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.
źródło
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.
źródło