Slide 1

Slide 1 text

Transformer [1706.03762] Attention Is All You Need (arxiv.org)

Slide 2

Slide 2 text

Transformer 1.概要 2.導入と背景 3.モデルについて 4.Multi-Head Attention

Slide 3

Slide 3 text

1.概要 • Attention is all you need(2017) • 再帰や畳み込みなしの系列変換モデル • 並列化で短時間の訓練 • 様々なタスクに使えて,精度も高い. • 応用先;BERT,GPT-n,ViT • 成果:BLEUスコア100点満点中 英語→独 28.4 BLEU(SoTAより2ポイントup!) 英語→仏 41.8 BLEU(学習時の計算コスト1/4!)

Slide 4

Slide 4 text

2. 導入 RNNとエンコーダデコーダモデルが自然言語処理における中心 RNN:時系列データを扱うRecurrent Neural Networksとは - DeepAge

Slide 5

Slide 5 text

2. 導入 RNNは短期依存には対応できるものの,1000ステップのよう な⾧期の系列は学習できない → 「ゲート」と呼ばれる情報の 取捨選択機構を持ったLSTM (long-short term memory)が 提唱されたが逐次計算なので時間がかかる. (AttentionはRNNと一緒に使われてはいた) →Attentionのみのモデルtransformerを提唱 わかるLSTM ~ 最近の動向と共 に - Qiita

Slide 6

Slide 6 text

2. 背景 • 逐次計算をなくす目的のもと,RNNの代わりにCNNも使われた. • 並列処理をある程度可能にはしたが,O(N)またはO(logN)で計 算量が増えてしまい,より⾧文の依存関係は捉えにくく. • →RNNもCNNも使わないAttentionのみを用いた モデルtransformerを提唱する.計算量は文章の⾧さに応じず O(1)に抑えた.

Slide 7

Slide 7 text

3.モデル 英文 →エンコーダ→デコーダ→ 独文の次単語予測(確率) ( ) ) エンコーダー:文章を意味にする デコーダー;意味を文章にする

Slide 8

Slide 8 text

大きく分けて三層 ・Multi-Head Attention ・Add&Norm ・Feed Forward: 他 ・Embedding 入力単語をベクトルに変換 ・Positional Encoding ベクトルを足して位置情報を付加 3.モデル

Slide 9

Slide 9 text

4. Multi-Head Attention 4.1 Scaled Dot-Product Attention 4.2 Multi-Head Attention どの情報に注目すべきか判断 して情報を処理する

Slide 10

Slide 10 text

4. Multi-Head Attention 全て横ベクトル 4.1 Scaled Dot-Product Attention

Slide 11

Slide 11 text

4. Multi-Head Attention 4.1 Scaled Dot-Product Attention まず一つのクエリについて 内積が並ぶ →内積は類似度的な性質を表す 二つのベクトルが 同じ向き→内積大 別向き→0 逆向き→内積-大 𝑸𝑻𝑲が何を表しているかを理解するのが大事 与えられたクエリに対してどのキーが似ているか

Slide 12

Slide 12 text

4. Multi-Head Attention 4.1 Scaled Dot-Product Attention 一つのクエリについて 次元の大きいベクトルは内積が大きくなって 逆伝搬できなくなるので,スケーリング 合計1の重みに変換

Slide 13

Slide 13 text

4. Multi-Head Attention Attentionではクエリとキーの類似度を計算して,それに応じた 重みでvalueを足している. 4.1 Scaled Dot-Product Attention 一つのクエリについて 一つのクエリについて 一連の流れとしては,内積取って類似度を計算.大きい次元で内積が大きくなる効果を補正. Softmaxとって重みに変換し,その重みに応じてvalueと掛け合わせる.

Slide 14

Slide 14 text

4. Multi-Head Attention 各qに対して関連のある KeyのValueが取り出さ れるイメージ →キーとバリューの学習 が大事 4.1 Scaled Dot-Product Attention N個のクエリについて

Slide 15

Slide 15 text

4. Multi-Head Attention 4.2 Multi-Head Attention まず,head内にて,①行列かけてやる.②Attentionして出力はまた横ベクトルを 得る.③横につなげる.④最後行列かけて変換する. 論文の中ではh=8個用意.

Slide 16

Slide 16 text

4. Multi-Head Attention 4.2 Multi-Head Attention Xのどの部分を処理するか Xの注目の仕方を決める Xを回して出力を決める この時,横ベクトルの次元を 1/8にしている. つまり,行列をかけて注目の仕 方を変えているイメージ Q:入力のどの部分をみるか K:比較の仕方 V:出力を決定するのが Multi-Head Attention

Slide 17

Slide 17 text

4. Multi-Head Attention 4.2 Multi-Head Attention MultiHeadの方が単一のものより性能が高い。これは単一 ヘッドで深く潜在表現を処理するよりも、ヘッドが異な れば処理している潜在表現空間も異なる→MultiHeadで複 数の潜在表現空間を処理してまとめる方がより広範に豊 かな情報を取ってきてくれる

Slide 18

Slide 18 text

実験結果(時間あれば) •ヘッドが1つの時より複数ヘッドの方が良いが、ヘッド数が多すぎて も逆に性能劣化 •KeyとValueの次元小さいと性能劣化 •モデルサイズを大きくすると性能向上 •ドロップアウトやラベルスムージングは有効 •位置エンコードの代わりに位置を考慮したエンベディングを使って も性能は変わらなかった。

Slide 19

Slide 19 text

補足(説明を省いた所) • Embedding • Positional encoding • BEAMsearch • Masked multi head attention • デコーダでのAttention • Softmax 縛り強め和=1, • Sigmoid全般に,比較的緩め

Slide 20

Slide 20 text

補足 • Masked multi head attention 予測すべき単語より後ろにある単語に対応する部分は-∞でうめ る.その後softmaxを使うので,ほぼ0となり情報はなし. ・デコーダでのAttention KeyとValueはエンコーダーの出力を持ってくる. Qはデコーダーの出力(初回はBOS:begin of sequencというトー クンだけの入力)

Slide 21

Slide 21 text

参考 • [1706.03762] Attention Is All You Need (arxiv.org) • https://www.youtube.com/watch?v=50XvMaWhiTY • 深層学習界の大前提Transformerの論文解説! - Qiita • 論文解説 Attention Is All You Need (Transformer) - ディープ ラーニングブログ (hatenablog.com)