σμ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 Academyロードマップスキル
Ctrl K
AO
+1.2k 人の学習者
ログイン参加する ↗
ロードマップスキル
AO
+1.2k 人の学習者
ログイン
  • 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 Academyロードマップスキル
Ctrl K
AO
+1.2k 人の学習者
ログイン参加する ↗
ロードマップスキル
AO
+1.2k 人の学習者
ログイン
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Optimization スキル›モジュール 2 · 勾配法›トピック 2.3·~55 分中級

モメンタムとRMSPropとAdam

スキル上の位置モジュール 2/5 · トピック 3/3
2.3 モメンタムとRMSPropとAdam
—ラボスコア— / 100合計XP—連続日数—

過去の勾配を記憶する

単純な勾配ステップは各反復を単独で扱うので、狭い谷ではジグザグし、平らな所では這うように進みます。モメンタムは過去の勾配の累積である速度を保ちます: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。同じ向きの勾配は積み上がり、符号が反転する勾配は打ち消し合います。勾配が一定なら速度は勾配の 1/(1−β)1/(1-\beta)1/(1−β) 倍に近づくので、β=0.9\beta=0.9β=0.9 は単純な降下の10倍のステップを踏むことになります。

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 は別の問題、つまりパラメータのスケールの違いを扱います。各座標の勾配の2乗の移動平均 sss を追い、ステップを s\sqrt{s}s​ で割るので、勾配が大きくてノイズの多い座標は小さく、勾配の小さい座標は大きく進みます。Adam は2つの考えを合わせ、勾配の平均(mmm、モメンタム部分)と勾配の2乗の平均(vvv、RMSProp部分)を取ります。どちらの平均もゼロから始まるため最初は小さすぎるので、Adam は 1−βt1-\beta^{t}1−βt で割ってこの偏りを補正します。標準値は β1=0.9\beta_1=0.9β1​=0.9、β2=0.999\beta_2=0.999β2​=0.999、η=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)
手計算の3つの更新β=0.9\beta=0.9β=0.9、η=0.1\eta=0.1η=0.1、一定の勾配 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 で、3番目のステップの長さは単純な降下の 0.10.10.1 に対して 0.2710.2710.271 です。ρ=0.9\rho=0.9ρ=0.9、g=2g=2g=2 の RMSProp では、s1=0.1⋅4=0.4s_1=0.1\cdot4=0.4s1​=0.1⋅4=0.4、g/s1=3.16g/\sqrt{s_1}=3.16g/s1​​=3.16 で、ステップは約 3.163.163.16 倍に増幅されます。t=1t=1t=1、g=2g=2g=2 の Adam では、m=0.2m=0.2m=0.2、v=0.004v=0.004v=0.004 なので m^=2\hat m=2m^=2、v^=4\hat v=4v^=4 となり、ステップは ggg の大きさによらず η⋅2/2=η\eta\cdot2/2=\etaη⋅2/2=η です。
  • モメンタム:ジグザグを和らげ、一貫した向きで加速します。
  • RMSProp:各座標を、その勾配の移動二乗平均平方根で割ります。
  • Adam:両方に加え、平均がゼロから始まるための偏り補正を行います。
Adamは標準であって保証ではないAdam のステップは勾配の大きさによらず座標あたりおよそ η\etaη なので、η\etaη が主な調整ノブになります。大きすぎると損失が跳ね、小さすぎると学習が這うように遅くなります。ノイズの多い問題では η\etaη を時間とともに減らし、Adam の結果を信じる前に、よく調整したモメンタム付きSGDと比較してください。両者は別の最小値に落ち着くことがあります。

ラボ:採点される内容

  • モメンタムの速度15点
  • 長期的な増幅率15点
  • RMSPropの平均10点
  • RMSPropのステップ倍率15点
  • Adamの最初のステップ15点
  • 手法と考え方を結び付ける15点
  • 座標ごとのスケーリングが役立つ理由15点
0/ 7問回答済み
問題
1数値で答える15点未回答

β=0.9\beta=0.9β=0.9、一定の勾配 g=1g=1g=1、v0=0v_0=0v0​=0 から、3回の更新 v←βv+gv\leftarrow\beta v+gv←βv+g の後の速度 v3v_3v3​ はいくつですか。

v3=v3 =v3=許容:± 0.01
2数値で答える15点未回答

勾配が一定のとき、速度は g/(1−β)g/(1-\beta)g/(1−β) に近づきます。β=0.9\beta=0.9β=0.9 は単純な降下に比べて最終的にステップを何倍にしますか。

amp=amp =amp=許容:± 0.05
3数値で答える10点未回答

ρ=0.9\rho=0.9ρ=0.9 の RMSProp が s0=0s_0=0s0​=0 から勾配 g=2g=2g=2 を受け取ります。s1=ρs0+(1−ρ)g2s_1=\rho s_0+(1-\rho)g^2s1​=ρs0​+(1−ρ)g2 はいくつですか。

s1=s1 =s1=許容:± 0.005
4数値で答える15点未回答

RMSProp のステップは η g/s1\eta\,g/\sqrt{s_1}ηg/s1​​ です。g=2g=2g=2、s1=0.4s_1=0.4s1​=0.4 のとき g/s1g/\sqrt{s_1}g/s1​​ はいくつですか。小数第2位まで答えてください。

scale=scale =scale=許容:± 0.02
5数値で答える15点未回答

t=1t=1t=1、β1=0.9\beta_1=0.9β1​=0.9、β2=0.999\beta_2=0.999β2​=0.999、g=2g=2g=2 の Adam では m=0.2m=0.2m=0.2、v=0.004v=0.004v=0.004 です。偏り補正後のステップは η m^/v^\eta\,\hat m/\sqrt{\hat v}ηm^/v^​ です。η\etaη の何倍進みますか。

adam1=adam1 =adam1=許容:± 0.01
6対応づけ15点未回答

各手法をその主な考え方に結び付けてください。

左の各項目に対応するものを選んでください。

モメンタム
RMSProp
Adam
偏り補正
7言葉で説明する15点未回答

1〜2文で、パラメータのスケールが大きく異なるとき、各座標のステップを最近の勾配の大きさで割ることが役立つ理由を述べてください。

数学モードキーボードまたは LaTeX で入力問題1/7 · Ctrl ⏎ で確認

コードを実行するにはログインしてください。

レクチャーはすべて無料で読めます。コードの実行、テスト、ラボの提出にはアカウントの作成かログインが必要です。

  • ブラウザ内IDEとbashターミナル。インストール不要
  • 即時採点、XP、スキルでの現在地
アカウントを作成ログイン
または
GitHubで続ける