σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyFeuilles de routeParcours
Ctrl K
AO
+1,2 k apprenants
ConnexionRejoindre ↗
Feuilles de routeParcours
AO
+1,2 k apprenants
Connexion
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyFeuilles de routeParcours
Ctrl K
AO
+1,2 k apprenants
ConnexionRejoindre ↗
Feuilles de routeParcours
AO
+1,2 k apprenants
Connexion
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Parcours Optimization›Module 2 · Méthodes de gradient›Sujet 2.3·~55 minIntermédiaire

Momentum RMSProp et Adam

Position dans le parcoursModule 2 sur 5 · Sujet 3 sur 3
2.3 Momentum RMSProp et Adam
—Score du lab— / 100XP total—Série—

Se souvenir des gradients passés

Les pas de gradient simples traitent chaque itération isolément : ils zigzaguent dans les vallées étroites et rampent sur les plates. Le momentum garde une vitesse, somme glissante des gradients passés : v←βv+g\mathbf v\leftarrow\beta\mathbf v+\mathbf gv←βv+g, w←w−ηv\mathbf w\leftarrow\mathbf w-\eta\mathbf vw←w−ηv. Les gradients de même sens s'additionnent, ceux qui changent de signe s'annulent. Avec un gradient constant la vitesse tend vers 1/(1−β)1/(1-\beta)1/(1−β) fois le gradient : β=0.9\beta=0.9β=0.9 finit par faire des pas dix fois plus grands que la descente simple.

v←βv+g,w←w−ηv,v∞=g1−β\mathbf v\leftarrow\beta\mathbf v+\mathbf g,\qquad \mathbf w\leftarrow\mathbf w-\eta\mathbf v,\qquad \mathbf v_{\infty}=\frac{\mathbf g}{1-\beta}v←βv+g,w←w−ηv,v∞​=1−βg​(1)

RMSProp corrige un autre problème, celui des paramètres d'échelles différentes. Il suit une moyenne glissante sss du carré du gradient de chaque coordonnée et divise le pas par s\sqrt{s}s​ : une coordonnée au gradient grand et bruité fait de petits pas, une coordonnée au petit gradient en fait de plus grands. Adam combine les deux idées : il moyenne le gradient (mmm, la partie momentum) et le gradient au carré (vvv, la partie RMSProp). Les deux moyennes partent de zéro, donc trop petites au début ; Adam divise par 1−βt1-\beta^{t}1−βt pour corriger ce biais. Les valeurs usuelles sont β1=0.9\beta_1=0.9β1​=0.9, β2=0.999\beta_2=0.999β2​=0.999 et η=10−3\eta=10^{-3}η=10−3.

s←ρs+(1−ρ)g2,w←w−ηgs+εs\leftarrow\rho s+(1-\rho)g^{2},\qquad w\leftarrow w-\eta\frac{g}{\sqrt{s}+\varepsilon}s←ρs+(1−ρ)g2,w←w−ηs​+εg​(2)
m←β1m+(1−β1)g,v←β2v+(1−β2)g2,m^=m1−β1t,  v^=v1−β2t,w←w−ηm^v^+εm\leftarrow\beta_1 m+(1-\beta_1)g,\quad v\leftarrow\beta_2 v+(1-\beta_2)g^{2},\quad \hat m=\frac{m}{1-\beta_1^{t}},\ \ \hat v=\frac{v}{1-\beta_2^{t}},\quad w\leftarrow w-\eta\frac{\hat m}{\sqrt{\hat v}+\varepsilon}m←β1​m+(1−β1​)g,v←β2​v+(1−β2​)g2,m^=1−β1t​m​,  v^=1−β2t​v​,w←w−ηv^​+εm^​(3)
Trois mises à jour à la mainMomentum avec β=0.9\beta=0.9β=0.9, η=0.1\eta=0.1η=0.1 et un gradient constant g=1g=1g=1 : v1=1v_1=1v1​=1, v2=1.9v_2=1.9v2​=1.9, v3=2.71v_3=2.71v3​=2.71, donc le troisième pas mesure 0.2710.2710.271 contre 0.10.10.1 pour la descente simple. RMSProp avec ρ=0.9\rho=0.9ρ=0.9 et g=2g=2g=2 : s1=0.1⋅4=0.4s_1=0.1\cdot4=0.4s1​=0.1⋅4=0.4 et g/s1=3.16g/\sqrt{s_1}=3.16g/s1​​=3.16, un pas amplifié d'environ 3.163.163.16. Adam à t=1t=1t=1 avec g=2g=2g=2 : m=0.2m=0.2m=0.2, v=0.004v=0.004v=0.004, d'où m^=2\hat m=2m^=2, v^=4\hat v=4v^=4 et le pas vaut η⋅2/2=η\eta\cdot2/2=\etaη⋅2/2=η, quelle que soit la taille de ggg.
  • Momentum : lisse le zigzag et accélère le long des directions constantes.
  • RMSProp : divise chaque coordonnée par la racine de la moyenne quadratique glissante de son gradient.
  • Adam : les deux, plus une correction de biais car les moyennes partent de zéro.
