σμ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 AcademyRoadmapsSkills
Ctrl K
AO
+1,2 Tsd. Lernende
AnmeldenBeitreten ↗
RoadmapsSkills
AO
+1,2 Tsd. Lernende
Anmelden
  • 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 AcademyRoadmapsSkills
Ctrl K
AO
+1,2 Tsd. Lernende
AnmeldenBeitreten ↗
RoadmapsSkills
AO
+1,2 Tsd. Lernende
Anmelden
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Optimization-Skill›Modul 2 · Gradientenverfahren›Thema 2.3·~55 Min.Mittelstufe

Momentum RMSProp und Adam

Position in der SkillModul 2 von 5 · Thema 3 von 3
2.3 Momentum RMSProp und Adam
—Lab-Punkte— / 100XP gesamt—Serie—

Sich an frühere Gradienten erinnern

Einfache Gradientenschritte behandeln jede Iteration für sich, daher zickzacken sie durch schmale Täler und kriechen über flache. Momentum führt eine Geschwindigkeit mit, eine laufende Summe vergangener Gradienten: 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. Gleichgerichtete Gradienten addieren sich, solche mit wechselndem Vorzeichen heben sich auf. Bei konstantem Gradienten wächst die Geschwindigkeit auf das 1/(1−β)1/(1-\beta)1/(1−β)-Fache des Gradienten, sodass β=0.9\beta=0.9β=0.9 am Ende zehnmal größere Schritte macht als einfacher Abstieg.

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 löst ein anderes Problem, Parameter in verschiedenen Größenordnungen. Es führt einen gleitenden Mittelwert sss des quadrierten Gradienten jeder Koordinate und teilt den Schritt durch s\sqrt{s}s​: Eine Koordinate mit großem, verrauschtem Gradienten macht kleine Schritte, eine mit kleinem Gradienten größere. Adam verbindet beide Ideen: Es mittelt den Gradienten (mmm, der Momentum-Teil) und den quadrierten Gradienten (vvv, der RMSProp-Teil). Beide Mittel starten bei null und sind anfangs zu klein, deshalb teilt Adam durch 1−βt1-\beta^{t}1−βt, um diese Verzerrung zu korrigieren. Übliche Standardwerte sind β1=0.9\beta_1=0.9β1​=0.9, β2=0.999\beta_2=0.999β2​=0.999 und η=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)
Drei Updates von HandMomentum mit β=0.9\beta=0.9β=0.9, η=0.1\eta=0.1η=0.1 und konstantem Gradienten 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, der dritte Schritt hat also die Länge 0.2710.2710.271 gegenüber 0.10.10.1 beim einfachen Abstieg. RMSProp mit ρ=0.9\rho=0.9ρ=0.9 und g=2g=2g=2: s1=0.1⋅4=0.4s_1=0.1\cdot4=0.4s1​=0.1⋅4=0.4 und g/s1=3.16g/\sqrt{s_1}=3.16g/s1​​=3.16, ein um etwa 3.163.163.16 verstärkter Schritt. Adam bei t=1t=1t=1 mit g=2g=2g=2: m=0.2m=0.2m=0.2, v=0.004v=0.004v=0.004, also m^=2\hat m=2m^=2, v^=4\hat v=4v^=4, und der Schritt ist η⋅2/2=η\eta\cdot2/2=\etaη⋅2/2=η, egal wie groß ggg ist.
  • Momentum: glättet das Zickzack und beschleunigt entlang konsistenter Richtungen.
  • RMSProp: teilt jede Koordinate durch die laufende Wurzel des mittleren Quadrats ihres Gradienten.
  • Adam: beides, plus eine Verzerrungskorrektur, weil die Mittel bei null starten.
Adam ist eine Voreinstellung, keine GarantieDa der Schritt von Adam unabhängig von der Gradientengröße etwa η\etaη pro Koordinate beträgt, wird η\etaη zum wichtigsten Stellrad: zu groß, und der Verlust springt, zu klein, und das Training kriecht. Lassen Sie η\etaη bei verrauschten Problemen mit der Zeit abnehmen und vergleichen Sie mit gut abgestimmtem SGD mit Momentum, bevor Sie dem Ergebnis von Adam trauen, denn beide können in verschiedenen Minima landen.

