応編: c++による ニューラル機械翻訳モデルeriguchi/slide/... · 2016/4/13...

31
2016/4/13 第3回深層学習勉強会@PFI 応編: C++による ニューラル機械翻訳モデル 東京学 鶴岡研 D2 江瑛 1

Upload: others

Post on 22-May-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

  • 2016/4/13 第3回深層学習勉強会@PFI

    応⽤用編:  C++による  ニューラル機械翻訳モデル  東京⼤大学  鶴岡研  D2  江⾥里里⼝口瑛⼦子  

    1

  • 2016/4/13 第3回深層学習勉強会@PFI

    ⾃自⼰己紹介• 江⾥里里⼝口  瑛⼦子  (えりぐち  あきこ)  • 鶴岡研究室  博⼠士後期課程2年年  

    • お茶茶の⽔水⼥女女⼦子⼤大学  →  東京⼤大学  

    • http://www.logos.t.u-‐‑‒tokyo.ac.jp/~∼eriguchi/  

    • 研究興味:  ニューラル機械翻訳,  トピックモデル

    2

  • 2016/4/13 第3回深層学習勉強会@PFI

    本⽇日の内容• 応⽤用編:  C++によるニューラル機械翻訳モデル  • アテンションに基づくニューラル機械翻訳モデル  

    • 句句構造へのアテンションに基づくニューラル機械翻訳モデル  (最近の研究成果)

    3

    “Backpropagationがすべて”

  • 2016/4/13 第3回深層学習勉強会@PFI

    アテンションに基づくニューラル機械翻訳モデル

    4

  • 2016/4/13 第3回深層学習勉強会@PFI

    ニューラル翻訳以前の統計的機械翻訳• 対訳コーパス(x,  y)から翻訳ルールを学習  • y  =  argmaxy  pθ(y|x)  =  argmaxy  pθ(x|y)p(y)

    5

    I saw a girl

    私は 見た 女の子を

    私は 女の子を 見た

    翻訳元 x:

    翻訳先 y:

    翻訳モデル  →

    ⾔言語モデル  →

    [Noisy-‐‑‒Channel  Model  (Shannon,  1948)]

  • 2016/4/13 第3回深層学習勉強会@PFI

    ニューラル翻訳:  Encoder-‐‑‒Decoder  モデル  

    • 「2⾔言語間の系列列変換」として直接モデル化  • 2つのRNNによる可変⻑⾧長系列列ベクトル変換  

    • 対訳コーパスから翻訳モデル  pθ(y|x)  を最⼤大化  

    • ⼀一部⾔言語対  (英仏・英独)  でSOTA

    6

    (Luong  et  al.,  2015a;  Luong  et  al.,  2015b)

    the moon sets

    月 が 沈む

    月 が

    月太陽

    Rd

    犬猫

    p(y3=沈む|x, y1, y2)

    (Cho  et  al.,  2014;  Sutskever  et  al.,  2015)

  • 2016/4/13 第3回深層学習勉強会@PFI

    • デコード時、各エンコーダhiへの注⽬目度度合いαj(i)を同時学習  

    • 代表的なANMT論論⽂文  

    • “Neural  Machine  Translation  by  Jointly  Learning  to  Align  and  Translate”  

    • “Effective  Approaches  to  Attention-‐‑‒based    Neural  Machine  Translation”

    アテンションに基づくニューラル機械翻訳モデル  (ANMT)

    7

    hTxh2h1 ……

    sj

     (Bahdanau  et  al.,  2015)

    the moon

    sj+1…

    αj

    が…

    (Luong  et  al.,  2015b)

    Attentionのサーベイ「最近のDeep Learning (NLP) 界隈におけるAttention事情」 (http://www.slideshare.net/yutakikuchi927/deep-learning-nlp-attention) 菊池さん (東工大)

    http://www.slideshare.net/yutakikuchi927/deep-learning-nlp-attention

  • 2016/4/13 第3回深層学習勉強会@PFI

    Q:  2つのモデルは何処が違う?

    8

     (Bahdanau  et  al.,  2015)

    context vector

    (Luong  et  al.,  2015b)

  • 2016/4/13 第3回深層学習勉強会@PFI

    ベースラインANMT実装• 1⽇日⽬目:  Backpropagationのための微分計算

    9

    商の微分→

    ←モデルの式

    ←各パラメータ    の勾配を計算

  • 2016/4/13 第3回深層学習勉強会@PFI

    ベースラインANMT実装• 2⽇日⽬目:  求めた微分計算に従い実装

    10

    (Backward path of attention)

    (Forward path of attention)sj = Wssj + b;αj(i)の計算;contextj= Σiαj(i)h(i);sj += Wccontextj;~

    ~

    ∂αj(i);

  • 2016/4/13 第3回深層学習勉強会@PFI

    実装のための参考資料料• 1⽇日⽬目:  Backpropagationのための微分計算→検算  • matrixCookBook  

    • 2⽇日⽬目:  求めた微分計算に従い実装→検算  • Eigenライブラリメモ  

    • Gradient  Checking  (doubleでピッタリ合うと嬉しい!)

    11

    (https://www.math.uwaterloo.ca/~∼hwolkowi/matrixcookbook.pdf)

    (http://mikaka.org/~∼kana/dl/pdf/pdf-‐‑‒eigennote.pdf)

    https://www.math.uwaterloo.ca/~hwolkowi/matrixcookbook.pdfhttp://mikaka.org/~kana/dl/pdf/pdf-eigennote.pdf

  • 2016/4/13 第3回深層学習勉強会@PFI

    最近の成果:  句句構造へのアテンションに基づく  ニューラル機械翻訳モデル

    12

    “Tree-‐‑‒to-‐‑‒Sequence  Attentional  Neural  Machine  Translation”  

    Akiko  Eriguchi,  Kazuma  Hashimoto  and  Yoshimasa  Tsuruoka  

     (http://arxiv.org/pdf/1603.06075.pdf  →  ACL2016)

    http://arxiv.org/pdf/1603.06075.pdf

  • 2016/4/13 第3回深層学習勉強会@PFI

    最近のNMT研究動向• Chracter-‐‑‒based  モデル      (Montréal,  Stanford)  

    • マルチタスクモデル        (Stanford,  Google)  

    • Agreement-‐‑‒based  モデル  (CMU,  China)  

    • ⼤大規模語彙対応            (Montréal)  

    • 構⽂文構造に基づくモデル        (本研究)  • 英⽇日翻訳への適⽤用

    13

  • 2016/4/13 第3回深層学習勉強会@PFI

    英⽇日翻訳は何が難しいのか?

    14

    構文構造がちがう 英語: SVO, 日本語: SOV

    単語対応がとれない a cup of -> NULL

    言語構造の考慮が有効にはたらく 今回は句構造に着目

  • 2016/4/13 第3回深層学習勉強会@PFI

    • ⽂文は単語の系列列ベクトルではなく、句句ベクトルから構成  

    • 句句構造に従い、左右の⼦子隠れ層から親隠れ層を算出(Tree-‐‑‒LSTM)  (Tai  et  al.,  2015)

    句句構造のためのエンコーダ@NLP2016

    15

    Left Right …

    Node …

    hNode = f (hLeft, hRight, x=0)

    hLeaf = f (hLeft=0, hRight=0, x)

    木エンコーダ: 句は扱えるが、リーフが弱い

    系列エンコーダ: 句は扱えないが、文脈情報が入る

  • 2016/4/13 第3回深層学習勉強会@PFI

    • “the  Tree-‐‑‒LSTM,  a  generalization  of  LSTMs”  

    • vanilla  LSTMとTree-‐‑‒LSTM間で(c,  h)を共有

    提案⼿手法:  系列列+⽊木エンコーダ

    16

    Left (h1)

    Right (h2) hn

    Node

     (Tai  et  al.,  2015)

    1. 系列の隠れ層を計算 (as vanilla LSTM)

    2. 句構造に従い 系列の隠れ層から句の隠れ層を計算

    (as Tree-LSTM)

    オリジナル・エンコーダの拡張 リーフ・ノード共に文脈情報++

  • 2016/4/13 第3回深層学習勉強会@PFI

    Tree-‐‑‒to-‐‑‒Sequence  ANMTモデル

    17

    1. オリジナルの 系列エンコーダ

    2. 句構造に従った 木エンコーダ

    3. (系列+木) への アテンション機構 (対象: 2n-1個)

    • 構造情報の利用• あらゆる文への対応• 句へのアテンション

  • 2016/4/13 第3回深層学習勉強会@PFI

    • エンコーダでの逆順⼊入⼒力力は必ずしも最適でない  • 提案⼿手法  >  順⽅方向⼊入⼒力力  >  逆順⼊入⼒力力

    予備実験

    18

  • 2016/4/13 第3回深層学習勉強会@PFI

    • RIBESスコアでstate-‐‑‒of-‐‑‒the-‐‑‒artモデルと同等  • RIBES:  語順も考慮  (英⽇日間で⼈人⼿手判断との相関が⾼高い)

    WATʼ’15  英⽇日翻訳タスク

    19

    Baseline  (SMT)

    Sequential  ANMT  

    with  GPU

    ←  with  CPU  (multi-‐‑‒thread)

     (Isozaki  et  al.,  2010)

  • 2016/4/13 第3回深層学習勉強会@PFI

    翻訳例例1

    20

  • 2016/4/13 第3回深層学習勉強会@PFI

    句句へのアテンション• A  of  B  →  「B  の  “?”」  • 「B  の」までが出⼒力力されているとき、デコーダはどのような単語を予測するか?  その際のアテンションは?  

    • ⼊入⼒力力側の句句構造:  (A  (of  B))  • 単語Aだけでなく句句  (A  (of  B))  もまたデコーダ隠れ層との類似度度スコアが⾼高くなる  

    • デコーダ隠れ層に”of  B”の対応語句句⼊入⼒力力があるため

    21

  • 2016/4/13 第3回深層学習勉強会@PFI

    BLEUスコアにおけるとりこぼし• 同義語がわりと柔軟に翻訳されている  

    • 課題:  ⾃自動評価指標におけるとりこぼしを解消  • アクティブ  ̶—  活性  

    • バージョン  ̶—  版  

    • ⼥女女  ̶—  ⼥女女性  

    • 2次に⽐比例例  ̶—  ⼆二乗に⽐比例例

    22

  • 2016/4/13 第3回深層学習勉強会@PFI

    翻訳例例2

    23

    The  characteristics  of  r5  version  of  this  software,  instruction  manual,  and  design  document  were  summarized.

    Translation:    このソフトウェアのR5版の特性,命令令マニュアル,設計⽂文書についてまとめた。

    Reference:    このソフトウェアのR5バージョンの特徴,利利⽤用マニュアルと設計⽂文書をまとめた。

  • 2016/4/13 第3回深層学習勉強会@PFI

    翻訳例例3

    24

    A  case  (85-‐‑‒year-‐‑‒old  female)  with  dissecting  aneurysm  of  the  aorta  of  the  *UNK*  A  type  with  a  unique  form  (de  *UNK*  ii  type)  is  experienced.  

    Translation:    A型(de  *UNK*  II型)の⼤大動脈の解離離性動脈りゅうの1例例(85歳⼥女女性)を経験した。

    Reference:    特異異な形態を⽰示したStanfordA型(De  Bakey  II型)の解離離性⼤大動脈りゅうの1例例(⼥女女85歳)を経験した。

  • 2016/4/13 第3回深層学習勉強会@PFI

    翻訳例例4

    25

    A  photocurrent  signal  is  produced  using  light  of  420nm,  which  is  directly  proportional  to  the  square  of  radiation  intensity  .  

    Translation:    光電流流信号は420nmの光を⽤用いて⽣生成され,それは放射強度度の⼆二乗に⽐比例例する。

    Reference:    420nm  の光により,光強度度の2次に⽐比例例した光電流流信号が発⽣生する。

  • 2016/4/13 第3回深層学習勉強会@PFI

    おまけ:  アテンションにおける曲者• 類似表現の繰り返しでアテンションループにはまる  

    • 解決策:  学習不不⾜足  /  ⽣生成候補を極端に増やす

    26

    In  addition,  forms  of  3  kinds  of  MCP  which  the  FUJITSU  VLSI  developed:  Flip-‐‑‒chip  +  wire  bonding  consolidation  of  4  chip  variety,  package  stack  type,  logic  memory  +  memory  consolidation  were  introduced.  

  • 2016/4/13 第3回深層学習勉強会@PFI

    モデルの実装

    27

    • forward  path式の決定  (モデル構築)    

    • backward  path式の計算  (微分)

    句構造に基づく ANMTモデルを作成したい!

  • 2016/4/13 第3回深層学習勉強会@PFI

    モデルの実装

    28

    • forward  path式の決定  (モデル構築)    

    • backward  path式の計算  (微分)

    各パラメータの勾配計算 トップダウンに辿っていく

  • 2016/4/13 第3回深層学習勉強会@PFI

    • 勾配計算の流流れをイメージする  

    • 今回:  「⼭山に⾬雨が降降って最後に川を流流れる」

    モデルの実装

    29

  • 2016/4/13 第3回深層学習勉強会@PFI

    モデルの実装

    30

    • 「⼭山に⾬雨が降降って最後に川を流流れる」

      Attention関連の勾配計算  →ルートからリーフへ勾配を流流す  →系列列に沿って勾配を流流す

  • 2016/4/13 第3回深層学習勉強会@PFI

    まとめ• 応⽤用編:  C++によるニューラル機械翻訳モデル  • アテンションに基づくニューラル機械翻訳モデル  

    • 句句構造へのアテンションに基づくニューラル機械翻訳モデル  

    • コード:  https://github.com/tempra28/tree2seq  

    • 感想  • モデルの構築も⼤大事  

    • 勾配計算  (for  Backpropagation)  はもっと⼤大事  

    • Backpropagationを理理解すると、モデルも実装も理理解が爆発的に進む  →  “Backpropagationがすべて”

    31

    Attention系は特に!