Adam est un défaut, pas une garantieComme le pas d'Adam vaut environ η\etaη par coordonnée quelle que soit la taille du gradient, η\etaη devient le principal bouton de réglage : trop grand, la perte rebondit, trop petit, l'entraînement rampe. Faites décroître η\etaη au fil du temps sur les problèmes bruités, et comparez avec une SGD à momentum bien réglée avant de croire le résultat d'Adam, car les deux peuvent s'arrêter dans des minima différents.

Lab : ce qui est noté

  • Vitesse du momentum15 pts
  • L'amplification à long terme15 pts
  • Moyenne de RMSProp10 pts
  • L'échelle du pas RMSProp15 pts
  • Le premier pas d'Adam15 pts
  • Associer méthode et idée15 pts
  • Pourquoi l'échelle par coordonnée aide15 pts
0/ 7 traités
Exercices
1Réponse numérique15 ptsSans réponse

Avec β=0.9\beta=0.9β=0.9 et un gradient constant g=1g=1g=1, depuis v0=0v_0=0v0​=0, quelle est la vitesse v3v_3v3​ après trois mises à jour v←βv+gv\leftarrow\beta v+gv←βv+g ?

v3=v3 =v3=accepté : ± 0.01
2Réponse numérique15 ptsSans réponse

Avec un gradient constant, la vitesse tend vers g/(1−β)g/(1-\beta)g/(1−β). De quel facteur β=0.9\beta=0.9β=0.9 multiplie-t-il finalement le pas par rapport à la descente simple ?

amp=amp =amp=accepté : ± 0.05
3Réponse numérique10 ptsSans réponse

RMSProp avec ρ=0.9\rho=0.9ρ=0.9, depuis s0=0s_0=0s0​=0, voit le gradient g=2g=2g=2. Combien vaut s1=ρs0+(1−ρ)g2s_1=\rho s_0+(1-\rho)g^2s1​=ρs0​+(1−ρ)g2 ?

s1=s1 =s1=accepté : ± 0.005
4Réponse numérique15 ptsSans réponse

Le pas RMSProp vaut η g/s1\eta\,g/\sqrt{s_1}ηg/s1​​. Pour g=2g=2g=2 et s1=0.4s_1=0.4s1​=0.4, combien vaut g/s1g/\sqrt{s_1}g/s1​​ ? Donnez-le avec deux décimales.

scale=scale =scale=accepté : ± 0.02
5Réponse numérique15 ptsSans réponse

Adam à t=1t=1t=1 avec β1=0.9\beta_1=0.9β1​=0.9, β2=0.999\beta_2=0.999β2​=0.999 et g=2g=2g=2 a m=0.2m=0.2m=0.2 et v=0.004v=0.004v=0.004. Après la correction de biais son pas vaut η m^/v^\eta\,\hat m/\sqrt{\hat v}ηm^/v^​. De quel multiple de η\etaη avance-t-il ?

adam1=adam1 =adam1=accepté : ± 0.01
6Associer15 ptsSans réponse

Associez chaque méthode à son idée principale.

Choisissez le partenaire de chaque élément de gauche.

Momentum
RMSProp
Adam
Correction de biais
7Expliquer avec des mots15 ptsSans réponse

En une ou deux phrases, dites pourquoi diviser le pas de chaque coordonnée par la taille de ses gradients récents aide quand les paramètres ont des échelles très différentes.

Mode mathsSaisie au clavier ou en LaTeXExercice 1 sur 7 · Ctrl ⏎ pour vérifier

Connectez-vous pour exécuter votre code.

Tous les cours sont gratuits à lire. Créez un compte ou connectez-vous pour exécuter du code, lancer les tests et soumettre ce lab.

  • IDE dans le navigateur avec terminal bash — rien à installer
  • Correction instantanée, XP et votre place dans le parcours
Créer un compteSe connecter
OU
Continuer avec GitHub