Upload
tm2648
View
215
Download
1
Embed Size (px)
Citation preview
Nextremer Co., LTD.Confidential Document
10/6/16
Decoupled Neural Interfaces using Synthetic Gradients Authors: Max Jaderberg et al.
Reporter: A. Saito
1
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
アウトライン
やりたいこと
より一般的な分散NNモデルの学習(Model Parallel)
理由:より柔軟なモデルをより効率的に訓練 End to end系のさらなる拡張など
問題
Forward, Backwardの考え方は「硬すぎる」 非同期性と相性悪い
提案
DNI: Decoupled Neural Interface
Feedforward NNとRNNの学習から同期性を取り除いた
より一般的な分散モデル学習への指針を示した
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
やりたいこと
より一般的な分散NNモデルとは?
有向グラフで表現
各頂点が分割されたモデルの断片or1台機械に対応
頂点でNNが実行される NNの中間層の出力を入力とする
有向辺上にNNの入出力値orBP値
頂点数でスケールさせたい
非同期性を考慮
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
問題
いろいろなLockingが生じる
Backward(Forward) Locking
– 各々の層は自分より上位(下位)層の全計算完了まで待つ
– 最上位=出力&最下位=入力 最悪、深さに比例する待ち時間
その他注意
論文中のUpdate Locking NNに限らない一般な分散モデルでも、待ちを強制される
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
提案のアイデア
分散環境の送信値が間違っていてもOK!
– 最初は送り手の頂点だって不正確な値を出力する
有向辺に流れる送信値を近似するNNを用意
– 頂点から送信された値との「差分」が目的関数
– 辺の個数と同じだけ目的関数がある 送信値は多種多様
– Back Propagationのデルタ値
– Forward計算の途中値
分散環境全体を見て最適化
– 頂点のモデルの学習に伴い送信値を正確にする
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
提案のアイデア
分散環境の送信値が間違っていてもOK!
– 最初は送り手の頂点だって不正確な値を出力する
有向辺に流れる送信値を近似するNNを用意
– 頂点から送信された値との「差分」が目的関数
– 辺の個数と同じだけ目的関数がある 送信値は多種多様
– Back Propagationのデルタ値
– Forward計算の途中値
分散環境全体を見て最適化
– 頂点のモデルの学習に伴い送信値を正確にする
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
送信値を近似する
分散環境の送信値が間違っていてもOK!
最初は送り手の頂点だって不正確な値を出力する
BP勾配の場合
多層に渡るImplicitなパラメータを無視
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
送信値を近似する
分散環境の送信値が間違っていてもOK!
最初は送り手の頂点だって不正確な値を出力する
BP勾配の場合
多層に渡るImplicitなパラメータを無視
第i層以外を無視
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
DNIの図解例
有向辺に流れる送信値を近似するNNを用意
頂点から送信された値との「差分」が目的関数
近似デルタ値をSynthetic gradient 送信値を近似するNN(M_B)を用意
図の送信値は誤差 他の種類もある
点線は非同期可
S_Bは同期強制
cは、付加的な教師情報
分類ラベルのOne-hot-vector等
c付モデル=cDNI
これも目的関数
One-hotなど
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
Decouplingの場所
どこをDecupledにするかは、任意に決められる
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
提案のアイデア
分散環境の送信値が間違っていてもOK!
– 最初は送り手の頂点だって不正確な値を出力する
有向辺に流れる送信値を近似するNNを用意
– 頂点から送信された値との「差分」が目的関数
– 辺の個数と同じだけ目的関数がある 送信値は多種多様
– Back Propagationのデルタ値
– Forward計算の途中値
分散環境全体を見て最適化
– 頂点のモデルの学習に伴い送信値を正確にする
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
Back & Forwardを近似
送信値の例
Back Propagationのデルタ値
Forward計算の途中値
どっちも使う例
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
提案のアイデア
分散環境の送信値が間違っていてもOK!
– 最初は送り手の頂点だって不正確な値を出力する
有向辺に流れる送信値を近似するNNを用意
– 頂点から送信された値との「差分」が目的関数
– 辺の個数と同じだけ目的関数がある 送信値は多種多様
– Back Propagationのデルタ値
– Forward計算の途中値
分散環境全体を見て最適化
– 頂点のモデルの学習に伴い送信値を正確にする
– 例としてUpdate Locking@FNN & RNNを説明
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
FNNのBP重み更新の例
隣接3層が1層3個に分割
2個の誤差近似NNを用意
一番上は出力層
最下層から順に繰り返す
近似NN値から層の重み更新
1つ上の層からの誤差and/or
1つ下の層から近似NNの重み更新
2個の目的関数を定義
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
FNNのBP重み更新の例
i+1番目の近似NN出力から第i層の重みを更新
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
FNNのBP重み更新の例
i+2番目の近似NN出力から第i+1層の重みを更新
第i+1層誤差&第i層出力からi+1番目の近似NN
重み更新
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
FNNのBP重み更新の例
教師信号から第i+2層重み更新
第i+2層誤差&第i+1層出力からi+2番目の近似NN
重み更新
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
RNNでは
RNN
時間長=深さ
とりあえずオフラインのBPTTのみ考慮
例:9ステップのとき
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
RNNでは
RNN
時間長=深さ
とりあえずオフラインのBPTTのみ考慮
例:9ステップのとき
深さ3の時間展開されたNNが3つ
各々の深さ3の部分では、通常のBP
間に2つDNI挟む
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
RNN では
例:9ステップのとき
図のt+3以前の区間の重み更新にt+4以降の情報が使用されている
Truncated BPTTより精密な処理をしている
Truncated BPTTは計算グラフの存在を無視
デルタ=0とみなして足しているのと同じ
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
RNN では
例:9ステップのとき
– 近似の近似(Synthetic gradientの近似)
– 隣接していない2つの断片にもDNIを挟める
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
RNN では
例:9ステップのとき
– 近似の近似(Synthetic gradientの近似)
– 隣接していない2つの断片にもDNIを挟める
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
提案のアイデア
分散環境の送信値が間違っていてもOK!
– 最初は送り手の頂点だって不正確な値を出力する
有向辺に流れる送信値を近似するNNを用意
– 頂点から送信された値との「差分」が目的関数
– 辺の個数と同じだけ目的関数がある 送信値多種多様
– Back Propagationのデルタ値
– Forward計算の途中値
分散環境全体を見て最適化
– 頂点のモデルの学習に伴い送信値を正確にする
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
実験結果の例
cDNIの付加情報cは効果的
Forward & Update のUnlockでもOK
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
実験結果(MNIST)
cDNIの付加情報cは効果的!!!
ここにone-hot
など
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
実験結果(MNIST)
ちゃんと学習できてるYO!!
Forward & Update のUnlockでもOKです。
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
実験結果(PTB)
PTBもできてる
Character-level language modelling
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
まとめ
俺達の分散モデル学習はこれからだ!!!
先生の次回作にご期待下さい!