parallel stochastic gradient discent #nipsreading
DESCRIPTION
Parallel Stochastic Gradient Discent #nipsreadingTRANSCRIPT
![Page 1: Parallel Stochastic Gradient Discent #nipsreading](https://reader033.vdocuments.mx/reader033/viewer/2022042607/55794e0dd8b42a31678b529c/html5/thumbnails/1.jpg)
#nipsreading
@nokuno
Parallelized Stochastic Gradient Descent
Martin A. Zinkevich. et al.
![Page 2: Parallel Stochastic Gradient Discent #nipsreading](https://reader033.vdocuments.mx/reader033/viewer/2022042607/55794e0dd8b42a31678b529c/html5/thumbnails/2.jpg)
アルゴリズムは超シンプル
解析部分はサッパリ分からず時間が足りないので省略
実験結果は至って普通
MapReduceによるSGDの並列化を提案
概要 2
![Page 3: Parallel Stochastic Gradient Discent #nipsreading](https://reader033.vdocuments.mx/reader033/viewer/2022042607/55794e0dd8b42a31678b529c/html5/thumbnails/3.jpg)
マルチコア環境での並列SGD
MapReduce環境でのバッチ学習の並列化
提案法はMapReduce環境での並列SGD
教師あり学習の並列化にはいくつかの分類がある
既存手法 3
![Page 4: Parallel Stochastic Gradient Discent #nipsreading](https://reader033.vdocuments.mx/reader033/viewer/2022042607/55794e0dd8b42a31678b529c/html5/thumbnails/4.jpg)
前提知識:MapReduce 4
mapmap map map
Shuffle and Sort: aggregate values by keys
reduce reduce reduce
k1 k2 k3 k4 k5 k6v1 v2 v3 v4 v5 v6
ba 1 2 c c3 6 a c5 2 b c7 8
a 1 5 b 2 7 c 2 3 6 8
r1 s1 r2 s2 r3 s3
![Page 5: Parallel Stochastic Gradient Discent #nipsreading](https://reader033.vdocuments.mx/reader033/viewer/2022042607/55794e0dd8b42a31678b529c/html5/thumbnails/5.jpg)
オンラインで勾配を使って重み更新
SGD:擬似コード 5
jc
tw
:データjに対するコスト関数
:時刻tの重み
:学習率
![Page 6: Parallel Stochastic Gradient Discent #nipsreading](https://reader033.vdocuments.mx/reader033/viewer/2022042607/55794e0dd8b42a31678b529c/html5/thumbnails/6.jpg)
各コンピュータでSGDした結果の重みを平均する
ParallelSGD:擬似コード 6
このアルゴリズムでは全コンピュータが全データを持つ必要がある!
k: コンピュータ数
![Page 7: Parallel Stochastic Gradient Discent #nipsreading](https://reader033.vdocuments.mx/reader033/viewer/2022042607/55794e0dd8b42a31678b529c/html5/thumbnails/7.jpg)
MapReduce向きにデータも処理も分散させる
SimuParallelSGD: 擬似コード 7
Map
Red
uce
![Page 8: Parallel Stochastic Gradient Discent #nipsreading](https://reader033.vdocuments.mx/reader033/viewer/2022042607/55794e0dd8b42a31678b529c/html5/thumbnails/8.jpg)
非公開のEメールシステムのデータセットを使用
ラベルは2値ラベル
テストセット:681,015個
訓練セット:2,508,220個
特徴量: 785,751,531次元(非常にスパース)
ハッシュで2^18 次元に圧縮
ノーマライズ済み
たぶんYahoo! Mailのスパム判定セットで実験
実験データ 8
![Page 9: Parallel Stochastic Gradient Discent #nipsreading](https://reader033.vdocuments.mx/reader033/viewer/2022042607/55794e0dd8b42a31678b529c/html5/thumbnails/9.jpg)
データとマシンを増やせばスケールする
実験結果(訓練誤差) 9
![Page 10: Parallel Stochastic Gradient Discent #nipsreading](https://reader033.vdocuments.mx/reader033/viewer/2022042607/55794e0dd8b42a31678b529c/html5/thumbnails/10.jpg)
テストセットでも効果は同様と確認できた
実験結果(テストセット) 10
![Page 11: Parallel Stochastic Gradient Discent #nipsreading](https://reader033.vdocuments.mx/reader033/viewer/2022042607/55794e0dd8b42a31678b529c/html5/thumbnails/11.jpg)
正則化項を小さくすると、Single Pathより並能が良い(?)
実験結果(訓練誤差) 11
訓練誤差で結果を論じられても・・・
![Page 12: Parallel Stochastic Gradient Discent #nipsreading](https://reader033.vdocuments.mx/reader033/viewer/2022042607/55794e0dd8b42a31678b529c/html5/thumbnails/12.jpg)
アルゴリズムは超シンプル
ちゃんとスケールするよ
MapReduceによるSGDの並列化を提案
まとめ 12
![Page 13: Parallel Stochastic Gradient Discent #nipsreading](https://reader033.vdocuments.mx/reader033/viewer/2022042607/55794e0dd8b42a31678b529c/html5/thumbnails/13.jpg)
ご清聴ありがとうございました
13
Presentation by