parallel stochastic gradient discent #nipsreading

Post on 11-Jun-2015

1.478 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Parallel Stochastic Gradient Discent #nipsreading

TRANSCRIPT

#nipsreading

@nokuno

Parallelized Stochastic Gradient Descent

Martin A. Zinkevich. et al.

アルゴリズムは超シンプル

解析部分はサッパリ分からず時間が足りないので省略

実験結果は至って普通

MapReduceによるSGDの並列化を提案

概要 2

マルチコア環境での並列SGD

MapReduce環境でのバッチ学習の並列化

提案法はMapReduce環境での並列SGD

教師あり学習の並列化にはいくつかの分類がある

既存手法 3

前提知識: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

オンラインで勾配を使って重み更新

SGD:擬似コード 5

jc

tw

:データjに対するコスト関数

:時刻tの重み

:学習率

各コンピュータでSGDした結果の重みを平均する

ParallelSGD:擬似コード 6

このアルゴリズムでは全コンピュータが全データを持つ必要がある!

k: コンピュータ数

MapReduce向きにデータも処理も分散させる

SimuParallelSGD: 擬似コード 7

Map

Red

uce

非公開のEメールシステムのデータセットを使用

ラベルは2値ラベル

テストセット:681,015個

訓練セット:2,508,220個

特徴量: 785,751,531次元(非常にスパース)

ハッシュで2^18 次元に圧縮

ノーマライズ済み

たぶんYahoo! Mailのスパム判定セットで実験

実験データ 8

データとマシンを増やせばスケールする

実験結果(訓練誤差) 9

テストセットでも効果は同様と確認できた

実験結果(テストセット) 10

正則化項を小さくすると、Single Pathより並能が良い(?)

実験結果(訓練誤差) 11

訓練誤差で結果を論じられても・・・

アルゴリズムは超シンプル

ちゃんとスケールするよ

MapReduceによるSGDの並列化を提案

まとめ 12

ご清聴ありがとうございました

13

Presentation by

top related