Pourquoi accélère-t-il la descente du gradient si la fonction est fluide?


10

Je lis maintenant un livre intitulé "Apprentissage automatique avec Scikit-Learn et TensorFlow" et au chapitre 11, il contient la description suivante de l'explication de ELU (Exponential ReLU).

Troisièmement, la fonction est fluide partout, y compris autour de z = 0, ce qui permet d'accélérer la descente de gradient, car elle ne rebondit pas autant à gauche et à droite de z = 0.

entrez la description de l'image ici

Le zsignifie l'axe des x sur le graphique ci-dessus. Je comprends que la dérivée est lisse car la z < 0ligne a une courbe et dans ce domaine, la dérivée n'est plus égale à 0.

Cependant, pourquoi est-il vrai que si la fonction est "lisse partout, y compris autour de z = 0", elle accélère la descente de gradient?


BTW suis-je dans le bon SE? Data Science, Artificial Intelligence, and Cross Validated, (and also MathSE) ... me semble que de nombreux sujets sont fortement liés les uns aux autres ...
Blaszard

2
Je pense que vous seriez en sécurité de publier cette question ici sur Data Science ou sur Cross Validated. Peut-être que c'est ok pour l'intelligence artificielle aussi, mais je connais moins ce site.
Neil Slater

Bonne question. La douceur vous permet de prendre des mesures audacieuses dans la bonne direction au lieu de faire des pas provisoires, car le gradient pourrait changer radicalement à l'étape suivante. Pour une analyse de convergence, voir par exemple, la descente accélérée de gradient de Nesterov pour une optimisation lisse et fortement convexe
Emre

@NeilSlater AI a une portée très floue. Ils clôturent ces questions. Donc, DS et CV seraient les meilleures options :)
Dawny33

Réponses:


1

Je suppose que cela est dû à la dérivée, car ReLU a une dérivée discontinue à 0. Par conséquent, si vous utilisez la définition:

ff(x+ϵ)f(xϵ)2ϵ

et est très proche de 0, vous obtiendrez beaucoup de ces «sauts».x


0

Un préliminaire: il y a trois attributs d'une fonction qui sont pertinents ici: continu, monotone et différenciable. Le RELU est un écrou continu et monotone non différenciable à z = 0. Le relu exponentiel ou ELU est tous les trois de ces attributs.

Le différentiel ou gradient vous donne une direction. Lorsque la dérivée d'une fonction n'est pas définie en un point, la direction du gradient est indéterminée en ce point.

Lors de l'application d'une descente de gradient, nous souhaitons modifier en continu les paramètres de sorte que la fonction de perte diminue régulièrement, ce qui revient à dire que nous souhaitons continuer à descendre vers le minimum.

Lorsque la dérivée d'une fonction de perte n'est pas définie à un moment donné, le gradient est indéterminé. Cela signifie que la descente du gradient pourrait potentiellement se déplacer dans la mauvaise direction. L'ampleur du retard causé par cette indétermination dépend du taux d'apprentissage et d'autres hyper-paramètres. Indépendamment des hyperparamètres, statistiquement, la dérivée non définie dans RELU à z = 0, contribue au ralentissement de la convergence de la descente de gradient.


Il est très peu probable que le paramètre devienne exactement z = 0 après l'initialisation.
Pieter

0

Être plus rapide ou plus bas est un terme relatif et doit être compris dans le contexte de ce à quoi il se compare. Donc, pour comprendre cela, nous devons d'abord considérer comment la descente de gradient fonctionne avec d'autres types de la fonction d'activation.

Exemple de configuration

n

z1=W1x+b1

a1=f(z1)

...

zn=Wnan1+bn

y=f(zn)

f

Tanh et Sigmoid - Dégradé disparaissant

ff(x)(1,1)x

yW1

dfdW1=dfdWndWndWn1...dW2dW1

0<i<n

dXidXi1=f(Wi1ai2+bi1)×ai2(1,1)

(1,1)fai2(1,1)

dfdW1ndfdW1

RELU et Dead Neuron

ai>0f

dXidXi1=ai2
dfdW1=a1a2a3...an1

x>0x<0

Leaky RELU et ELU

x>0x<1

Je cite le papier original pour la différence entre les deux.

Bien que les LReLU et les PReLU aient également des valeurs négatives, ils n'assurent pas un état de désactivation robuste au bruit. Les ELU saturent à une valeur négative avec des entrées plus petites et diminuent ainsi la variation et l'information propagées vers l'avant.

L'explication intuitive va comme suit. Dans ELU, chaque fois que x devenait suffisamment petit, le gradient devenait vraiment petit et saturé (de la même manière que cela se produit pour Tanh et Sigmoid). Le petit gradient signifie que l'algorithme d'apprentissage peut se concentrer sur le réglage d'autres poids sans se soucier de l'interactivité avec les neurones saturés.

Considérons un polynôme de degré 2 qui peut être représenté comme une surface lisse dans un espace 3D. Pour trouver le minimum local, un algorithme de descente de gradient devra tenir compte de la pente à la fois dans la direction x et y. Si le gradient est à la fois négatif dans la direction x et la direction y, il n'est pas clair quel chemin est le meilleur. Il est donc judicieux de choisir un chemin quelque part entre les deux. Mais que se passe-t-il si nous savons déjà que tout est plat (gradients zéro) dans la direction x, alors il devient évident de choisir la direction y. Ou en d'autres termes, votre espace de recherche devient beaucoup plus petit.

note spéciale

Dans l'apprentissage en profondeur, il y a beaucoup de revendications sans suffisamment de preuves empiriques ou de compréhension approfondie pour le soutenir. Dans le cas d'ELU, bien qu'il puisse être vrai que cela entraîne une convergence plus rapide pour certains ensembles de données, il pourrait également être vrai qu'il fait que l'algorithme d'apprentissage se bloque au maximum local pour un autre ensemble de données. Nous n'en savons tout simplement pas encore assez.


0

J'ai une idée intuitive de la raison pour laquelle les fonctions lisses sont plus rapides à optimiser, mais aucune preuve mathématique ou quoi que ce soit.

La descente en gradient calcule la dérivée de la fonction d'activation pour déterminer le changement de poids. Lorsque la fonction d'activation a une coupe ferme (par exemple à z = 0 pour ReLu), l'activation de l'unité peut changer radicalement (c'est-à-dire toujours zéro ou linéaire) pour des points de données spécifiques lors du changement des poids.

Les autres pondérations doivent s'adapter à ce comportement radicalement différent d'une unité spécifique pour des points de données spécifiques. Si, cependant, le comportement de l'unité change radicalement à nouveau au cours de la prochaine époque, le réseau continue de s'adapter aux changements de l'époque précédente.

Avec une fonction lisse, il n'y a pas de tels changements radicaux. Et ainsi le réseau peut se stabiliser plus progressivement.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.