28
Nextremer Co., LTD. Confidential Document 10/6/16 Decoupled Neural Interfaces using Synthetic Gradients Authors: Max Jaderberg et al. Reporter: A. Saito 1

Decoupled Neural Interfaces using Synthetic Gradients

  • Upload
    tm2648

  • View
    214

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD.Confidential Document

10/6/16

Decoupled Neural Interfaces using Synthetic Gradients Authors: Max Jaderberg et al.

Reporter: A. Saito

1

Page 2: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

アウトライン

やりたいこと

より一般的な分散NNモデルの学習(Model Parallel)

理由:より柔軟なモデルをより効率的に訓練 End to end系のさらなる拡張など

問題

Forward, Backwardの考え方は「硬すぎる」 非同期性と相性悪い

提案

DNI: Decoupled Neural Interface

Feedforward NNとRNNの学習から同期性を取り除いた

より一般的な分散モデル学習への指針を示した

Page 3: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

 やりたいこと

より一般的な分散NNモデルとは?

有向グラフで表現

各頂点が分割されたモデルの断片or1台機械に対応

頂点でNNが実行される NNの中間層の出力を入力とする

有向辺上にNNの入出力値orBP値

頂点数でスケールさせたい

非同期性を考慮

Page 4: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

問題

いろいろなLockingが生じる

Backward(Forward) Locking

– 各々の層は自分より上位(下位)層の全計算完了まで待つ

– 最上位=出力&最下位=入力 最悪、深さに比例する待ち時間

その他注意

論文中のUpdate Locking NNに限らない一般な分散モデルでも、待ちを強制される

Page 5: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

提案のアイデア

分散環境の送信値が間違っていてもOK!

– 最初は送り手の頂点だって不正確な値を出力する

有向辺に流れる送信値を近似するNNを用意

– 頂点から送信された値との「差分」が目的関数

– 辺の個数と同じだけ目的関数がある 送信値は多種多様 

– Back Propagationのデルタ値

– Forward計算の途中値

分散環境全体を見て最適化

– 頂点のモデルの学習に伴い送信値を正確にする

Page 6: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

提案のアイデア

分散環境の送信値が間違っていてもOK!

– 最初は送り手の頂点だって不正確な値を出力する

有向辺に流れる送信値を近似するNNを用意

– 頂点から送信された値との「差分」が目的関数

– 辺の個数と同じだけ目的関数がある 送信値は多種多様

– Back Propagationのデルタ値

– Forward計算の途中値

分散環境全体を見て最適化

– 頂点のモデルの学習に伴い送信値を正確にする

Page 7: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

送信値を近似する

分散環境の送信値が間違っていてもOK!

最初は送り手の頂点だって不正確な値を出力する

BP勾配の場合

多層に渡るImplicitなパラメータを無視

Page 8: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

送信値を近似する

分散環境の送信値が間違っていてもOK!

最初は送り手の頂点だって不正確な値を出力する

BP勾配の場合

多層に渡るImplicitなパラメータを無視

第i層以外を無視

Page 9: Decoupled Neural Interfaces using Synthetic Gradients

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など

Page 10: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

Decouplingの場所

どこをDecupledにするかは、任意に決められる

Page 11: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

提案のアイデア

分散環境の送信値が間違っていてもOK!

– 最初は送り手の頂点だって不正確な値を出力する

有向辺に流れる送信値を近似するNNを用意

– 頂点から送信された値との「差分」が目的関数

– 辺の個数と同じだけ目的関数がある 送信値は多種多様

– Back Propagationのデルタ値

– Forward計算の途中値

分散環境全体を見て最適化

– 頂点のモデルの学習に伴い送信値を正確にする

Page 12: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

Back & Forwardを近似

送信値の例

Back Propagationのデルタ値

Forward計算の途中値

どっちも使う例

Page 13: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

提案のアイデア

分散環境の送信値が間違っていてもOK!

– 最初は送り手の頂点だって不正確な値を出力する

有向辺に流れる送信値を近似するNNを用意

– 頂点から送信された値との「差分」が目的関数

– 辺の個数と同じだけ目的関数がある 送信値は多種多様

– Back Propagationのデルタ値

– Forward計算の途中値

分散環境全体を見て最適化

– 頂点のモデルの学習に伴い送信値を正確にする

– 例としてUpdate Locking@FNN & RNNを説明

Page 14: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

FNNのBP重み更新の例

隣接3層が1層3個に分割

2個の誤差近似NNを用意

一番上は出力層

最下層から順に繰り返す

近似NN値から層の重み更新

1つ上の層からの誤差and/or

1つ下の層から近似NNの重み更新

2個の目的関数を定義

Page 15: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

FNNのBP重み更新の例

i+1番目の近似NN出力から第i層の重みを更新

Page 16: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

FNNのBP重み更新の例

i+2番目の近似NN出力から第i+1層の重みを更新

第i+1層誤差&第i層出力からi+1番目の近似NN

重み更新

Page 17: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

FNNのBP重み更新の例

教師信号から第i+2層重み更新

第i+2層誤差&第i+1層出力からi+2番目の近似NN

重み更新

Page 18: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

RNNでは

RNN

時間長=深さ

とりあえずオフラインのBPTTのみ考慮

例:9ステップのとき

Page 19: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

RNNでは

RNN

時間長=深さ

とりあえずオフラインのBPTTのみ考慮

例:9ステップのとき

深さ3の時間展開されたNNが3つ

各々の深さ3の部分では、通常のBP

間に2つDNI挟む

Page 20: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

RNN では

例:9ステップのとき

図のt+3以前の区間の重み更新にt+4以降の情報が使用されている

Truncated BPTTより精密な処理をしている

Truncated BPTTは計算グラフの存在を無視

デルタ=0とみなして足しているのと同じ

Page 21: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

RNN では

例:9ステップのとき

– 近似の近似(Synthetic gradientの近似)

– 隣接していない2つの断片にもDNIを挟める

Page 22: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

RNN では

例:9ステップのとき

– 近似の近似(Synthetic gradientの近似)

– 隣接していない2つの断片にもDNIを挟める

Page 23: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

提案のアイデア

分散環境の送信値が間違っていてもOK!

– 最初は送り手の頂点だって不正確な値を出力する

有向辺に流れる送信値を近似するNNを用意

– 頂点から送信された値との「差分」が目的関数

– 辺の個数と同じだけ目的関数がある 送信値多種多様

– Back Propagationのデルタ値

– Forward計算の途中値

分散環境全体を見て最適化

– 頂点のモデルの学習に伴い送信値を正確にする

Page 24: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

実験結果の例

cDNIの付加情報cは効果的

Forward & Update のUnlockでもOK

Page 25: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

実験結果(MNIST)

cDNIの付加情報cは効果的!!!

ここにone-hot

など

Page 26: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

実験結果(MNIST)

ちゃんと学習できてるYO!!

Forward & Update のUnlockでもOKです。

Page 27: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

実験結果(PTB)

PTBもできてる

Character-level language modelling

Page 28: Decoupled Neural Interfaces using Synthetic Gradients

Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document

まとめ

俺達の分散モデル学習はこれからだ!!!

先生の次回作にご期待下さい!