Différence dans l'utilisation du dégradé normalisé et du dégradé

15

Dans le cadre général de l'algorithme de descente de gradient, nous avons x n est le point courant, η est la taille du pas et g r a d i e n t x n est le gradient évalué à x n . xn+1=xnηgradientxnxnηgradientxnxn

J'ai vu dans un algorithme, les gens utilisent un gradient normalisé au lieu d'un gradient . Je voulais savoir quelle est la différence dans l'utilisation du dégradé normalisé et simplement du dégradé .

Apprenant
la source
1
Puis-je poser une question? comment calculer le gradient normalisé si j'ai déjà obtenu le vecteur gradient? Si le vecteur de dégradé est numérique, je dois normaliser le dégradé. Pourriez-vous donner des exemples intuitifs sur la normalisation du gradient? Je vous remercie!

Réponses:

12

ηdicter jusqu'où nous voulons aller dans la direction calculée. Cependant, si vous utilisez une descente de gradient non normalisée, à tout moment, la distance que vous parcourez dans la direction optimale est dictée par l'ampleur du gradient (essentiellement dictée par la surface de la fonction objectif, c'est-à-dire qu'un point sur une surface escarpée aura magnitude élevée alors qu’un point sur une surface assez plate aura une magnitude faible).


η
η
3] Si vous voulez laisser l'amplitude du gradient dicter la taille du pas, vous utiliserez une descente de gradient non normalisée. Il existe plusieurs autres variantes, comme vous pouvez laisser l'amplitude du dégradé décider de la taille du pas, mais vous mettez un plafond dessus, etc.

Maintenant, la taille des pas a clairement une influence sur la vitesse de convergence et de stabilité. La taille des étapes ci-dessus qui fonctionne le mieux dépend uniquement de votre application (c'est-à-dire de la fonction objective). Dans certains cas, la relation entre la vitesse de convergence, la stabilité et la taille des pas peut être analysée. Cette relation peut alors indiquer si vous souhaitez opter pour une descente de gradient normalisée ou non normalisée.

Pour résumer, il n'y a pas de différence entre la descente de gradient normalisée et non normalisée (en ce qui concerne la théorie derrière l'algorithme). Cependant, il a un impact pratique sur la vitesse de convergence et de stabilité. Le choix de l'un par rapport à l'autre est uniquement basé sur l'application / l'objectif en question.

TenaliRaman
la source
Vous pouvez adopter une approche intermédiaire où vous normalisez en fonction du premier gradient, par exemple. Cela ferait quand même de la taille relative du gradient une question de taille de pas.
dashnick
2

ηη

Brian Borchers
la source
2

f(x)=xTxy(t)=x0/||x0||et. Ainsi, la norme du gradient diminue exponentiellement rapidement lorsque vous approchez du point critique. Dans de tels cas, il est souvent préférable de rebondir dans les deux sens plusieurs fois plutôt que de l'approcher très lentement. En général cependant, les méthodes de premier ordre sont connues pour avoir une convergence très lente autour des points critiques, vous ne devriez donc pas vraiment les utiliser si vous vous souciez vraiment de la précision. Si vous ne pouvez pas calculer la Hesse de votre objectif analytiquement, vous pouvez toujours l'approcher (BFGS).

fairidox
la source