Successfully reported this slideshow.
Your SlideShare is downloading. ×

Attentionの基礎からTransformerの入門まで

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 38 Ad
Advertisement

More Related Content

Slideshows for you (20)

Advertisement

Recently uploaded (20)

Attentionの基礎からTransformerの入門まで

  1. 1. Attention機構
  2. 2. 目次 • 認知科学と注意(Attention) • 深層学習と注意(Attention) • RNNとAttention機構 • RNNの基礎 • Seq2Seq • Seq2Seq + Attention機構 • CNNとAttention機構 • CNNの基礎 • SENetとAttention機構 • Attention機構の種類 • Self-Attention GAN(SAGAN) • SourceTarget-Attention • Transformer 
 2
  3. 3. 認知科学と注意(Attention)(1/2) • 認知科学 • 人間の脳や心といった知の働きや性質を理解しようとする研究分野 • 人工知能分野と密接な関係 3 認知科学 哲学 神経科学 心理学 人工知能 言語学 数学
  4. 4. 認知科学と注意(Attention)(2/2) • 注意とは • 特定の対象に感覚や意識を集中させること • 不必要な情報は排除し必要な情報を選択することで、知的資源の効果的配分を実現 • 人間の知的活動の本質かも • 代表的な注意 • 視覚的注意 • (例)街を歩いていて看板に書かれた文字を読む • 聴覚的注意 • (例)カクテルパーティ効果 • 騒がしい環境下でも会話が可能 • 会話相手の声を選択 4 [ウィケンズの人間の情報処理モデルを参考]
  5. 5. 深層学習と注意(Attention) • 深層学習 • 人工知能分野の1つ • 深層ニューラルネットワークの学習を対象とする • 現在の機械学習の主流 • あえてウィケンズの情報処理モデルに似せて描くと 
 右図のようなイメージになる。 
 (※厳密にAttentionを語ろうとすると右図は相応しくない。) • Attention機構(注意機構) • 今まで深層学習で中心的存在を示してきたCNNやRNNに並ぶ画期的なアーキテクチャ • 使い方1:CNNやRNNベースのモデルにAttentionを加える • 使い方2:完全にAttentionベース(Transformerなど) • コンピュータビジョンや自然言語処理などの多種多様なタスクに対して最先端の性能 • 解釈可能性の向上 • 細かい話は追々 
 5 Layer1 Layer2 Layer3 Layer4 Layer5 Attention Input Output
  6. 6. Attention機構の起源 6 語順を考慮できるSeq2Seq SENet
  7. 7. RNNの表記 … 7
  8. 8. RNNの種類 … … Seq2Seq … Vec2Seq … Seq2Vec … Simple RNN 8
  9. 9. Encoder-Decoderとは Encoder Decoder • Encoder-Decoder • Encoderで特徴空間に写像 • Decoderで復元 • 代表例 • AutoEncoder • Seq2Seq • 特徴 • より本質的な特徴表現を 
 学習する 9
  10. 10. Seq2Seqとは(1/2) • Seq2Seq • 代表的なEncoder-Decoderモデルの1つ • 自然言語や音声などの系列データを対象として、入力された系列情報を別の系列情報に変換 • 具体例は機械翻訳など • This is a pen. → これはペンです。 • 〈BOS〉(beginning of sentence)と〈EOS〉(end of sentence) • 〈BOS〉をトリガとして翻訳を開始し〈EOS〉を出力して翻訳終了となる • 課題点 • 入力系列を1つの特徴ベクトルで表すには限界がある • 長い文章は扱いにくい I. Sutskever, O. Vinyals and Q. V. Le, "Sequence to Sequence Learning with Neural Networks", arXiv:1409.3215v3 Decoder Encode this is a pen . 〈BOS〉 これ は ペン です 。 〈EOS〉 これ は ペン です 。 10
  11. 11. Seq2Seqとは(2/2) • 覗き穴(Peeky)を持つSeq2Seq • 前スライドのSeq2Seq • Encoderの出力はDecoderの最初の層にのみ入力される • 翻訳が進むにつれてEncoderの出力が薄れていく • PeekyなSeq2Seq • 覗き穴(Peeky)とは • 一般的には見えないはずの情報を覗くことができる • 興味があればLSTMのピープホール結合も参照してみてください • Encoderの出力をDecoderの全層に入力する方法 • 何を翻訳したいのかという本質的な情報を常に片手に持っているようなイメージ • 翻訳が進んでも軸がブレにくい(途中で何を言いたかったんだっけ??な状況を防げるイメージ) I. Sutskever, O. Vinyals and Q. V. Le, "Sequence to Sequence Learning with Neural Networks", arXiv:1409.3215v3 Encode this is a pen . 11 Decoder これ は ペン です 。 これ は ペン です 。 〈EOS〉 〈BOS〉
  12. 12. Seq2Seq+Attention機構(1/3) • Attention(注意)機構の紹介 • 時間方向の重みを学習 • 例:「英語 日本語」の翻訳問題では後ろから訳すと自然な文章になる • 左図の赤矢印のような関係が考えられる(例は簡単な翻訳問題すぎて分かりにくいかも...) • 左図の各赤矢印は右図のように学習パラメータを持つネットワーク構造として一般化できる 12 Decoder Encode this is a pen . これ は ペン です 。 〈EOS〉 これ は ペン です 。 〈BOS〉 + Decoder Encode this is a pen . これ は ペン です 。 〈EOS〉 これ は ペン です 。 〈BOS〉 D. Bahdanau, K. Cho, Y. Bengio, "Neural Machine Translation by Jointly Learning to Align and Translate", arXiv:1409.0473v7
  13. 13. Seq2Seq+Attention機構(2/3) 13 D. Bahdanau, K. Cho, Y. Bengio, "Neural Machine Translation by Jointly Learning to Align and Translate", arXiv:1409.0473v7 • Attention(注意)機構の紹介(つづき) • Attention層の主な処理(あくまでも例) • Encoderの各ステップの出力を合体させて行列として記憶 • 記憶しておいた行列と学習した重み行列を内積計算してAttentionベクトルを生成 • Decoderの適切なステップの層にAttentionベクトルを渡す + Decoder Encode this is a pen . これ は ペン です 。 〈EOS〉 これ は ペン です 。 〈BOS〉 α(3) 1 α(3) 2 α(3) 3 α(3) 4 α(3) 5 h(1) enc h(2) enc h(3) enc h(4) enc h(5) enc 記憶し ておく 重みパラ メータ Decoderの該当層へ h(1) dec h(2) dec h(3) dec h(4) dec h(5) dec h(6) dec c(3)
  14. 14. Seq2Seq+Attention機構(3/3) 14 Decoder Encode this is a pen . これ は ペン です 。 〈EOS〉 これ は ペン です 。 〈BOS〉 + Decoder Encode this is a pen . これ は ペン です 。 〈EOS〉 これ は ペン です 。 〈BOS〉 Attention layer D. Bahdanau, K. Cho, Y. Bengio, "Neural Machine Translation by Jointly Learning to Align and Translate", arXiv:1409.0473v7 • Attention(注意)機構の紹介(つづき) • 左図は1つのAttentionのみ表している(他は省略されている) 
 Decoder内の全てのユニットにAttention入力を広げると... • 右図のAttention Layerのような層構造で実現できる! • Attention機構の手法や構造は様々あるが基本的な考え方は説明した通り! h(1) enc h(2) enc h(3) enc h(4) enc h(5) enc h(1) enc h(2) enc h(3) enc h(4) enc h(5) enc α(3) 1 α(3) 2 α(3) 3 α(3) 4 α(3) 5 h(1) dec h(2) dec h(3) dec h(4) dec h(5) dec h(6) dec h(1) dec h(2) dec h(3) dec h(4) dec h(5) dec h(6) dec c(3)
  15. 15. CNNとは(1/4) • CNN • Convolutional Neural Network • 受容野を持ち疎結合ニューラルネットワークの一種 • 構成要素 • 畳み込み層(→入力画像からエッジなどの特徴を認識できるように学習) • プーリング層(→畳み込み層で抽出した特徴の位置ずれを許容する) • 主に画像認識の分野で活躍 15
  16. 16. CNNとは(2/4) • 畳み込み層 • 視覚野のSimple Cell(S細胞)に対応した機能を実現 • 学習パラメータを持ち、線分などのエッジが検出できるように学習 • 基本的には線形モデル • micro networkを使った非線形な畳み込み層もある(→Network In Network) 16
  17. 17. CNNとは(3/4) • 畳み込み層の計算 • 入力特徴マップは必要に応じてパディングを実施 • 各パッチとフィルタの重みを掛け合わせて画素値を決定 • 一般化した計算式は右下 17
  18. 18. CNNとは(4/4) • プーリング処理 • 視覚野のComplex Cell(C細 胞)に対応した機能を実現 • 機能 • 特徴の位置ずれ許容 • 代表的なプーリング • 最大値プーリング • 平均値プーリング 18
  19. 19. ILSVRCの優勝モデル 19 year model top-5 error rates [%] 2010 28.2 2011 SIFT+FVs 25.8 2012 AlexNet 16.4 2013 ZFNet 11.7 2014 GoogLeNet 6.7   ↳ VGGNet 7.3 2015 ResNet 3.6 2016 ensemble 3.0 2017 SENet 2.3 ※ILSVRC頻出用語
 ・top-1 error rates:正解ラベルが1番目候補として示されない割合 ・top-5 error rates:正解ラベルが5番目候補までに含まれない割合 ・SOTA:state of the artの略。”最も高精度”の意で使われる。
  20. 20. SENetとAttention機構 • SENet • SE(Squeeze and Excitation) • Squeeze:圧縮、Excitation:励起 • SE blockを追加したネットワークの総称 • SE-ResNet • SE-Inception • SE Blockとは • 各チャンネルを注目度毎にゲーティング • 注目すべきマップは通過 • 注目すべきでないマップは堰き止め • Attentionとして働く • SE Blockの構成要素 • Global Average Pooling • FC+ReLU • FC+Sigmoid 20 Residual Scale Global Average Pooling FC ReLU FC Sigmoid Dense Dense Residual H × W × C 1 × 1 × C 1 × 1 × C//r 1 × 1 × C SE ResNet Module SE Block Residual Module
  21. 21. ここまでの話のまとめ • 人間の情報処理においてもAttentionは重要な位置づけにある • Seq2Seqは固定長のベクトルに文章を圧縮し、それをデコードすることで系列変換を行なうが、 
 タイムステップを跨いでAttentionを組み込むことで、順序を考慮することができる • SENetで使われるSE BlockはAttentionとして機能する • ゲート構造はAttention機構としての解釈が可能 21
  22. 22. Attentionの種類 • Attentionの基本事項 • Query • Memoy • Key • Value • Attention機構の入力について • Self-Attention • QueryとKey、Valueの入力が同じ • SourceTarget Attention • QueryとMemoryで入力が異なる • Attention機構の出力をどのように適用するかについて • 足し算(Additive Attention) • 掛け算(Multiplicative Attention) まとめると、大体、Additive、Multiplicative、Self、SourceTargetに大別できる 22 Attention Layer Q K V Attention Layer Attention Layer Attention Layer Attention Layer Self-Attention SourceTarget-Attention Additive Attention Multiplicative Attention Attention機構の一般形
  23. 23. Self-Attention GAN • Attention機構は実に様々なタスクで使用される • Self-Attention GAN(SAGAN) • Self-Attentionを利用することにより入力画像特徴を大域的に認識できるようになった 23 H. Zhang, I. Goodfellow, D. Metaxas, A. Odena, "Self-Attention Generative Adversarial Networks", arXiv:1805.08318v2
  24. 24. Transformerのアーキテクチャ(1/2) Encoder-Decoder model @AGIRobo Encoder Embedding Positional Encoding Encoding Layer (Nx) Feed Forward Multi-Head Attention Decoder Embedding Positional Encoding Decoding Layer (Nx) Feed Forward Masked Multi-Head Attention Multi-Head Attention 24 • Transformerの概略 • Transformerの構成要素(代表例)を右下図に示す • Encoder-Decoderモデルの考え方がベース • 単語を扱う際はEmbedding層による埋め込みベクトル化プロセスあり • Positional Encoding層 • 系列の位置を与える • 二大構成要素(層) • Multi-Head Attention層 • Feed Forward層 • Nxが記された領域は必要に 
 応じて複数回繰り返される ※CNNやRNNと異なり、完全に 
 Attentionベースのモデルである A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. Kaiser, I. Polosukhin, "Attention Is All You Need", arXiv:1706.03762v5.
  25. 25. Transformerのアーキテクチャ(2/2) • Transformerの構造 • 前スライドで示した構成要素は右図の 
 ような情報の流れを持つ • Attention及びFeed Forwardは、 
 Residual connection(残差結合) 
 を持ち、直後に正規化される • EncoderのMulti-Head Attention • Self-Attention型を採用 • DecoderのMulti-Head Attention • SourceTarget-Attention型を採用 • Masked Multi-Head Attention • Mask操作は以下の2つを実現 • padの除外 • 情報の先読み防止 25 Transformer Multi-Head Attention Add & Norm Feed Forward Add & Norm Multi-Head Attention Feed Forward Masked Multi-Head Attention Add & Norm Add & Norm Add & Norm Input Embedding Positional Encoding Output Embedding Positional Encoding Inputs Outputs Linear Softmax Output A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. Kaiser, I. Polosukhin, "Attention Is All You Need", arXiv:1706.03762v5.
  26. 26. Embedding層(1/3) 26
  27. 27. T T Embedding層(2/3) • Embedding層 • 分散表現を実現 • 分散表現とは単語などのトークンを 
 線形空間上の1点に対応させる手法 • 任意のトークン毎に唯一のスカラー値 
 が与えられているので、その値を受け 
 取りOneHotベクトル化と線形変換で 
 固定長埋め込みベクトルへ対応付ける • 中身はDense層と等価 27 T T OneHotベクトルのサイズ 埋め込みベクトルのサイズ
  28. 28. Embedding層(3/3) 28 Embedding層 今日 は いい 天気 だ ↓ ↓ ↓ ↓ ↓ 21 2 32 90 15 ( 単語数 OneHot次元数 ) ( 単語数 分散表現次元数) 画像として扱えそう!?!?!?
  29. 29. Positional Encoding(1/3) 29
  30. 30. Positional Encoding(2/3) • Positional Encoding • 位置を表すことができるような特別な画像を足すような感じ 30 A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. Kaiser, I. Polosukhin, "Attention Is All You Need", arXiv:1706.03762v5. Embedding層 埋め込み次元数(128) 単語数(50)
  31. 31. Positional Encoding(3/3) • Positional Encoding • 位置を表すことができるような特別な画像を足すような感じ 31 A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. Kaiser, I. Polosukhin, "Attention Is All You Need", arXiv:1706.03762v5. Embedding層
  32. 32. Multi-Head Attention(1/2) 32
  33. 33. Multi-Head Attention(2/2) • Multi-Head Attention • Attention機構のアンサンブル化 • 入力Q、K、Vに、それぞれ異なる線形 
 変換を施したものを入力とする複数の 
 Scaled Dot-Product Attention機 
 構を複数利用した方が性能が高いこと 
 が実験的に確かめられた。 • Linear層は学習パラメータを持つ • 論文においてアンサンブル化した数 は8 • Multi-Head Attentionに入力する次元数 
 を とすると、各種重みパラメータは 
 • 計算式は以下 h dmodel 33 A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. Kaiser, I. Polosukhin, "Attention Is All You Need", arXiv:1706.03762v5. Multi-Head Attention h Value Key Query Scaled Dot-Product Attention Linear Concat Linear Linear Linear WQ i , WK i ∈ ℝdmodel×dk , WV i ∈ ℝdmodel×dv , Wo ∈ ℝhdv×dmodel
  34. 34. Scaled Dot-Product Attention 34 Scaled Dot-Product Attention Query Key Value MatMul Scale Softmax MatMul Mask (opt.) QKT dk QKT softmax ( QKT dk ) softmax ( QKT dk ) V A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. Kaiser, I. Polosukhin, "Attention Is All You Need", arXiv:1706.03762v5. • Scaled Dot-Product Attention(スケール化内積注意) • [一言で表すと] 
 QueryとKeyの類似度からValueのどの値に注意を 
 向けるべきかを計算する • Multiplicative(Dot-Product) Attentionの一種 • 学習パラメータを持たない • Scaleを実施する理由 • QueryとKeyの次元数を とする。 が大きいと、 
 内積が大きくなる可能性が高い。softmax関数の出力は、 
 softmaxへの全体的な入力が大きいほど0か1に近づく。 
 出力が0に近づくと学習時に誤差が伝播しにくくなる。 
 それを回避するために、 でスケーリングする。 • 計算式は以下 dk dk dk
  35. 35. Feed-Forward(Position-wise Feed-Forward)(1/2) 35
  36. 36. Position-wise Feed-Forward(2/2) • Position-wiseとは、「位置ごとに」という解釈が可能 • 入力された各単語ごとに適用される • 以下の式であらわされる単純な2層のFFN • 1層目:重み バイアス で活性化関数はReLU • 2層目:重み バイアス で活性化関数は恒等関数 W1 b1 W2 b2 36 FFN(x) = max(0, xW1 + b1)W2 + b2 FC ReLU FC Dense Dense
  37. 37. Transformerのアーキテクチャ • Transformer • 基本構成要素 • Multi-Head Attention • 複数のScaled Dot-Product Attention • 複数のLinear層 • Position-wise Feed-Forward 37 Transformer Multi-Head Attention Add & Norm Feed Forward Add & Norm Multi-Head Attention Feed Forward Masked Multi-Head Attention Add & Norm Add & Norm Add & Norm Input Embedding Positional Encoding Output Embedding Positional Encoding Inputs Outputs Linear Softmax Output A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. Kaiser, I. Polosukhin, "Attention Is All You Need", arXiv:1706.03762v5.
  38. 38. (余談) Transformer block 基本ユニット • 先ほどまで解説してきたTransformerはEncoder-Decoder型 • Transformer必ずしもEncoder-Decoderとはイコールではない • BERTなどでは図のようなTransformer blockを考えていく • Transformer block • Multi-Head Attention • Feed Forward 38 Transformer block Multi-Head Attention Add & Norm Feed Forward Add & Norm A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. Kaiser, I. Polosukhin, "Attention Is All You Need", arXiv:1706.03762v5.

×