Relu a 0 gradient par définition, alors pourquoi la disparition du gradient n'est pas un problème pour x <0?

10

Par définition, Relu est max(0,f(x)). Ensuite , son gradient est défini comme suit: 1 if x > 0 and 0 if x < 0.

Cela ne signifierait-il pas que le gradient est toujours 0 (disparaît) lorsque x <0? Alors pourquoi dit-on que Relu ne souffre pas du problème de disparition du gradient?

Edamame
la source

Réponses:

5

Vous avez surtout raison! ReLU a un problème avec la disparition du gradient, mais seulement d'un côté, nous l'appelons donc quelque chose d'autre: le «problème de ReLU mourant». Voir cette réponse de débordement de pile pour plus d'informations: Quel est le problème "mourant ReLU" dans les réseaux de neurones?

C'est une petite différence sémantique. De nombreuses fonctions (tanh et logistic / sigmoid) ont des dérivés très proches de zéro lorsque vous êtes en dehors de la plage de fonctionnement standard. C'est le problème du «gradient de fuite». Plus vous empirez, plus il est difficile de revenir dans la bonne zone. ReLU ne s'aggrave pas plus vous êtes loin dans la direction positive, donc pas de problème de dégradé disparaissant (de ce côté). Cette asymétrie pourrait suffire à justifier de l'appeler quelque chose de différent, mais les idées sont assez similaires.

Joseph Catrambone
la source
2
Il convient d'ajouter: Le problème du gradient disparaissant a tendance à concerner les changements progressifs sur la profondeur d'un réseau, et non directement les propriétés des fonctions de transfert des neurones.
Neil Slater
1

La disparition signifie qu'elle va vers 0 mais ne sera jamais vraiment 0. Avoir des gradients de 0 rend les calculs très faciles, avoir des gradients proches de 0 signifie qu'il y a des changements, juste de très petits qui signifient un apprentissage lent et des problèmes numériques. 1 et 0 sont deux des nombres les plus faciles à calculer dans ce type de problèmes d'optimisation.

Jan van der Vegt
la source