Por que o ReLU é usado como uma função de ativação?


19

As funções de ativação são usadas para introduzir não linearidades na saída linear do tipo w * x + bem uma rede neural.

O que eu sou capaz de entender intuitivamente para as funções de ativação como sigmoide.

Entendo as vantagens do ReLU, que evita neurônios mortos durante a retropropagação. No entanto, não consigo entender por que o ReLU é usado como uma função de ativação se sua saída é linear?

O objetivo de ser a função de ativação não é derrotado se não introduzir não-linearidade?

Respostas:


19

Em matemática, uma função é considerada linear sempre que uma função se para cada x e y no domínio A tiver a seguinte propriedade: f ( x ) + f ( y ) = f ( x + y ) . Por definição, a ReLU é m a x ( 0 , x ) . Portanto, se dividirmos o domínio de ( - , 0 ] ou [f:ABxyAf(x)+f(y)=f(x+y)max(0,x)(,0] então a função é linear. No entanto, é fácil ver que f ( - 1 ) + f ( 1 ) f ( 0 ) . Portanto, por definição, ReLU não é linear. [0,)f(1)+f(1)f(0)

No entanto, a ReLU é tão próxima da linear que muitas vezes confunde as pessoas e se pergunta como ela pode ser usada como um aproximador universal. Na minha experiência, a melhor maneira de pensar sobre eles é como as somas de Riemann. Você pode aproximar qualquer função contínua com muitos pequenos retângulos. As ativações da ReLU podem produzir muitos pequenos retângulos. De fato, na prática, o ReLU pode criar formas bastante complicadas e aproximar muitos domínios complicados.

Também tenho vontade de esclarecer outro ponto. Como apontado por uma resposta anterior, os neurônios não morrem no sigmóide, mas desaparecem. A razão para isso é porque, no máximo, a derivada da função sigmóide é 0,25. Portanto, depois de tantas camadas, você acaba multiplicando esses gradientes e o produto de números muito pequenos menores que 1 tende a zero rapidamente.

Portanto, se você estiver construindo uma rede de aprendizado profundo com muitas camadas, suas funções sigmóides ficarão essencialmente estagnadas rapidamente e se tornarão mais ou menos inúteis.

O ponto principal é que o desaparecimento vem da multiplicação dos gradientes e não dos gradientes em si.


6

Entendo as vantagens do ReLU, que evita neurônios mortos durante a retropropagação.

Isto não é completamente verdadeiro. Os neurônios não estão mortos. Se você usar ativações do tipo sigmóide, após algumas iterações, o valor dos gradientes satura a maioria dos neurônios. O valor do gradiente será muito pequeno e o processo de aprendizado acontecerá muito lentamente. Isso está desaparecendo e explodindo gradientes que estão em funções de ativação do tipo sigmóide. Por outro lado, os neurônios mortos podem acontecer se você usar a ReLUnão-linaridade, que é chamada ReLU moribunda .

Não consigo entender por que o ReLU é usado como uma função de ativação se sua saída é linear

Definitivamente, não é linear. Como uma definição simples, função linear é uma função que tem a mesma derivada para as entradas em seu domínio.

A função linear é popular em economia. É atraente porque é simples e fácil de manusear matematicamente. Tem muitas aplicações importantes. Funções lineares são aquelas cujo gráfico é uma linha reta. Uma função linear tem a seguinte forma:

y = f (x) = a + bx

Uma função linear possui uma variável independente e uma variável dependente. A variável independente é x e a variável dependente é y.

a é o termo constante ou o intercepto em y. É o valor da variável dependente quando x = 0.

b é o coeficiente da variável independente. Também é conhecido como declive e fornece a taxa de variação da variável dependente.

ReLUnão é linear . A resposta simples é que a ReLUsaída não é uma linha reta, ela se dobra no eixo x. O ponto mais interessante é qual é a consequência dessa não linearidade. Em termos simples, as funções lineares permitem dissecar o plano de feição usando uma linha reta. Mas com a não linearidade de ReLUs, você pode criar curvas de forma arbitrária no plano de recurso.

ReLUpode ter uma desvantagem que é o seu valor esperado. Não há limitação para a saída do Relue seu valor esperado não é zero. Tanhera mais popular do que sigmoidporque seu valor esperado é igual a zero e o aprendizado em camadas mais profundas ocorre mais rapidamente. Embora ReLUnão tenha essa vantagem batch normalizationresolve esse problema .

Você também pode consultar aqui e aqui para obter mais informações.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.