En mathématiques, une fonction est considérée comme linéaire chaque fois qu'une fonction si pour chaque et dans le domaine a la propriété suivante: . Par définition, le ReLU est . Par conséquent, si nous séparons le domaine de (- \ infty, 0] ou [0, \ infty) alors la fonction est linéaire. Cependant, il est facile de voir que f (-1) + f (1) \ neq f (0) . Par conséquent, par définition, ReLU n'est pas linéaire. F: A → BXyUNEF( x ) + f( y) = f( x + y)m a x ( 0 , x )( - ∞ , 0 ][ 0 , ∞ )F( - 1 ) + f( 1 ) ≠ f( 0 )
Néanmoins, ReLU est si proche du linéaire que cela déroute souvent les gens et se demande comment peut-il être utilisé comme approximateur universel. D'après mon expérience, la meilleure façon d'y penser est comme les sommes de Riemann. Vous pouvez approximer toutes les fonctions continues avec beaucoup de petits rectangles. Les activations ReLU peuvent produire de nombreux petits rectangles. En fait, dans la pratique, ReLU peut créer des formes assez compliquées et approximer de nombreux domaines compliqués.
J'ai aussi envie de clarifier un autre point. Comme indiqué par une réponse précédente, les neurones ne meurent pas dans Sigmoid, mais disparaissent plutôt. La raison en est qu'au maximum la dérivée de la fonction sigmoïde est de 0,25. Par conséquent, après tant de couches, vous finissez par multiplier ces gradients et le produit de très petits nombres inférieurs à 1 a tendance à aller très rapidement à zéro.
Par conséquent, si vous construisez un réseau d'apprentissage profond avec beaucoup de couches, vos fonctions sigmoïdes stagneront essentiellement assez rapidement et deviendront plus ou moins inutiles.
La clé est que la disparition vient de la multiplication des dégradés et non des dégradés eux-mêmes.