Pourquoi utilisons-nous ReLU dans les réseaux de neurones et comment l'utilisons-nous?

31

Pourquoi utilisons-nous des unités linéaires rectifiées (ReLU) avec des réseaux de neurones? Comment cela améliore-t-il le réseau neuronal?

Pourquoi disons-nous que ReLU est une fonction d'activation? La fonction d'activation softmax n'est-elle pas pour les réseaux de neurones? Je suppose que nous utilisons à la fois ReLU et softmax, comme ceci:

neurone 1 avec sortie softmax ----> ReLU sur la sortie du neurone 1, qui est l'
entrée du neurone 2 ---> neurone 2 avec sortie softmax -> ...

de sorte que l'entrée du neurone 2 est fondamentalement ReLU (softmax (x1)). Est-ce correct?

user2896492634
la source

Réponses:

36

La fonction ReLU est f(x)=max(0,x). Habituellement, elle est appliquée élément par élément à la sortie d'une autre fonction, telle qu'un produit vecteur matriciel. Dans les utilisations MLP, les unités de redressement remplacent toutes les autres fonctions d'activation, à l'exception peut-être de la couche de lecture. Mais je suppose que vous pouvez les mélanger et les assortir si vous le souhaitez.

Les ReLU améliorent les réseaux neuronaux en accélérant la formation. Le calcul du gradient est très simple (soit 0 soit 1 selon le signe de x ). En outre, l'étape de calcul d'une ReLU est facile: tous les éléments négatifs sont définis sur 0,0 - pas d'exponentielles, pas de multiplication ou de division.

Les gradients des réseaux tangents logistiques et hyperboliques sont plus petits que la partie positive du ReLU. Cela signifie que la partie positive est mise à jour plus rapidement à mesure que la formation progresse. Cependant, cela a un coût. Le gradient 0 sur le côté gauche a son propre problème, appelé "neurones morts", dans lequel une mise à jour du gradient définit les valeurs entrantes sur un ReLU de telle sorte que la sortie est toujours nulle; des unités ReLU modifiées telles que ELU (ou Leaky ReLU, ou PReLU, etc.) peuvent améliorer cela.

ddxReLU(x)=1x>0 . En revanche, le gradient d'une unité sigmoïde est au plus de ; d'autre part, se porte mieux pour les entrées dans une région proche de 0 puisque (environ).0.25tanh0.25<ddxtanh(x)1x[1.31,1.31]

Sycorax dit de réintégrer Monica
la source
@aginensky Vous pouvez poser des questions en cliquant sur le bouton Poser une question en haut de la page.
Sycorax dit Réintégrer Monica le
Je ne vois aucune preuve que je voulais poser une question ou que j'ai participé à cette page. Franchement, je suis étonné de voir à quel point ReLU fonctionne, mais j'ai cessé de le remettre en question :).
aginensky
@aginensky Il semble que le commentaire ait été supprimé entre-temps.
Sycorax dit Réintégrer Monica le
Le commentaire n'a pas été supprimé par moi et je n'ai pas été informé. J'ai cessé de répondre aux questions et je suppose que cela signifie que j'ai aussi fini de commenter.
aginensky
@aginensky Je ne sais pas pourquoi cela vous empêcherait de commenter. Si vous avez des questions sur les commentaires et la modération, vous pouvez poser une question dans meta.stats.SE.
Sycorax dit Réintégrer Monica le
4

Une chose importante à souligner est que ReLU est idempotent. Étant donné que ReLU est , il est facile de voir que est vrai pour toute composition finie . Cette propriété est très importante pour les réseaux de neurones profonds, car chaque couche du réseau applique une non-linéarité. Maintenant, appliquons deux à trois fois la fonction de la famille sigmoïde à la même entrée:ρ(x)=max(0,x)ρρρρ=ρ

entrez la description de l'image ici

Vous pouvez immédiatement voir que les fonctions sigmoïdes "écrasent" leurs entrées, ce qui entraîne le problème du gradient de fuite: les dérivées approchent de zéro lorsque (le nombre d'applications répétées) approche de l'infini.n

Eli Korvigo
la source
0

ReLU est la fonction max (x, 0) avec l'entrée x par exemple la matrice d'une image convolutée. ReLU met ensuite toutes les valeurs négatives de la matrice x à zéro et toutes les autres valeurs sont maintenues constantes.

ReLU est calculé après la convolution et donc une fonction d'activation non linéaire comme tanh ou sigmoïde.

Softmax est un classificateur à la fin du réseau neuronal. C'est une régression logistique pour régulariser les sorties à des valeurs comprises entre 0 et 1. (Alternative ici est un classificateur SVM).

CNN Forward Pass, par exemple: entrée-> conv-> ReLU-> Pool-> conv-> ReLU-> Pool-> FC-> softmax

Randy Welt
la source
8
Downvoting. C'est une très mauvaise réponse! Softmax n'est pas un classificateur! C'est une fonction qui normalise (met à l'échelle) les sorties à la plage [0,1] et garantit qu'elles résument jusqu'à 1. La régression logistique ne "régularise" rien! La phrase "ReLU est calculée après la convolution et donc une fonction d'activation non linéaire comme tanh ou sigmoïde." manque de verbe ou de sens.
Jan Kukacka du
1
La réponse n'est pas si mauvaise. La phrase sans le verbe doit être "ReLU est calculé après la convolution et EST donc une fonction d'activation non linéaire comme tanh ou sigmoïde." Penser à softmax en tant que classificateur est également logique. Il peut être considéré comme un classificateur probabiliste qui attribue une probabilité à chaque classe. Il "régularise" / "normalise" les sorties à l'intervalle [0,1].
user118967
0

ReLU est un commutateur littéral. Avec un interrupteur électrique, 1 volt en entrée donne 1 volt en sortie, n volts en entrée donne n volts en marche. On / Off lorsque vous décidez de passer à zéro donne exactement le même graphique que ReLU. La somme pondérée (produit scalaire) d'un certain nombre de sommes pondérées est toujours un système linéaire. Pour une entrée particulière, les commutateurs ReLU sont individuellement activés ou désactivés. Cela se traduit par une projection linéaire particulière de l'entrée à la sortie, car diverses sommes pondérées de la somme pondérée de ... sont connectées ensemble par les commutateurs. Pour un neurone d'entrée et un neurone de sortie particuliers, il existe un système composé de sommes pondérées qui peuvent en fait être résumées en une seule somme pondérée effective. Étant donné que ReLU commute l'état à zéro, il n'y a pas de discontinuités soudaines dans la sortie pour des changements graduels dans l'entrée.

Il existe d'autres algorithmes de somme pondérée numériquement efficace (produit scalaire) comme la FFT et la transformation de Walsh Hadamard. Il n'y a aucune raison pour que vous ne puissiez pas les intégrer dans un réseau neuronal basé sur ReLU et bénéficier des gains de calcul. (Par exemple. Réseaux de neurones à banc de filtres fixes.)

Sean O'Connor
la source