Advertisement
Advertisement

More Related Content

Similar to 2016tf study5(20)

Advertisement

Recently uploaded(20)

Advertisement

2016tf study5

  1. TensorFlow勉強会 注意を深掘りする 浅川伸一 東京女子大学 asakawa@ieee.org Google Japan 2016年9月28日21:20 -21:40
  2. 2 /23 本日の内容 1. 古典的注意 2. Bahdanau(2015)の注意 3. TensorFlowでの注意wrapper
  3. 3 /23 謝辞 KUNO 佐藤傑様 C8 lab 新村拓也様 Google 佐藤一憲様
  4. 4/23 自己紹介 浅川伸一 東京女子大学 情報処理センター勤務。早稲田大 学在学時はピアジェの発生論的認識論に心酔する。卒業後 エルマンネットの考案者ジェフ・エルマンに師事,薫陶を受け る。以来人間の高次認知機能をシミュレートすることを目指 している。知的情報処理機械を作ることを通して知的情報処 理とは何かを考えたいと思っている。著書に「 Python で実践する深層学 習」( 2016) コロナ社 . 「ディープラーニング,ビッグデータ,機械学習 --- あるいはその心理学」 (2015) 新曜社。「ニューラルネットワークの数理的基礎」「脳損傷とニューラルネットワークモデ ル,神経心理学への適用例」いずれも守一雄他編 コネクショニストモデルと心理学(2001) 北 大路書房などがある
  5. 5/23 師匠ジェフ・エルマンとUCSDキャンパス内 2002年ころ
  6. 6 /23 ←2016年 2015年→
  7. 7 /23 古典的注意 1. スペリー,ガザニガの脳梁切断患者の実験 2. ブロードベンド,トリーズマンの両耳分離聴実験 1981年ノーベル医学生理学賞,1/2, ヒューベル1/4, ウィーゼル 1/4 2002年ノーベル経済学賞
  8. 8 /23
  9. 9 /23 分離脳患者の実験状況 左視野(右脳)に 提示された物品 分離脳患者は 呼称できない 左手で探り当てる ことはできる
  10. 10 /23
  11. 11 /23 Bahdanau(2015)の注意 arXiv:1409.0473v6 下のカルパシィ図式で言えば,入力言語は many to one でエンコードし,最後の中間層状 態をコンテキストとして表象する。その表象を用 いて one to many のデコーダを用いて翻訳する モデル Cho+2014の翻訳モデル 太田さんのご説明のzがc
  12. 12 /23 エンコーダ,デコーダモデルの成績 横軸は文の長さ 長文では翻訳成績が 低下する
  13. 13 /23 改良モデル 目標言語を生成し,その生成した単語 から入力言語を制約 入力言語から生成されるコンテキストc を一時刻前に表出した目標言語の単語 によってバイアスをかける
  14. 14 /23 改良モデル2 時刻 t の中間層 エンコーダ側 コンテキスト fとqにLSTMを使うのがseq2seqモデル TensorFlow のチュートリアルでおなじみ
  15. 15 /23 改良モデル3 出力言語系列デコーダ側 コンテキスト ソフトマックスで候補を絞る
  16. 16 /23 改良モデル4 ソフトマックスで候補を絞る
  17. 17 /23
  18. 18 /23 Graves(2014) NTMarXiv:1410.5401v1
  19. 19 /23 Zaremba(2015)arXiv:1505.00521v2
  20. 20 /23 Show, Attend and Tell: Neural Image Caption Generation with Visual AttentioarXiv:1502.03044v2
  21. 21 /23 TensorFlow では tensorflow.contrib.rnn.python.ops.rnn_cell.AttentionCellWrapper arXiv:1601.06733v7
  22. 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)
  23. 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)
Advertisement