More Related Content
More from Deep Learning JP (20)
[DL輪読会]Attention Is All You Need
- 3. メタ情報
• 著者
– Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit,
Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin
– Google BrainとGoogle Researchのグループ
• 公開⽇
– Submitted on 12 Jun 2017
– https://arxiv.org/abs/1706.03762
• About
– RNN/CNNを使わず, Attentionのみを使⽤し翻訳のタスクで
SOTAを達成
• 選んだ理由
– 話題だった(主にタイトルが)
– Attentionの勉強
2017/6/2 3
- 4. 1. 導⼊
• 現在,⾔語処理などの系列モデリングにはRNN, LSTM,
GRUがSOTA的アプローチとして使⽤されている
– 系列の依存関係を維持できる
• しかし,並列計算ができないため計算量が多くかかるこ
とが問題点
– ⼀つ⼀つしか依存関係を維持できない
• Attention機能ならば,シンボルの距離に関係なく依存関
係を構築できる
– 現状RNNとの併⽤のみで使⽤されている.
• 本研究では新しいモデル”Transformer“を提案
– リカレント構造を排除し,Attention機能のみを使⽤したネット
ワークを構築
2017/6/2 4
- 5. 2. 背景(関連研究)
• 次計算を減らすという⽬的は、CNNで達成されてきた
– Extended Neural GPU
– ByteNet
– ConvS2S
– => CNNでは遠い距離の依存関係を学習できない
• Self-Attention
– 同じシーケンス内でAttentionを⾏う機能
– 読解⼒、抽象的な要約、テキストの含意、学習に依存しない⽂
の表現などのタスクに使⽤されている
2017/6/2 5
- 6. 3. モデル構造
• 全体像
– EncoderとDecoderの両⽅に、スタックされ
たSelf-AttentionとポイントワイズのFully-
Connectedレイヤを使⽤
• エンコーダ
– N=6の同⼀レイヤのスタック
– 各層は2つのサブレイヤ
• マルチヘッドのSelf-Attention
• Fully-ConnectedのFeed Forward Network
• それぞれのサブレイヤでresidual connection
とlayer normalizationを採⽤
• デコーダ
– N=6の同⼀レイヤのスタック
– 各エンコーダ層の2つのサブレイヤに加え、
エンコーダからのアウトプットをMulti-
Head Attentionを⾏う3層⽬を挿⼊
– デコード時のself-attentionでは順番に注意
し,既知のアウトプットにのみ依存関係を
持つようにする
2017/6/2 6
- 7. 3. モデル構造
Scaled Dot-Product Attention
• よく使⽤されるAttentionは以下
の2つ
– Additive attention
– dot-product (multiplicative)
attention
• dot-productの⽅が計算も早く,ス
パース性に強く,本研究のように応
⽤が⾏いやすい
• dkが⼤きい場合,dot積が⼤きくな
りすぎて勾配が⼩さくなることが想
定されるため,√dkでスケーリング
2017/6/2 7
- 8. 3. モデル構造
Multi-Head Attention
• V, K ,Qを⼀度線形変換し,
Scaled Dot-Productにかけたあ
とConcatし,再び線形変換
• 異なる位置の異なる表現部分空
間からの情報を学習できる
• 以下の3箇所において使⽤
– エンコーダ/デコーダを繋ぐ部分
• 従来のAttention
– エンコーダ部分のSelf-Attention
– デコーダ部分のSelf-Attention
• 未来の情報を使わないように
Scaled Dot-ProductのSoftmax前
にマスキング
2017/6/2 8
- 10. 4.何故Self-Attentionか
• 3つの理由
– レイヤごとの合計計算複雑度
– 必要な順次操作の最⼩数によって測定される並列化可能な計算
量
– ネットワーク内の⻑距離依存関係間のパス⻑
• 副次的な利点
– ⾃⼰の注意がより解釈可能なモデルを⽣み出すことができる
2017/6/2 10
各レイヤタイプの計算量:Self-AttentionはO(1)に対し,ReccurentはO(n)
r the size of the neighborhood in restricted self-attention.
- 11. 5. 実験
• データとバッチ処理
– WMT 2014英語 - ドイツ語データセットとWMT 2014英語 - フ
ランス語データ
• ドイツ語:4.5 million sentence pairsと37000 tokens
• フランス語: 36M sentences and split tokens into a 32000
– センテンスペアは、およそのシーケンス⻑でまとめてバッチ処理
• ハードウェアとスケジュール
– 8台のNVIDIA P100 GPUを搭載した1台のマシン
– ベースモデル
• 約0.4秒 per 各トレーニングステップに約0.4秒
• 合計10万ステップ学習=12時間訓練
– ⼤きなモデル(big)
• ステップ時間は1.0秒
• 30万step、3.5⽇で学習
2017/6/2 11
- 12. 6. 結果
• 性能
– EN-DEの翻訳で以前のSOTAをBLEUで2.0以上上回る(28.4)
– EN-FRでは過去のシングルモデルを全て上回る(BLEU41.0)
• コスト
– 以前のSOTAの1/4以下
2017/6/2 12
- 13. 6. 結果
• モデルの評価
– パラメータを変更
• (A)
– 計算量を⼀定に保ちながら、アテンションヘッドの数とアテンションキーとアトリビュートのディメンションを変更
– シングルヘッドのアテンションが最も良い設定よりも0.9 BLEU悪いが、ヘッドが多すぎると低下
• (B)
– アテンションキーサイズdkを⼩さくするとモデルの品質が低下
– 互換性の判断が容易ではなく、ドット製品よりも⾼度な互換機能が有益であることを⽰唆
• (C),(D)
– 予想通り⼤きなモデルが優れている
– ドロップアウトがオーバーフィッティングを回避するのに有効
• (E)
– 正弦波の位置符号化を学習されたPositional Encodingに置き換え、基本モデルとほぼ同じ結果を観測する。
2017/6/2 13
- 15. 7. 結論
• 本研究では、リカレント層をMulti-headed self-
attentionに置き換え、アテンションのみで構築された最
初の配列変換モデルであるTransformerを提案
– ⾼速に学習可能
– WMT 2014 En-De、En-Fr共にSOTAを達成
• 特にEn-Deでは以前すべてのアンサンブルを上回る
• 英語の構成構⽂解析についての実験し、他タスクにも⼀般的に効果
があることを⽰した
– 画像、オーディオ、ビデオなどのなどにも応⽤予定
2017/6/2 15