Decoupled Neural Interfaces using Synthetic Gradients

  • View
    214

  • Download
    1

  • Category

    Science

Preview:

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

まとめ

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

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

Recommended