Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Transformer

shu_suzuki
January 31, 2019

 Transformer

長岡技術科学大学
第4回 B3勉強会
鈴木脩右

shu_suzuki

January 31, 2019
Tweet

More Decks by shu_suzuki

Other Decks in Technology

Transcript

  1. Transformer Attention is all you need 鈴木脩右 2019/1/31 長岡技術科学大学 自然言語処理研究室

    1
  2. 目次 Transformer Attention Mask その他 まとめ 2

  3. Transformer

  4. 概要 • RNN や CNN を使わない Attention のみのニューラル機械 翻訳 •

    RNN より学習が高速 (RNN は並列化処理を行えないため) • 構造がシンプル • WMT’14 の BLEU スコアは英仏: 41.0,英独: 28.4 で第 1 位 3
  5. 構成 Figure 1: Transformer の構成モデル 4

  6. Attention

  7. Attentionとは • query に一致する key を索引し,対応する value を取り出す 操作 •

    Attention の重みと行列 Value の内積により, key に対応する value の重み付き和を取り出せる • Attention(query, Key, Value) = Softmax(query · KeyT ) · Value • Transformer では,Scaled Dot-Product Attention, Multi-head Attention,Source-Target-Attention, Self-Attention の 4 種類 5
  8. Scaled Dot-Product Attention • Dot-Product Attention は,Attention の重みを内積で求める • Scaled

    Dot-Product Attention は内積を スケーリング因子 √ dk で除算する • Attention(Query, Key, Value) = Softmax(Query·KeyT √ dk )Value 6
  9. Multi-head Attention • Dot-Product Attention を 1 つのヘッドとする • 複数ヘッドを並列化したものを

    Multi-Head Attention と いう • 各ヘッドが異なる部分空間を処理するため,単一より性能 が高い 7
  10. Source-Target-Attention • Key と Value はエンコーダの中間層から来る • Query はデコーダの中間層から来る Figure

    2: Source-Target-Attention モデル 8
  11. Self-Attention • Query, Key, Value は全て同じ場所から来る • 同時に実行し,query と同数の出力ベクトルをまとめて得る •

    各要素が他の要素に対しての関連性があるかを見る Figure 3: Self-Attention モデル 9
  12. Mask

  13. Maskとは • Mask は特定の key に対して,Attention の重みを 0 にするた めに使われる

    • PAD を無視する • Decoder の Self-Attention で未来の情報を参照させない 10
  14. PADを無視する • ニューラルネットワークに入力される文字列の長さは文章 ごとに異なる • 長さがバラバラだと行列に変換できないため,文字列が短 い文章に PAD を追加する •

    計算時には,PAD は不要なため Mask をかける 11
  15. DecoderのSelf-Attentionで未来の情報を参照させない • 学習のとき,すべての時刻で同時に次の時刻の単語を予測 している • 学習時の予測対象になるため,未来の情報は学習の妨げに なる • query より先の情報に

    Mask をかける 12
  16. その他

  17. Positional Encoding • Attention では,語順が考慮されていない • 入力文字列に Positional Encoding の行列

    PE を要素ごとに 加算する • 位置エンコーディングの各次元は波長が 2π から 10000 · 2π に幾何学的に伸びる正弦波に対応 • PE(pos,2i) = sin(pos/100002i/dmodel) PE(pos,2i+1) = cos(pos/100002i/dmodel) pos:単語の位置,i:成分の次元 13
  18. Position-wise Feed-Forward Network • 文章の位置毎に独立して処理する FFN • 全時刻で同じ変換が成される • 2

    層の全結合ニューラルネットワーク • 2 層目の次元は線形な活性化関数を持つ • FFN(x) = max(0, xW1 + b1 )W2 + b2 14
  19. まとめ

  20. まとめ • RNN 等の代わりに Attention を用いた Encoder-Decoder モ デル •

    Attention は,query に一致する key を索引し,対応する value を取り出す操作 • Self-Attention は,各要素が他の要素に対しての関連性があ るかを見る • Mask は学習の妨げになる Attention の重みを 0 にする • 語順を考慮するために,Positional Encoding という手法が 使われる 15
  21. 参考文献 [1] 作って理解する transformer / attention - qiita. https://qiita.com/halhorn/items/c91497522be27bde17ce#encoder. (Accessed

    on 01/30/2019). [2] 論文解説 attention is all you need (transformer) - ディープラーニングブログ. http://deeplearning.hatenablog.com/entry/transformer. (Accessed on 01/30/2019). [3] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, and Illia Polosukhin. Attention is all you need. CoRR, abs/1706.03762, 2017. [4] 斎藤 康毅. 『ゼロから作る Deep Learning ②:自然言語処編』. オライリー・ジャパン, 2018. 16