23
TensorFlow勉強会 注意を深掘りする 浅川伸一 東京女子大学 [email protected] Google Japan 2016年9月28日21:20 -21:40

2016tf study5

Embed Size (px)

Citation preview

Page 1: 2016tf study5

TensorFlow勉強会

注意を深掘りする浅川伸一 東京女子大学 [email protected]

Google Japan

2016年9月28日21:20 -21:40

Page 2: 2016tf study5

2 /23

本日の内容1. 古典的注意

2. Bahdanau(2015)の注意

3. TensorFlowでの注意wrapper

Page 3: 2016tf study5

3 /23

謝辞KUNO 佐藤傑様

C8 lab 新村拓也様

Google 佐藤一憲様

Page 4: 2016tf study5

4/23

自己紹介浅川伸一 東京女子大学 情報処理センター勤務。早稲田大

学在学時はピアジェの発生論的認識論に心酔する。卒業後

エルマンネットの考案者ジェフ・エルマンに師事,薫陶を受け

る。以来人間の高次認知機能をシミュレートすることを目指

している。知的情報処理機械を作ることを通して知的情報処

理とは何かを考えたいと思っている。著書に「Pythonで実践する深層学

習」( 2016) コロナ社. 「ディープラーニング,ビッグデータ,機械学習 --- あるいはその心理学」

(2015) 新曜社。「ニューラルネットワークの数理的基礎」「脳損傷とニューラルネットワークモデ

ル,神経心理学への適用例」いずれも守一雄他編 コネクショニストモデルと心理学(2001) 北

大路書房などがある

Page 5: 2016tf study5

5/23

師匠ジェフ・エルマンとUCSDキャンパス内 2002年ころ

Page 6: 2016tf study5

6 /23

←2016年

2015年→

Page 7: 2016tf study5

7 /23

古典的注意

1. スペリー,ガザニガの脳梁切断患者の実験

2. ブロードベンド,トリーズマンの両耳分離聴実験

1981年ノーベル医学生理学賞,1/2, ヒューベル1/4, ウィーゼル 1/4

2002年ノーベル経済学賞

Page 8: 2016tf study5

8 /23

Page 9: 2016tf study5

9 /23

分離脳患者の実験状況

左視野(右脳)に

提示された物品

分離脳患者は

呼称できない左手で探り当てる

ことはできる

Page 10: 2016tf study5

10 /23

Page 11: 2016tf study5

11 /23

Bahdanau(2015)の注意 arXiv:1409.0473v6

下のカルパシィ図式で言えば,入力言語は

many to one でエンコードし,最後の中間層状

態をコンテキストとして表象する。その表象を用

いて one to many のデコーダを用いて翻訳する

モデル

Cho+2014の翻訳モデル

太田さんのご説明のzがc

Page 12: 2016tf study5

12 /23

エンコーダ,デコーダモデルの成績

横軸は文の長さ

長文では翻訳成績が

低下する

Page 13: 2016tf study5

13 /23

改良モデル

目標言語を生成し,その生成した単語

から入力言語を制約

入力言語から生成されるコンテキストc

を一時刻前に表出した目標言語の単語

によってバイアスをかける

Page 14: 2016tf study5

14 /23

改良モデル2

時刻 t の中間層

エンコーダ側

コンテキスト

fとqにLSTMを使うのがseq2seqモデル

TensorFlow のチュートリアルでおなじみ

Page 15: 2016tf study5

15 /23

改良モデル3

出力言語系列デコーダ側

コンテキスト

ソフトマックスで候補を絞る

Page 16: 2016tf study5

16 /23

改良モデル4

ソフトマックスで候補を絞る

Page 17: 2016tf study5

17 /23

Page 18: 2016tf study5

18 /23

Graves(2014) NTMarXiv:1410.5401v1

Page 19: 2016tf study5

19 /23

Zaremba(2015)arXiv:1505.00521v2

Page 20: 2016tf study5

20 /23

Show, Attend and Tell: Neural Image CaptionGeneration with Visual AttentioarXiv:1502.03044v2

Page 21: 2016tf study5

21 /23

TensorFlow ではtensorflow.contrib.rnn.python.ops.rnn_cell.AttentionCellWrapper

arXiv:1601.06733v7

Page 22: 2016tf study5

22 /23

# rnn with attention

classifier = tf.contrib.learn.TensorFlowRNNClassifier(rnn_size=2,

cell_type="lstm",

n_classes=2,

input_op_fn=rnn_input_fn,

bidirectional=False,

attn_length=2,

steps=100,

attn_size=2,

attn_vec_size=2)

classifier.fit(data, labels)

Page 23: 2016tf study5

23 /23

if attn_length is not None:

fw_cell = contrib_rnn.AttentionCellWrapper(

fw_cell, attn_length=attn_length, attn_size=attn_size,

attn_vec_size=attn_vec_size, state_is_tuple=False)

bw_cell = contrib_rnn.AttentionCellWrapper(

bw_cell, attn_length=attn_length, attn_size=attn_size,

attn_vec_size=attn_vec_size, state_is_tuple=False)

rnn_fw_cell = nn.rnn_cell.MultiRNNCell([fw_cell] * num_layers,

state_is_tuple=False)