Wybieram funkcję aktywacji dla warstwy wyjściowej w zależności od potrzebnych danych wyjściowych i właściwości funkcji aktywacji, które znam. Na przykład wybieram funkcję sigmoidalną, gdy mam do czynienia z prawdopodobieństwami, ReLU, gdy mam do czynienia z wartościami dodatnimi, i funkcję liniową, gdy mam do czynienia z wartościami ogólnymi.
W ukrytych warstwach używam nieszczelnego ReLU, aby uniknąć martwych neuronów zamiast ReLU i tanh zamiast sigmoidu. Oczywiście nie używam funkcji liniowej w ukrytych jednostkach.
Jednak wybór dla nich w ukrytej warstwie wynika głównie z prób i błędów.
Czy istnieje jakaś reguła, która funkcja aktywacji może działać dobrze w niektórych sytuacjach? Przyjmij termin sytuacje tak ogólnie, jak to możliwe: może odnosić się do głębokości warstwy, głębokości NN, liczby neuronów dla tej warstwy, do wybranego przez nas optymalizatora, do liczby cech wejściowych tę warstwę do zastosowania tej NN itp.
W swojej odpowiedzi Cantantust odnosi się do innych funkcji aktywacyjnych, o których nie wspomniałem, takich jak ELU i SELU. Te informacje są bardzo mile widziane. Jednak im więcej funkcji aktywacyjnych odkrywam, tym bardziej jestem zdezorientowany wyborem funkcji do zastosowania w ukrytych warstwach. I nie sądzę, że rzut monetą jest dobrym sposobem na wybranie funkcji aktywacji.
źródło
Nie wiem, nad którymi sieciami neuronowymi pracujesz. Ale należy również wziąć pod uwagę funkcje aktywacji tanh w przypadku nawracającej sieci neuronowej. Dlaczego należy unikać eksplozji problemów z gradientem, ponieważ funkcja tanh jest ograniczona na przykład różnicą funkcji RELU.
źródło