Pourquoi les dérivés du second ordre sont-ils utiles dans l'optimisation convexe?


18

Je suppose que c'est une question fondamentale et cela a à voir avec la direction du gradient lui-même, mais je cherche des exemples où les méthodes de 2ème ordre (par exemple BFGS ) sont plus efficaces qu'une simple descente de gradient.


3
Est-il trop simpliste de simplement observer que "trouver le sommet d'un paraboloïde" est une bien meilleure approximation du problème "trouver un minimum" que "trouver le minimum de cette fonction linéaire" (qui, bien sûr, n'a pas de minimum parce que c'est linéaire)?

Réponses:


20

Voici un cadre commun pour interpréter à la fois la descente de gradient et la méthode de Newton, qui est peut-être un moyen utile de penser la différence comme un complément à la réponse de @ Sycorax. (BFGS se rapproche de la méthode de Newton; je n'en parlerai pas en particulier ici.)

Nous minimisons la fonction f , mais nous ne savons pas comment le faire directement. Donc, à la place, nous prenons une approximation locale à notre point actuel x et minimisons cela.

La méthode de Newton rapproche la fonction à l'aide d'une expansion de Taylor de second ordre: f ( x ) désigne le gradient de f au point x et2 f ( x ) la Hesse à x . Il passe ensuite à arg min y N x ( y ) et répète.

f(y)Nx(y):=f(x)+f(x)T(yx)+12(yx)T2f(x)(yx),
f(x)fx2f(x)xargminyNx(y)

La descente de gradient, ayant uniquement le gradient et non la Hesse, ne peut pas simplement faire une approximation de premier ordre et minimiser cela, car comme l'a noté @Hurkyl, il n'y a pas de minimum. Au lieu de cela, nous définissons une taille de pas et un pas vers x - t f ( x ) . Mais notez que x - ttxtf(x) Ainsi la descente de gradient minimise une fonction Gx(y):=f(x)+f(x)T(y-x)+1

xtf(x)=argmaxy[f(x)+f(x)T(yx)+12tyx2]=argmaxy[f(x)+f(x)T(yx)+12(yx)T1tI(yx)].
Gx(y):=f(x)+f(x)T(yx)+12(yx)T1tI(yx).

Ainsi, la descente de gradient est un peu comme utiliser la méthode de Newton, mais au lieu de prendre l'expansion de Taylor de second ordre, nous prétendons que le Hessian est 1tIGfN

f(x)=12xTAx+dTx+c

N=f

Gx(y)=f(x)+(Ax+d)Ty+12(xy)T1tI(xy)
xA

1
Ceci est similaire à la réponse de @ Aksakal , mais plus en profondeur.
Dougal

1
(+1) Ceci est un excellent ajout!
Sycorax dit Réintégrer Monica le

17

Essentiellement, l'avantage d'une méthode dérivée seconde comme la méthode de Newton est qu'elle a la qualité d'une terminaison quadratique. Cela signifie qu'il peut minimiser une fonction quadratique en un nombre fini d'étapes. Une méthode comme la descente de gradient dépend fortement du taux d'apprentissage, ce qui peut faire en sorte que l'optimisation converge lentement car elle rebondit autour de l'optimum ou diverge complètement. Des taux d'apprentissage stables peuvent être trouvés ... mais impliquent le calcul de la toile de jute. Même lorsque vous utilisez un taux d'apprentissage stable, vous pouvez avoir des problèmes comme l'oscillation autour de l'optimum, c'est-à-dire que vous ne prendrez pas toujours un chemin "direct" ou "efficace" vers le minimum. Il peut donc falloir plusieurs itérations pour se terminer, même sivous en êtes relativement proche. BFGS et la méthode de Newton peuvent converger plus rapidement même si l'effort de calcul de chaque étape est plus coûteux.

F(x)=12xTAx+dTx+c
F(x)=Ax+d
xk+1=xkα(Axk+d)=(IαA)xkαd.

IαA sont inférieures à 1. Nous pouvons utiliser cette propriété pour montrer qu'un taux d'apprentissage stable satisfait

α<2λmuneX,
λmuneX est la plus grande valeur propre de UNE. Le taux de convergence de l'algorithme de descente le plus raide est limité par la plus grande valeur propre et la routine convergera plus rapidement en direction de son vecteur propre correspondant. De même, il convergera le plus lentement dans les directions du vecteur propre de la plus petite valeur propre. Lorsqu'il existe une grande disparité entre les valeurs propres grandes et petites pourUNE, la descente en pente sera lente. ToutUNE avec cette propriété convergera lentement en utilisant la descente de gradient.

In the specific context of neural networks, the book Neural Network Design has quite a bit of information on numerical optimization methods. The above discussion is a condensation of section 9-7.


Great answer! I'm accepting @Dougal 's answer as I think it provides a simpler explanation.
Bar

6

In convex optimization you are approximating the function as the second degree polynomial in one dimensional case:

f(x)=c+βx+αx2

In this case the the second derivative

2f(x)/x2=2α

If you know the derivatives, then it's easy to get the next guess for the optimum:

guess=β2α

The multivariate case is very similar, just use gradients for derivatives.


2

@Dougal already gave a great technical answer.

The no-maths explanation is that while the linear (order 1) approximation provides a “plane” that is tangential to a point on an error surface, the quadratic approximation (order 2) provides a surface that hugs the curvature of the error surface.

The videos on this link do a great job of visualizing this concept. They display order 0, order 1 and order 2 approximations to the function surface, which just intuitively verifies what the other answers present mathematically.

Also, a good blogpost on the topic (applied to neural networks) is here.

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.