Pourquoi ReLU est-il utilisé comme fonction d'activation?

19

Les fonctions d'activation sont utilisées pour introduire des non-linéarités dans la sortie linéaire du type w * x + bdans un réseau neuronal.

Ce que je peux comprendre intuitivement pour les fonctions d'activation comme sigmoïde.

Je comprends les avantages de ReLU, qui évite les neurones morts pendant la rétropropagation. Cependant, je ne peux pas comprendre pourquoi ReLU est utilisé comme fonction d'activation si sa sortie est linéaire?

Est-ce que l'intérêt d'être la fonction d'activation n'est pas vaincu s'il n'introduit pas de non-linéarité?

Lapin
la source

Réponses:

19

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:UNEBXyUNEF(X)+F(y)=F(X+y)muneX(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.

Haut-de-forme
la source
6

Je comprends les avantages de ReLU, qui évite les neurones morts pendant la rétropropagation.

Ce n'est pas tout à fait vrai. Les neurones ne sont pas morts. Si vous utilisez des activations de type sigmoïde, après quelques itérations, la valeur des gradients sature pour la plupart des neurones. La valeur du gradient sera si petite et le processus d'apprentissage se déroulera si lentement. Il s'agit de gradients qui disparaissent et explosent dans les fonctions d'activation de type sigmoïde. Inversement, les neurones morts peuvent se produire si vous utilisez la ReLUnon-linéarité, qui est appelée ReLU mourante .

Je ne peux pas comprendre pourquoi ReLU est utilisé comme fonction d'activation si sa sortie est linéaire

Ce n'est certainement pas linéaire. En tant que définition simple, la fonction linéaire est une fonction qui a la même dérivée pour les entrées de son domaine.

La fonction linéaire est populaire en économie. Il est attrayant car il est simple et facile à manipuler mathématiquement. Il a de nombreuses applications importantes. Les fonctions linéaires sont celles dont le graphique est une ligne droite. Une fonction linéaire a la forme suivante:

y = f (x) = a + bx

Une fonction linéaire a une variable indépendante et une variable dépendante. La variable indépendante est x et la variable dépendante est y.

a est le terme constant ou l'ordonnée à l'origine y. Il s'agit de la valeur de la variable dépendante lorsque x = 0.

b est le coefficient de la variable indépendante. Elle est également connue sous le nom de pente et donne le taux de variation de la variable dépendante.

ReLUn'est pas linéaire . La réponse simple est que la ReLUsortie n'est pas une ligne droite, elle se plie sur l'axe des x. Le point le plus intéressant est quelle est la conséquence de cette non-linéarité. En termes simples, les fonctions linéaires vous permettent de disséquer le plan d'entités à l'aide d'une ligne droite. Mais avec la non-linéarité de ReLUs, vous pouvez créer des courbes de forme arbitraire sur le plan d'entité.

ReLUpeut avoir un inconvénient qui est sa valeur attendue. Il n'y a pas de limitation pour la sortie du Reluet sa valeur attendue n'est pas nulle. Tanhétait plus populaire que sigmoidparce que sa valeur attendue est égale à zéro et l'apprentissage dans les couches plus profondes se produit plus rapidement. Bien que ReLUne possède pas cet avantage batch normalizationrésout ce problème .

Vous pouvez également vous référer ici et ici pour plus d'informations.

Médias
la source