hybrid computing using a neural network with dynamic

19
Hybrid computing using a neural network with dynamic external memory TIS + Albert 勉勉勉 2017/02/28 勉勉勉勉勉

Upload: ryutaro-yamauchi

Post on 16-Apr-2017

54 views

Category:

Technology


8 download

TRANSCRIPT

Page 1: Hybrid computing using a neural network with dynamic

Hybrid computing using a neural network with dynamic

external memoryTIS + Albert 勉強会

2017/02/28山内隆太郎

Page 2: Hybrid computing using a neural network with dynamic

概要• Neural Network はデータ構造を表現し長期的に保持するのが苦手• → 微分可能な外部メモリを追加する• Differentiable Neural Computer(DNC) の発明

Page 3: Hybrid computing using a neural network with dynamic

結果• グラフをもとにした推論やブロックパズルなどができるようになった

Page 4: Hybrid computing using a neural network with dynamic

モデル全体像

Page 5: Hybrid computing using a neural network with dynamic

処理の流れ1. Input をもとに Controller が Interface parameters を生成2. write weight vector を求め、メモリに書き込む3. Read weight vector を求め、メモリを読む4. 以上を繰り返す

Page 6: Hybrid computing using a neural network with dynamic

Interface parameters

Page 7: Hybrid computing using a neural network with dynamic

Write weight vector の生成と Memory への書き込み• 二つの要素を考慮して weight を生成する

1. Write key と Memory slot の類似度 (論文中ではコサイン類似度)2. 前ステップまでの読み出し状況

• 得られた weight を使って以下のように書き込み

Page 8: Hybrid computing using a neural network with dynamic

Content weighting

Page 9: Hybrid computing using a neural network with dynamic

Allocation weighting 一度読まれた Memory slot は消去してよい可能性が高いが、そうでない場合もある→ 上書き不可フラグ使って制御

は前ステップしか考慮していない。→ usage vector を作る

φ をを小さい順に並べるような indexing として

(たぶんを微分可能にするための処理)

Page 10: Hybrid computing using a neural network with dynamic

Read weight vector の生成と Memory からの読み込み• 三つの read mode がある

1. Content lookup 2. Forward 3. Backward

Page 11: Hybrid computing using a neural network with dynamic

Content lookup • Write weighting のときと同じ

Page 12: Hybrid computing using a neural network with dynamic

Forward/backward• 書き込み順に従った読み込み

は今回書き込みが行われた場所を保持するlink 行列 L を以下のように更新

Page 13: Hybrid computing using a neural network with dynamic

Forward/backward

前回読み込んだ slot の直後 / 直前に書き込まれた slot を得ることができる

Page 14: Hybrid computing using a neural network with dynamic

Neural Turing Machine との比較• 動的メモリ割当• メモリ解放• リンク

Page 15: Hybrid computing using a neural network with dynamic

Experiments• Synthetic question answering experiments

• Graph experiments

• Block puzzle experiments

Page 16: Hybrid computing using a neural network with dynamic

Synthetic question answering experiments• bAbI task

Q. mary journeyed to the kitchen. mary moved to the bedroom. john went back to the hallway. john picked up the milk there. what is john carrying ?- john travelled to the garden. john journeyed to the bedroom. what is john carrying ? - mary travelled to the bathroom. john took the apple there. what is john carrying ? - -

A. {milk}, {milk}, {milk apple}

• mean test error rate 3.8% を達成

Page 17: Hybrid computing using a neural network with dynamic

Graph experiments• 2 つノードとその関係の組を入力• ‘traversal’, ‘shortest path’, ‘inference’ の 3 つの問に答えさせた• Traversal で 98.8 %の正解率( LSTM は 37 %)

Page 18: Hybrid computing using a neural network with dynamic

Block puzzle experiments

Page 19: Hybrid computing using a neural network with dynamic

End