tanh vs. sigmoid w sieci neuronowej

16

Z góry przepraszam za to, że wciąż przyspieszam. Próbuję zrozumieć zalety i wady używania tanh (mapa -1 do 1) vs. sigmoid (mapa 0 do 1) dla mojej funkcji aktywacji neuronu. Z mojego czytania zabrzmiało to jak drobna rzecz z marginalnymi różnicami. W praktyce dla moich problemów uważam, że sigmoid jest łatwiejszy do trenowania i dziwnie, wydaje się, że sigmoid znajduje lepsze ogólne rozwiązanie. Rozumiem przez to, że kiedy sigmoid jest wykonywany, robi to dobrze na referencyjnym (nieprzeszkolonym) zbiorze danych, gdzie wersja tanh wydaje się być w stanie uzyskać poprawne odpowiedzi na temat danych treningowych, słabo radząc sobie z referencją. Dotyczy to tej samej architektury sieci.

Jedną z moich intuicji jest to, że dzięki sigmoidowi neuronowi łatwiej się prawie całkowicie wyłącza, nie zapewniając w ten sposób danych wejściowych dla kolejnych warstw. Tanh ma tutaj trudniejszy czas, ponieważ musi doskonale anulować wprowadzone dane, w przeciwnym razie zawsze daje wartość kolejnej warstwie. Może ta intuicja jest błędna.

Długi post. Podsumowując, jaki jest handel i czy to powinno mieć duże znaczenie?

Dog angielski
źródło

Odpowiedzi:

23

W książce „Neural Networks: A Comprehensive Foundation” Symona Haykina znajduje się następujące wyjaśnienie, z którego cytuję:

Aby zminimalizować czas nauki, należy unikać stosowania niezerowych średnich danych wejściowych. Teraz, o ile dotyczy to wektora sygnału zastosowanego do neuronu w pierwszej ukrytej warstwie wielowarstwowego perceptronu, łatwo jest usunąć średnią z każdego elementu przed jego zastosowaniem w sieci. Ale co z sygnałami przyłożonymi do neuronów w pozostałych ukrytych i wyjściowych warstwach sieci? Odpowiedź na to pytanie polega na rodzaju funkcji aktywacyjnej używanej w sieci. Jeśli funkcja aktywacji jest niesymetryczna, jak w przypadku funkcji sigmoidalnej, moc wyjściowa każdego neuronu jest ograniczona do przedziału . Taki wybór wprowadza źródło systematycznego uprzedzeniax [ 0 , 1 ]xx[0,1]dla neuronów zlokalizowanych poza pierwszą warstwą sieci. Aby rozwiązać ten problem, musimy użyć antysymetrycznej funkcji aktywacyjnej, takiej jak funkcja stycznej hiperbolicznej. Z tego ostatniego wyboru, wyjście z każdego neuronu wolno zakładać zarówno wartości dodatnie i ujemne w przedziale , w którym to przypadku jest prawdopodobne, aby jego średnia wynosi zero. Jeśli łączność sieciowa jest duża, uczenie się propagacji wstecznej z antysymetrycznymi funkcjami aktywacyjnymi może zapewnić szybszą zbieżność niż podobny proces z niesymetrycznymi funkcjami aktywacyjnymi, dla których istnieją również dowody empiryczne (LeCun i in. 1991).[1,1]

Cytowane odniesienie to:

  • Y. LeCun, I. Kanter i SASolla: „Właściwości powierzchni błędów drugiego rzędu: czas uczenia się i uogólnienie”, Advances in Neural Information Processing Systems, tom. 3, s. 918–924, 1991.

Kolejnym interesującym odniesieniem jest:

  • Y. LeCun, L. Bottou, G. Orr i K. Muller: „ Efficient BackProp ”, w Orr, G. i Muller K. (red.), Neural Networks: Tricks of trade, Springer, 1998
tiagotvv
źródło
Neurony ReLU wydają się działać całkiem dobrze, pomimo ich stronniczości. Czy masz jakieś przemyślenia na ten temat?
Ark-kun
@ Ark-kun, niewiele wiem o neuronach ReLU, ale mogę skierować cię do tego artykułu, w którym autorzy wyjaśniają zalety takiej funkcji aktywacyjnej. X. Glorot, A. Bordes i Y. Bengio "Sieci neuronowe prostowników głębokich rzadkich AISTATS 2011. jmlr.org/proceedings/papers/v15/glorot11a/glorot11a.pdf
tiagotvv
1

Te dwie funkcje aktywacji są bardzo podobne, ale są przesunięte. Moja oryginalna sieć nie miała stronniczości. Od czasu dodania uprzedzeń wszystko jest znacznie bardziej stabilne. Opierając się na moim doświadczeniu, powiedziałbym, że jedno lub drugie może działać lepiej dla konkretnej aplikacji ze złożonych, być może niepoznawalnych powodów, ale poprawnym podejściem jest uwzględnienie warunków stronniczości, aby zależność od przesunięcia aktywacji mogła zostać zmniejszona lub wyeliminowana.

Dog angielski
źródło
0

tanh

L=1ni(yilog(pi)+(1yi)log(1pi))

yiipii

pitanh

Andre Holzner
źródło
Możesz je jednak skalować. tanh (X) -1 dzieli pochodną i nie ma problemu z logami ujemnymi
Pablo Arnau González