Pourquoi ReLU est meilleur que les autres fonctions d'activation

17

Ici, la réponse se réfère à des gradients de fuite et d'explosion qui ont été sigmoiddes fonctions d'activation similaires, mais, je suppose, Reluont un inconvénient et c'est sa valeur attendue. il n'y a pas de limitation pour la sortie du Reluet donc sa valeur attendue n'est pas nulle. Je me souviens du temps avant que la popularité de Reluce tanhn'était le plus populaire parmi les experts en apprentissage automatique sigmoid. La raison en était que la valeur attendue de la tanhétait égale à zéro et qu'elle aidait l'apprentissage dans les couches plus profondes à être plus rapide dans un réseau neuronal. Relun'a pas cette caractéristique, mais pourquoi cela fonctionne si bien si nous mettons de côté son avantage dérivé. De plus, je suppose que le dérivé peut également être affecté. Parce que les activations (sortie deRelu) participent au calcul des règles de mise à jour.

Médias
la source
Il est courant d'avoir une sorte de normalisation (par exemple, la normalisation par lots, la normalisation des couches) avec ReLU. Cela ajuste la plage de sortie.
ncasas
@ncasas Mais dans la CNNnormalisation typique, la sortie du relun'est pas courante? Au moins, je n'ai jamais vu ça.
Média
Vous avez raison, dans les CNN peu profonds, il est normal de ne pas avoir de normalisation par lots. Avez-vous considéré le rôle des valeurs initiales de poids? (par exemple, il initialisation)
ncasas
oui, en fait, ils sont destinés à empêcher les dégradés de disparaître / exploser, après quelques itérations, les sorties deviennent plus grandes, je suppose.
Média

Réponses:

21

Le plus grand avantage de ReLu est en effet la non saturation de son gradient, ce qui accélère considérablement la convergence de la descente du gradient stochastique par rapport aux fonctions sigmoïde / tanh ( article de Krizhevsky et al).

Mais ce n'est pas le seul avantage. Voici une discussion sur les effets de rareté des activations ReLu et la régularisation induite. Une autre propriété intéressante est que, par rapport aux neurones tanh / sigmoïdes qui impliquent des opérations coûteuses (exponentielles, etc.), le ReLU peut être implémenté en seuillant simplement une matrice d'activations à zéro.

Mais je ne suis pas convaincu que le grand succès des réseaux de neurones modernes soit dû à ReLu seul . De nouvelles techniques d'initialisation, telles que l'initialisation de Xavier, le décrochage et (plus tard) batchnorm ont également joué un rôle très important. Par exemple, le célèbre AlexNet a utilisé ReLu et abandon.

Donc, pour répondre à votre question: ReLu a de très belles propriétés, mais pas idéales . Mais il fait vraiment ses preuves lorsqu'il est combiné avec d'autres excellentes techniques, qui par ailleurs résolvent le problème du centre non nul que vous avez mentionné.

UPD: La sortie ReLu n'est pas vraiment centrée sur zéro et cela nuit aux performances NN. Mais ce problème particulier peut être résolu par d'autres techniques de régularisation, par exemple batchnorm, qui normalise le signal avant l'activation :

X=Wu+b

Maxime
la source
1
J'aurais dû souligner cette partie: j'essayais de dire que ReLu seul ne résout pas ce problème. Vous avez raison de dire que la sortie ReLu n'est pas centrée sur zéro et qu'elle nuit aux performances NN, à moins que les pondérations ne soient régularisées. Mais les gradients saturés ont encore plus nui au NN, donc l'adoption massive de ReLu a été un pas en avant malgré ses inconvénients.
Maxim
pourriez-vous s'il vous plaît dire ce que vous entendez par les poids sont régularisés? dans la réponse et aussi la chose que vous avez soulignée.
Média
Mise à jour de ma réponse avec quelques détails sur ce problème particulier
Maxim
Ce que je trouve un peu déroutant, pourquoi ne pas simplement utiliser la fonction d'identité? Quel est l'avantage de 0 pour les valeurs nég?
Alex
@Alex id n'est pas une non-linéarité. Cela revient à n'avoir que des couches linéaires dans le NN. Voir cette question - stackoverflow.com/q/46659525/712995
Maxim