Dlaczego ReLU jest używane jako funkcja aktywacji?

19

Funkcje aktywacyjne służą do wprowadzenia nieliniowości w liniowym wyjściu typu w * x + bw sieci neuronowej.

Które jestem w stanie zrozumieć intuicyjnie dla funkcji aktywacyjnych takich jak sigmoid.

Rozumiem zalety ReLU, które pozwala uniknąć martwych neuronów podczas propagacji wstecznej. Jednak nie jestem w stanie zrozumieć, dlaczego ReLU jest używane jako funkcja aktywacji, jeśli jego wyjście jest liniowe?

Czy cały sens bycia funkcją aktywacyjną nie zostaje pokonany, jeśli nie wprowadza nieliniowości?

Królik
źródło

Odpowiedzi:

19

Matematyki funkcją jest uważany za każdym razem, gdy liniowy fucntion , jeśli dla każdego i w domenie ma następującą właściwość: . Z definicji ReLU wynosi . Dlatego jeśli podzielimy domenę od lub wówczas funkcja będzie liniowa. Łatwo jednak zauważyć, że . Dlatego z definicji ReLU nie jest liniowy. x y A f ( x ) + f ( y ) = f ( x + y ) m a x ( 0 , x ) ( - , 0 ] [ 0 , ) f ( - 1 ) + f ( 1 ) f ( 0 )f:ABxyAf(x)+f(y)=f(x+y)max(0,x)(,0][0,)f(1)+f(1)f(0)

Niemniej jednak ReLU jest tak bliskie liniowości, że często myli ludzi i zastanawia się, w jaki sposób można go wykorzystać jako uniwersalny aproksymator. Z mojego doświadczenia wynika, że ​​najlepszym sposobem myślenia o nich są sumy Riemanna. Możesz przybliżać dowolne funkcje ciągłe za pomocą wielu małych prostokątów. Aktywacje ReLU mogą wytworzyć wiele małych prostokątów. W rzeczywistości ReLU może tworzyć dość skomplikowane kształty i przybliżać wiele skomplikowanych domen.

Mam też ochotę wyjaśnić inną kwestię. Jak wskazano w poprzedniej odpowiedzi, neurony nie umierają w Sigmoid, ale raczej znikają. Powodem tego jest to, że pochodna funkcji sigmoidalnej wynosi maksymalnie 0,25. Dlatego po tak wielu warstwach ostatecznie zwielokrotniasz te gradienty, a iloczyn bardzo małych liczb mniejszych niż 1 ma tendencję do bardzo szybkiego zerowania.

Dlatego jeśli budujesz sieć do głębokiego uczenia się z wieloma warstwami, twoje funkcje sigmoidalne zasadniczo będą w stagnacji raczej szybko i staną się mniej lub bardziej bezużyteczne.

Kluczem jest to, że znikanie wynika z pomnożenia gradientów, a nie samych gradientów.

Cylinder
źródło
6

Rozumiem zalety ReLU, które pozwala uniknąć martwych neuronów podczas propagacji wstecznej.

To nie jest do końca prawda. Neurony nie są martwe. Jeśli używasz aktywacji sigmoidalnych, po kilku iteracjach wartość gradientów nasyca się dla większości neuronów. Wartość gradientu będzie tak mała, a proces uczenia się będzie przebiegał tak wolno. To zanika i eksploduje gradienty, które pełniły funkcje aktywacji podobne do sigmoidów. I odwrotnie, martwe neurony mogą się zdarzyć, jeśli użyjesz ReLUnieliniowości, która nazywa się umierającą ReLU .

Nie jestem w stanie zrozumieć, dlaczego ReLU jest używane jako funkcja aktywacji, jeśli jego wyjście jest liniowe

Zdecydowanie nie jest liniowy. Jako prosta definicja, funkcja liniowa jest funkcją, która ma tę samą pochodną dla danych wejściowych w swojej dziedzinie.

Funkcja liniowa jest popularna w ekonomii. Jest atrakcyjny, ponieważ jest prosty i łatwy w obsłudze matematycznej. Ma wiele ważnych zastosowań. Funkcje liniowe to te, których wykres jest linią prostą. Funkcja liniowa ma następującą postać:

y = f (x) = a + bx

Funkcja liniowa ma jedną zmienną niezależną i jedną zmienną zależną. Zmienna niezależna to x, a zmienna zależna to y.

a jest pojęciem stałym lub punktem przecięcia y. Jest to wartość zmiennej zależnej, gdy x = 0.

b jest współczynnikiem zmiennej niezależnej. Znany jest również jako nachylenie i podaje szybkość zmiany zmiennej zależnej.

ReLUnie jest liniowy . Prosta odpowiedź brzmi: ReLUwyjście nie jest linią prostą, wygina się na osi x. Bardziej interesującym punktem jest konsekwencja tej nieliniowości. Mówiąc najprościej, funkcje liniowe umożliwiają rozcięcie płaszczyzny cechy za pomocą linii prostej. Ale przy nieliniowości ReLUs można budować krzywe o dowolnym kształcie na płaszczyźnie cechy.

ReLUmoże mieć wadę, której jest oczekiwana wartość. Nie ma żadnych ograniczeń dla wyniku Relui jego oczekiwana wartość nie jest równa zero. Tanhbył bardziej popularny niż sigmoiddlatego, że jego oczekiwana wartość jest równa zero, a uczenie się w głębszych warstwach odbywa się szybciej. Chociaż ReLUnie ma tej przewagi, batch normalizationrozwiązuje ten problem .

Możesz również odnieść się tutaj i tutaj, aby uzyskać więcej informacji.

Głoska bezdźwięczna
źródło