Chociaż wybór funkcji aktywacji dla ukrytej warstwy jest dość jasny (głównie sigmoid lub tanh), zastanawiam się, jak zdecydować o funkcji aktywacji dla warstwy wyjściowej. Często wybierane są funkcje liniowe, funkcje sigmoidalne i funkcje softmax. Kiedy jednak powinienem użyć tego?
neural-networks
juliański
źródło
źródło
Odpowiedzi:
Używaj prostej sigmoidu tylko wtedy, gdy twój wynik przyjmuje wiele „prawdziwych” odpowiedzi, na przykład sieć, która sprawdza obecność różnych obiektów na obrazie. Innymi słowy, wynik nie jest rozkładem prawdopodobieństwa (nie trzeba sumować do 1).
źródło
Mogę spóźnić się na przyjęcie, ale wydaje się, że są tu pewne rzeczy, które należy wyjaśnić.
Po drugie, chciałbym dodać, że istnieje wiele funkcji aktywacyjnych, których można użyć dla ukrytych warstw. Sigmoidy (takie jak funkcja logistyczna i styczna hiperboliczna) rzeczywiście sprawdziły się dobrze, ale jak wskazał Jatin , cierpią one na zanikanie gradientów, gdy sieci stają się zbyt głębokie. W takim przypadku ReLU stały się popularne. Chciałbym jednak podkreślić, że dostępnych jest znacznie więcej funkcji aktywacyjnych, a różni badacze wciąż szukają nowych (np. Wykładnicze jednostki liniowe (ELU), jednostki liniowe błędu Gaussa (GELU), ...) z różnymi / lepsze właściwości
Podsumowując: Szukając najlepszych funkcji aktywacyjnych, bądź kreatywny. Wypróbuj różne rzeczy i zobacz, jakie kombinacje prowadzą do najlepszej wydajności.
Dodatek: Aby uzyskać więcej par funkcji i aktywacji utraty, prawdopodobnie chcesz poszukać (kanonicznych) funkcji łącza
źródło
Sigmoid i tanh nie powinny być używane jako funkcja aktywacji ukrytej warstwy. Wynika to z problemu znikającego gradientu, tzn. Jeśli dane wejściowe znajdują się po wyższej stronie (gdzie sigmoid staje się płaski), wówczas gradient będzie bliski zeru. Spowoduje to bardzo powolne lub brak uczenia się podczas propagacji wstecznej, ponieważ wagi będą aktualizowane bardzo małymi wartościami.
Szczegółowe wyjaśnienie tutaj: http://cs231n.github.io/neural-networks-1/#actfun
Najlepszą funkcją dla ukrytych warstw jest zatem ReLu.
źródło
Używanie funkcji tożsamości jako danych wyjściowych może być pomocne, gdy dane wyjściowe są nieograniczone. Zysk lub strata niektórych firm za kwartał może być nieograniczona po obu stronach.
Jednostki ReLU lub podobne warianty mogą być pomocne, gdy wyjście jest ograniczone powyżej lub poniżej. Jeśli wyjście jest ograniczone tylko do nieujemnego, sensowne byłoby użycie aktywacji ReLU jako funkcji wyjściowej.
Zaletą sieci neuronowych jest to, że są one niezwykle elastycznymi narzędziami.
źródło