`
a base du gradient
Recherche Op´erationnelle et Optimisation Master 1
S´ebastien Verel [email protected]
http://www-lisic.univ-littoral.fr/~verel
Universit´e du Littoral Cˆote d’Opale Laboratoire LISIC Equipe CAMOME
Contexte
Optimisation num´ erique
D´efinition : Probl`eme d’optimisation num´erique
Espace de recherche : ensemble de toutes les solutions possibles,
X ⊂IRn
Fonction objectif : crit`ere de cout (minimisation) f :IRn→IR
But : R´esoudre un probl`eme d’optimisation num´erique Trouver une des meilleures solution selon le crit`ere :
x? =argmin f
Mais, des fois, ensembles des meilleures solutions, bonne
approximation de la meilleure solution, bonne solution ’robuste’, etc.
Contexte
M´ ethode de la descente du gradient
Algorithme de descente du gradient Choisir solution initialex ∈ X repeat
w ← −∇f(x)
Choisir un nombre r´eel σ >0 x ←x+σ w
until crit`ere d’arrˆet non verifi´e
Comment choisir le step size σ en fonction de f etx? Comment d´efinir le crit`ere d’arrˆet ?
Contexte
M´ ethode de la descente du gradient
Algorithme de descente du gradient Choisir solution initialex ∈ X repeat
w ← −∇f(x)
Choisir un nombre r´eel σ >0 x ←x+σ w
until crit`ere d’arrˆet non verifi´e
Questions l´egitimes :
Comment choisir le step size σ en fonction de f etx? Comment d´efinir le crit`ere d’arrˆet ?
M´ ethode de Newton
Algorithme de Newton (dimension 1) Choisir solution initialex ∈ X repeat
w ← −1
f00(x)f0(x) x ←x+w
until crit`ere d’arrˆet non verifi´e
Algorithme de Newton (dimension n) Choisir solution initialex ∈ X repeat
w ← −[H(f(x))]−1∇f(x) x ←x+w
until crit`ere d’arrˆet non verifi´e
o`u H est la matrice Hersienne (matrice des d´eriv´ees secondes partielles)
Contexte
M´ ethodes d’optimisation bas´ ees sur le gradient
Cours
Sebastian Ruder, An overview of gradient descent optimization algorithms, arXiv, 2017.
http://sebastianruder.com/
optimizing-gradient-descent/index.html
Variantes des m´ ethodes de gradient
(Batch) gradient descent :
∇f(θ) =Ej∈1...p[∂f∂θ(θ;x(j),y(j))] ; θ←θ+σ ∇f(θ) Stochastic gradient descent :
∇f(θ;j) = ∂f∂θ(θ;x(j),y(j)) ;
∀j rnd order, θ ←θ+σ ∇f(θ;j) Momentum gradient descent : vt =γvt−1+σ∇f(θ) ; θ←θ−vt
Nesterov accelerated gradient descent (NAG) : vt =γvt−1+σ∇f(θ−γvt−1) ; θ←θ−vt Adagrad gradient descent :
gt,i =∇if(θ) ; Gt,ii =P
t06tgt20,i; ∀i, θi ←θi −√ σ
Gt,ii+gt,i
AdaDelta gradient descent : E[g2]t =γE[g2]t−1+ (1−γ)gt2; E[∆θ2]t =γE[∆θ2]t−1+ (1−γ)∆θ2t;
∆θt=−
√
E[∆θ2]t−1+
√
E[g2]t+ gt; θt←θt−1+ ∆θt
Contexte
Variantes des m´ ethodes de gradient
Adam gradient descent :
mt =β1mt−1+ (1−β1)gt;vt =β2vt−1+ (1−β2)gt2; ˆ
mt =mt/(1−β1t) ; ˆvt =vt/(1−β2t) ;θt+1 =θt− √vσ
t+mˆt AdaMax gradient descent :
mt =β1mt−1+ (1−β1)gt;vt = max(β2vt−1,|gt|) ; ˆ
mt =mt/(1−β1t) ;θt+1=θt−vσ
tmˆt
Nadam gradient descent :
mt =β1mt−1+ (1−β1)gt;vt =β2vt−1+ (1−β2)gt2; ˆ
mt =mt/(1−β1t) ; ˆvt =vt/(1−β2t) ; θt+1 =θt−√vσ
t+(β1mˆt+ (1−β1−β1)gt t
1 )
Travaux pratiques
Exercice 1
Calculer le gradient d’un mod`ele de r´egression multi-lin´eaire.
Exercice 2
A partir du codetp08.zipde la page web, coder le gradient du mod`ele de r´egression multi-lin´eiare.
Exercice 3
Coder les m´ethodes de gradients d´ecrites par le document de Sebastian Ruder.