応編: c++による ニューラル機械翻訳モデルeriguchi/slide/... · 2016/4/13...
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系は特に!