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:A→BxyAf(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.