少数のサンプルから勾配を推定する
多くの当てはめ問題は、データ上の平均 f(w)=n1∑i=1nℓi(w)(たとえば n 個の観測に対する2乗誤差)を最小化します。正確な勾配は毎ステップ n 項すべてを必要とし、n が数百万ティックだと遅すぎます。確率的勾配降下法は b 個の観測からなるランダムなミニバッチ B を引き、その平均勾配 gB を代わりに使います。この推定は不偏、つまり平均すると真の勾配に等しくなります。
gB=b1i∈B∑∇ℓi(w),w←w−ηgB,E[gB]=∇f,Var(gB)=bσ2(1) 近道の代償はノイズです。バッチ勾配の分散は 1/b で減るので、標準偏差を半分にするにはバッチを4倍にする必要があり、収穫は急速に逓減します。1エポックはデータを一巡することで、n/b 回の更新を含みます。ステップが一定だと反復は落ち着きません。最小値でもバッチ勾配はゼロでないため、最小値の周りの小さな球の中で揺れ続けます。対策はステップを縮めることです。古典的なロビンス=モンロー条件は、必要なだけ遠くへ進めるように ∑tηt=∞、ノイズが消えるように ∑tηt2<∞ を求めます。スケジュール ηt=η0/t は両方を満たします。
4つのデータ点データ
x=2,4,6,12 に水準
w を当てはめます。損失は
ℓi=21(w−xi)2 で、勾配は
w−xi です。
w=0 では4つの個別勾配は
−2,−4,−6,−12 で、その平均である全勾配は
−6 です。個別勾配はこの平均の周りに分散
416+4+0+36=14 を持ちます。したがって復元抽出の
b=7 のバッチの勾配分散は
14/7=2 です。
- 不偏:ランダムなバッチの勾配は平均すると全勾配に等しい。
- ノイズあり:分散は σ2/b で、バッチを4倍にすると標準偏差は半分になる。
- 縮むステップ:∑ηt=∞ かつ ∑ηt2<∞(例 ηt=η0/t)で収束します。
時間順のデータはランダム標本ではない上の不偏性は、バッチをランダムに引くことを前提にしています。連続した日付のバッチは1つの市場局面から来るので、その勾配はその局面に偏り、時間順に学習すると局面とともにずれることがあります。各エポックの始めにサンプルの添字をシャッフルしてください。時系列モデルのように順序そのものが重要なときは、各例の中では系列を保ち、例どうしをシャッフルします。
ラボ:採点される内容
- 全勾配15点
- 1サンプルのノイズ15点
- バッチのノイズ15点
- エポックあたりの更新回数15点
- 収束するステップのスケジュール15点
- ミニバッチのループ10点
- なぜ一定ステップは落ち着かないのか15点