Yuta Hayashibe

オンライン分散並列学習

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

  • 各更新でBB個のデータ(ミニバッチ)を使って並列で勾配を計算し,その平均を使って,パラメータを更新する
    • BB個は,毎回独立同分布でサンプリングする
  • 並列プロセスは更新のたびに同期する必要が有る
    • Bulk Synchronous Parallel (BSP)とよばれる

Parallel SGD

  • 更新のたび毎回同期して平均計算するのではなく,最後に平均をとる
    • 学習データを並列プロセス数PPで分割する
    • プロセスごとに,確率的降下勾配法をTT回反復してwp(T+1)\bold{w}_p^{(T+1)}を得る
    • 平均1Ppwp(T+1)\frac{1}{P} \sum_p \bold{w}_p^{(T+1)}をとる
  • 損失関数が凸で,その勾配がリプシッツ連続なら最適解に収束する

Iterative Parameter Mixture (IPM)

  • 最後に平均をとるのではなく,各プロセスが担当するデータを1回舐めたら,その時同期して平均をとる
  • これをTT回繰り返す

Stale Synchronous Parallel (SSP)

  • IPMは理論的保証がしにくい
    • 各プロセスのパラメータがどれくらいずれるか(分散)が評価しづらいため
    • 各プロセスのパラメータが大きく離れすぎないような制約が必要
  • SSPはBSPの一般化
  • 差分ベクトル
    • 更新時にパラメータに加算されるベクトル
  • BSPは,あるプロセスppの時刻TTにおけるパラメータ更新時には,残りの全てのプロセスの時刻t<Tt<Tにおける差分ベクトルが必要だった
  • この制約を緩和して,「残りの全てのプロセスの時刻t<Tst<T-sにおける差分ベクトルが必要」とする
    • ssはstalenessと呼ばれる定数
    • s=0s=0ならBSPと等価
  • 確率的勾配降下法に対するSSPは,目的関数がK-リプシッツ連続な凸関数で,どの2つのデータ間のユークリッド距離がある定数FF以下なら,最適解に収束する

参考文献