オンライン分散並列学習
ミニバッチ確率的降下勾配法
- 各更新でB個のデータ(ミニバッチ)を使って並列で勾配を計算し,その平均を使って,パラメータを更新する
- 並列プロセスは更新のたびに同期する必要が有る
- Bulk Synchronous Parallel (BSP)とよばれる
Parallel SGD
- 更新のたび毎回同期して平均計算するのではなく,最後に平均をとる
- 学習データを並列プロセス数Pで分割する
- プロセスごとに,確率的降下勾配法をT回反復してwp(T+1)を得る
- 平均P1∑pwp(T+1)をとる
- 損失関数が凸で,その勾配がリプシッツ連続なら最適解に収束する
Iterative Parameter Mixture (IPM)
- 最後に平均をとるのではなく,各プロセスが担当するデータを1回舐めたら,その時同期して平均をとる
- これをT回繰り返す
Stale Synchronous Parallel (SSP)
- IPMは理論的保証がしにくい
- 各プロセスのパラメータがどれくらいずれるか(分散)が評価しづらいため
- 各プロセスのパラメータが大きく離れすぎないような制約が必要
- SSPはBSPの一般化
- 差分ベクトル
- BSPは,あるプロセスpの時刻Tにおけるパラメータ更新時には,残りの全てのプロセスの時刻t<Tにおける差分ベクトルが必要だった
- この制約を緩和して,「残りの全てのプロセスの時刻t<T−sにおける差分ベクトルが必要」とする
- sはstalenessと呼ばれる定数
- s=0ならBSPと等価
- 確率的勾配降下法に対するSSPは,目的関数がK-リプシッツ連続な凸関数で,どの2つのデータ間のユークリッド距離がある定数F以下なら,最適解に収束する
参考文献