Quels sont les avantages dutiliser ReLU par rapport à softplus comme fonctions dactivation?


Meilleure réponse

ReLU est défini comme f (x) = max (0, x). Le softplus est son substitut différentiel et est défini comme f (x) = ln (1 + e ^ x).

Le ReLU et le Softplus sont en grande partie similaires, sauf près de 0 où le softplus est incroyablement lisse et différenciable. Il est beaucoup plus facile et efficace de calculer ReLU et son dérivé que pour la fonction softplus qui a log (.) Et exp (.) Dans sa formulation. Fait intéressant, le dérivé de la fonction softplus est la fonction logistique: f « (x) = \ frac {1} {1 + e ^ {- x}}.

En apprentissage profond, calculer la fonction dactivation et sa dérivée est aussi fréquente que laddition et la soustraction en arithmétique. En passant à ReLU, les passes avant et arrière sont beaucoup plus rapides tout en conservant la nature non linéaire de la fonction dactivation requise pour que les réseaux de neurones profonds soient utiles.

Réponse

Lintérêt dune fonction dactivation est dêtre non linéaire.

Laissez-moi expliquez pourquoi. Si vous disposez dun réseau à plusieurs couches (dit «profond» par rapport à un réseau «peu profond»), votre modèle pourrait potentiellement apprendre à détecter ou à gérer des exemples beaucoup plus sophistiqués. Lors de son fonctionnement, votre réseau utiliserait plus dinterconnexions entre les poids (et probablement plus de poids). Lorsque vous faites les calculs, cela signifie en grande partie multiplier et additionner des nombres ensemble, comme:

y = f (W x + b).

avec f (\ cdot) étant une fonction dactivation.

Lorsque vous «cascade» les couches, la sortie de chaque couche devient une entrée pour la suivante. Pour 2 couches par exemple:

y = x\_2 = f (W\_2 x\_1 + b\_2) = f (W\_2 f (W\_1 x\_0 + b\_1) + b\_2).

Cependant, si f (\ cdot) était une fonction linéaire f (x) = \ alpha x + \ beta alors le réseau entier «seffondrerait» en un réseau à une seule couche, simplement parce quil tout combinaison linéaire de fonctions linéaires est une fonction linéaire elle-même.

Léquation ci-dessus rendrait:

x\_2 = \ alpha (W\_2 (\ alpha (W\_1 x\_0 + b\_1) + \ beta) + b\_2) + \ beta = \ alpha ^ 2 W\_1 W\_2 x\_0 + \ alpha ^ 2 W\_1 W\_2 b\_1 + \ alpha ^ 2 W\_2 \ beta + \ alpha W\_2 b\_1 + \ beta = \ alpha « x\_0 + \ beta « .

Cest comme si vous aviez un réseau à couche unique avec des poids légèrement différents.

Maintenant, ReLU introduit la non-linéarité, ce qui signifie que linstruction ci-dessus ne tient plus, Loptimiseur doit donc «faire plus defforts» pour vraiment entraîner les pesées et faire fonctionner le tout. Il existe bien sûr dautres fonctions non linéaires (par exemple sigmoïde, tanh, etc.), mais le point essentiel est quelles doivent être non linéaires.

Enfin, lexemple qui vient dêtre écrit est basé sur un simple réseau densément connecté, mais je suppose quil sétend également à dautres cas.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *