σμ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.2·~55 分中級

確率的勾配降下法とミニバッチ

スキル上の位置モジュール 2/5 · トピック 2/3
2.2 確率的勾配降下法とミニバッチ
—ラボスコア— / 100合計XP—連続日数—

少数のサンプルから勾配を推定する

多くの当てはめ問題は、データ上の平均 f(w)=1n∑i=1nℓi(w)f(\mathbf w)=\frac1n\sum_{i=1}^{n}\ell_i(\mathbf w)f(w)=n1​∑i=1n​ℓi​(w)(たとえば nnn 個の観測に対する2乗誤差)を最小化します。正確な勾配は毎ステップ nnn 項すべてを必要とし、nnn が数百万ティックだと遅すぎます。確率的勾配降下法は bbb 個の観測からなるランダムなミニバッチ BBB を引き、その平均勾配 gBg_BgB​ を代わりに使います。この推定は不偏、つまり平均すると真の勾配に等しくなります。

gB=1b∑i∈B∇ℓi(w),w←w−η gB,E[gB]=∇f,Var(gB)=σ2bg_B=\frac1b\sum_{i\in B}\nabla\ell_i(\mathbf w),\qquad \mathbf w\leftarrow\mathbf w-\eta\,g_B,\qquad \mathbb E[g_B]=\nabla f,\qquad \mathrm{Var}(g_B)=\frac{\sigma^{2}}{b}gB​=b1​i∈B∑​∇ℓi​(w),w←w−ηgB​,E[gB​]=∇f,Var(gB​)=bσ2​(1)

近道の代償はノイズです。バッチ勾配の分散は 1/b1/b1/b で減るので、標準偏差を半分にするにはバッチを4倍にする必要があり、収穫は急速に逓減します。1エポックはデータを一巡することで、n/bn/bn/b 回の更新を含みます。ステップが一定だと反復は落ち着きません。最小値でもバッチ勾配はゼロでないため、最小値の周りの小さな球の中で揺れ続けます。対策はステップを縮めることです。古典的なロビンス=モンロー条件は、必要なだけ遠くへ進めるように ∑tηt=∞\sum_t\eta_t=\infty∑t​ηt​=∞、ノイズが消えるように ∑tηt2<∞\sum_t\eta_t^{2}<\infty∑t​ηt2​<∞ を求めます。スケジュール ηt=η0/t\eta_t=\eta_0/tηt​=η0​/t は両方を満たします。

4つのデータ点データ x=2,4,6,12x=2,4,6,12x=2,4,6,12 に水準 www を当てはめます。損失は ℓi=12(w−xi)2\ell_i=\tfrac12(w-x_i)^2ℓi​=21​(w−xi​)2 で、勾配は w−xiw-x_iw−xi​ です。w=0w=0w=0 では4つの個別勾配は −2,−4,−6,−12-2,-4,-6,-12−2,−4,−6,−12 で、その平均である全勾配は −6-6−6 です。個別勾配はこの平均の周りに分散 16+4+0+364=14\frac{16+4+0+36}{4}=14416+4+0+36​=14 を持ちます。したがって復元抽出の b=7b=7b=7 のバッチの勾配分散は 14/7=214/7=214/7=2 です。
  • 不偏:ランダムなバッチの勾配は平均すると全勾配に等しい。
  • ノイズあり:分散は σ2/b\sigma^2/bσ2/b で、バッチを4倍にすると標準偏差は半分になる。
  • 縮むステップ:∑ηt=∞\sum\eta_t=\infty∑ηt​=∞ かつ ∑ηt2<∞\sum\eta_t^2<\infty∑ηt2​<∞(例 ηt=η0/t\eta_t=\eta_0/tηt​=η0​/t)で収束します。
時間順のデータはランダム標本ではない上の不偏性は、バッチをランダムに引くことを前提にしています。連続した日付のバッチは1つの市場局面から来るので、その勾配はその局面に偏り、時間順に学習すると局面とともにずれることがあります。各エポックの始めにサンプルの添字をシャッフルしてください。時系列モデルのように順序そのものが重要なときは、各例の中では系列を保ち、例どうしをシャッフルします。

ラボ:採点される内容

  • 全勾配15点
  • 1サンプルのノイズ15点
  • バッチのノイズ15点
  • エポックあたりの更新回数15点
  • 収束するステップのスケジュール15点
  • ミニバッチのループ10点
  • なぜ一定ステップは落ち着かないのか15点
0/ 7問回答済み
問題
1数値で答える15点未回答

データ x=2,4,6,12x=2,4,6,12x=2,4,6,12、損失 ℓi=12(w−xi)2\ell_i=\tfrac12(w-x_i)^2ℓi​=21​(w−xi​)2 とします。w=0w=0w=0 での全勾配 14∑i(w−xi)\frac14\sum_i(w-x_i)41​∑i​(w−xi​) はいくつですか。

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

w=0w=0w=0 での個別勾配は −2,−4,−6,−12-2,-4,-6,-12−2,−4,−6,−12 で平均は −6-6−6 です。その分散(平均からの2乗偏差の平均)はいくつですか。

var1=var1 =var1=許容:± 0.1
3数値で答える15点未回答

復元抽出した b=7b=7b=7 個のミニバッチがこれらの勾配を平均します。バッチ勾配の分散はいくつですか。

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

データは n=10,000n=10{,}000n=10,000 個の観測、ミニバッチの大きさは b=250b=250b=250 です。1エポックは何回の更新からなりますか。

updates=updates =updates=許容:± 0.5
5選択15点未回答

ロビンス=モンロー条件 ∑ηt=∞\sum\eta_t=\infty∑ηt​=∞ と ∑ηt2<∞\sum\eta_t^2<\infty∑ηt2​<∞ の両方を満たすステップのスケジュールはどれですか。

6手順を並べ替える10点未回答

ミニバッチSGDの1エポックを正しい順に並べてください。

ドラッグして並べ替えます。または項目にフォーカスし、スペースで持ち上げ、矢印キーで移動、スペースで置きます。

  1. 1w←w−ηgB\mathbf w\leftarrow\mathbf w-\eta g_Bw←w−ηgB​ で重みを更新する
  2. 2すべてのバッチを使い切るまで次のバッチで繰り返す
  3. 3データをシャッフルしてバッチに分ける
  4. 41つのバッチで平均勾配 gBg_BgB​ を計算する
7言葉で説明する15点未回答

1〜2文で、一定ステップのSGDが最小値の周りで揺れ続ける理由と、それを減らす方法を説明してください。

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

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

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

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