Lab: Was bewertet wird

  • Momentum-Geschwindigkeit15 Pkt.
  • Die langfristige Verstärkung15 Pkt.
  • RMSProp-Mittel10 Pkt.
  • Die RMSProp-Schrittskala15 Pkt.
  • Der erste Adam-Schritt15 Pkt.
  • Methode und Idee zuordnen15 Pkt.
  • Warum Skalierung pro Koordinate hilft15 Pkt.
0/ 7 beantwortet
Aufgaben
1Numerische Antwort15 Pkt.Nicht beantwortet

Mit β=0.9\beta=0.9β=0.9 und konstantem Gradienten g=1g=1g=1, ab v0=0v_0=0v0​=0: Wie groß ist die Geschwindigkeit v3v_3v3​ nach drei Updates v←βv+gv\leftarrow\beta v+gv←βv+g?

v3=v3 =v3=akzeptiert: ± 0.01
2Numerische Antwort15 Pkt.Nicht beantwortet

Bei konstantem Gradienten strebt die Geschwindigkeit gegen g/(1−β)g/(1-\beta)g/(1−β). Um welchen Faktor vergrößert β=0.9\beta=0.9β=0.9 am Ende den Schritt gegenüber einfachem Abstieg?

amp=amp =amp=akzeptiert: ± 0.05
3Numerische Antwort10 Pkt.Nicht beantwortet

RMSProp mit ρ=0.9\rho=0.9ρ=0.9 sieht ab s0=0s_0=0s0​=0 den Gradienten g=2g=2g=2. Wie groß ist s1=ρs0+(1−ρ)g2s_1=\rho s_0+(1-\rho)g^2s1​=ρs0​+(1−ρ)g2?

s1=s1 =s1=akzeptiert: ± 0.005
4Numerische Antwort15 Pkt.Nicht beantwortet

Der RMSProp-Schritt ist η g/s1\eta\,g/\sqrt{s_1}ηg/s1​​. Für g=2g=2g=2 und s1=0.4s_1=0.4s1​=0.4: Wie groß ist g/s1g/\sqrt{s_1}g/s1​​? Geben Sie zwei Dezimalstellen an.

scale=scale =scale=akzeptiert: ± 0.02
5Numerische Antwort15 Pkt.Nicht beantwortet

Adam bei t=1t=1t=1 mit β1=0.9\beta_1=0.9β1​=0.9, β2=0.999\beta_2=0.999β2​=0.999 und g=2g=2g=2 hat m=0.2m=0.2m=0.2 und v=0.004v=0.004v=0.004. Nach der Verzerrungskorrektur ist sein Schritt η m^/v^\eta\,\hat m/\sqrt{\hat v}ηm^/v^​. Um welches Vielfache von η\etaη bewegt er sich?

adam1=adam1 =adam1=akzeptiert: ± 0.01
6Zuordnen15 Pkt.Nicht beantwortet

Ordnen Sie jeder Methode ihre Hauptidee zu.

Wähle den Partner für jedes Element links.

Momentum
RMSProp
Adam
Verzerrungskorrektur
7In Worten erklären15 Pkt.Nicht beantwortet

Sagen Sie in ein bis zwei Sätzen, warum es hilft, den Schritt jeder Koordinate durch die Größe ihrer jüngsten Gradienten zu teilen, wenn Parameter sehr verschiedene Größenordnungen haben.

Mathe-ModusEingabe per Tastatur oder LaTeXAufgabe 1 von 7 · Strg ⏎ zum Prüfen

Melde dich an, um deinen Code auszuführen.

Alle Lektionen kannst du kostenlos lesen. Erstelle ein Konto oder melde dich an, um Code auszuführen, Tests zu starten und dieses Lab abzugeben.

  • IDE im Browser mit Bash-Terminal — nichts zu installieren
  • Sofortige Bewertung, XP und dein Platz auf der Skill
Konto erstellenAnmelden
ODER
Weiter mit GitHub