Slide 1

Slide 1 text

Attentionさえあればいい。
 
 
 早野康太


Slide 2

Slide 2 text

自己紹介
 ● 名前
 ○ 早野 康太
 ● お仕事
 ○ 自然言語モデルの改善
 ● 趣味
 ○ 猫、犬
 ■ YouTube
 ○ ゲーム
 ■ 音ゲ、ウマ娘、ギャルゲ
 ○ アニメ
 ■ 水星の魔女
 ■ ぼっちざろっく (てか秋アニメ豊作すぎヤバスンギ)


Slide 3

Slide 3 text

自然言語処理
 ● 深層学習で「ことば」を処理する
 ○ 翻訳
 ■ Google翻訳
 ■ DeepL
 ○ 質問応答
 ■ Alexa
 ○ 文章生成
 ■ AIのべりすと
 ○ 画像生成 (最近流行ってますね)
 ■ Stable Diffusion, NovelAI


Slide 4

Slide 4 text

最近のAIはすごい
 ● AIのべりすと
 ○ 入力した文章の続きをAIが
 書いてくれる
 出典: https://ai-novel.com 
 吾輩は猫である。名前はまだない。

Slide 5

Slide 5 text

最近のAIはすごい
 ● AIのべりすと
 ○ 入力した文章の続きをAIが
 書いてくれる
 
 出典: https://ai-novel.com 
 吾輩は猫である。名前はまだない。 そんな冗談が脳裏をよぎるほど、その日、俺の 気分は沈んでいた。 「……」 時刻は午前十一時。場所は近所の公園だ。休 日なだけあってそれなりに人通りもあるが、遊 具で遊ぶ子供の姿はない。皆一様にベンチに 腰掛けて、何やら物思いに耽っているようだ。

Slide 6

Slide 6 text

最近のAIはすごい
 ● NovelAI
 ○ 文章を入力すると絵を描いてくれる
 
 ● a little girl, wearing lame t-shirt , 
 eating large cake から生成した画像 →
 


Slide 7

Slide 7 text

最近のAIはすごい
 
 
 AIの文章読解能力は飛躍的に向上し
 文章を書く、文章をイメージに起こす
 といったタスクで人間を上回りつつある


Slide 8

Slide 8 text

最近のAIはすごい
 
 
 ● 今日の発表
 ○ そうした進歩の発端となったTransformerについて
 ■ コアとなるAttention機構の仕組みを解説
 AIの文章読解能力は飛躍的に向上し
 文章を書く、文章をイメージに起こす
 といったタスクで人間を上回りつつある


Slide 9

Slide 9 text

● Attention Is All You Need (Łukasz Kaiser et al., 2017)
 ○ 文章の単語同士の関連度を測る (Attention) 機構を組み込むことで
 自然言語処理モデルの性能が大きく向上
 Transformer 
 チノ
 ちゃん
 かわいい
 推し
 は
 誰
 ?
 入 力 文
 参照情報
 チノ
 ちゃん
 以外
 ありえん


Slide 10

Slide 10 text

Transformerの構造
 Attention Is All You Need (Łukasz Kaiser et al., 2017)

Slide 11

Slide 11 text

● 入力文をベクトル系列に変換
 Transformerの構造
 Attention Is All You Need (Łukasz Kaiser et al., 2017)

Slide 12

Slide 12 text

● 入力文をベクトル系列に変換
 Transformerの構造
 ご注文はうさぎですか?
 ご, 注文, は, うさぎ, ですか, ?
 0, 1, 2, 3, 4, 5
 形態素解析
 トークンID化
 E 0 , E 1 , E 2 , E 3 , E 4 , E 5 
 ベクトル化
 Attention Is All You Need (Łukasz Kaiser et al., 2017)

Slide 13

Slide 13 text

● 入力文をベクトル系列に変換
 Transformerの構造
 Attention Is All You Need (Łukasz Kaiser et al., 2017) Positional Encoding
 ● Attentionだけではトークンの
 位置情報を考慮できない
 
 ● 位置ごとに異なる値を足して
 位置関係を学習できるように
 ○ 加える値は完全決め打ち


Slide 14

Slide 14 text

● 一連の処理をまとめた”ブロック”を
 何個も積み上げている 
 Transformerの構造
 Multi-Head
 Attention
 残差結合
 正規化
 Feed Forward
 Attention Is All You Need (Łukasz Kaiser et al., 2017)

Slide 15

Slide 15 text

● 一連の処理をまとめた”ブロック”を
 何個も積み上げている
 ○ Multi-Head Attention
 ○ 残差結合
 ○ 正規化 
 ○ Feed Forward
 Transformerの構造
 Attention Is All You Need (Łukasz Kaiser et al., 2017)

Slide 16

Slide 16 text

● 一連の処理をまとめた”ブロック”を
 何個も積み上げている
 ○ Multi-Head Attention
 ○ 残差結合
 ○ 正規化 
 ○ Feed Forward
 Transformerの構造
 入力ベクトル
 出力ベクトル
 Attention Is All You Need (Łukasz Kaiser et al., 2017)

Slide 17

Slide 17 text

入力ベクトル
 出力ベクトル
 残差結合
 x’ = x + Attention(x) ● Attention結果に処理前の値を
 加えることで勾配消失を防ぐ
 ● 残差結合はResNet(2015)で
 効果が実証された
 Attention以外の要素
 
 Attention Is All You Need (Łukasz Kaiser et al., 2017)

Slide 18

Slide 18 text

入力ベクトル
 出力ベクトル
 ふつうのFeed Forward Attention以外の要素
 
 Attention Is All You Need (Łukasz Kaiser et al., 2017)

Slide 19

Slide 19 text

● 一連の処理をまとめた”ブロック”を
 何個も積み上げている
 ○ Multi-Head Attention
 ○ 残差結合
 ○ 正規化 
 ○ Feed Forward
 Transformerの構造
 入力ベクトル
 出力ベクトル
 キモとなるところ
 Attention Is All You Need (Łukasz Kaiser et al., 2017)

Slide 20

Slide 20 text

● Attentionとは、入力ベクトルを別の参照情報を用いて
 別のベクトルへと変換する仕組み
 QKV Attention
 入力ベクトル
 q 出力ベクトル
 q’

Slide 21

Slide 21 text

● Attentionとは、入力ベクトルを別の参照情報を用いて
 別のベクトルへと変換する仕組み
 QKV Attention
 入力ベクトル
 q 出力ベクトル
 q’ 参照情報
 k, v

Slide 22

Slide 22 text

QKV Attention
 q query
 変換したい
 ベクトル
 key, value
 ベクトルを変換する際
 参照する情報
 keyとvalueが辞書的に
 一対一に対応している
 (k 1 , v 1 ), (k 2 , v 2 )

Slide 23

Slide 23 text

QKV Attention
 qT k 1 q qT k 2 key, value
 ベクトルを変換する際
 参照する情報
 keyとvalueが辞書的に
 一対一に対応している
 (k 1 , v 1 ), (k 2 , v 2 )

Slide 24

Slide 24 text

QKV Attention
 qT k 1 q qT k 2 queryとkeyとの関連度を
 内積を取ることで数値化する
 1.2 3.6

Slide 25

Slide 25 text

QKV Attention
 qT k 1 q qT k 2 0-1にスケールした後
 softmaxを取り
 関連度の和を1に正規化
 1.2 3.6 0.4 0.6 scale
 &
 softmax


Slide 26

Slide 26 text

QKV Attention
 qT k 1 q qT k 2 1.2 3.6 0.4 0.6 scale
 &
 softmax
 v 1 v 2 正規化した関連度で
 valueに重みをつける


Slide 27

Slide 27 text

QKV Attention
 qT k 1 q qT k 2 1.2 3.6 0.4 0.6 v 1 v 2 scale
 &
 softmax
 + q’

Slide 28

Slide 28 text

k 1 q k 2 QKV Attention
 v 1 v 2 query
 変換したい
 ベクトル
 key, value
 ベクトルを変換する際
 参照する情報
 keyとvalueが辞書的に
 一対一に対応している
 q’ output
 queryを元に
 key, valueから
 情報を引き出す


Slide 29

Slide 29 text

Attention定式化


Slide 30

Slide 30 text

Attention定式化
 Q K V 1行ごとに別々の
 q, k, vに対応


Slide 31

Slide 31 text

Q K V Attention定式化
 関連度計算
 &
 スケーリング


Slide 32

Slide 32 text

Q K V Attention定式化
 queryとkeyの
 関連度で
 valueを重み付け


Slide 33

Slide 33 text

TransformerのQとかKとかVってどこから来るの?
 Attention Is All You Need (Łukasz Kaiser et al., 2017)

Slide 34

Slide 34 text

TransformerのQとかKとかVってどこから来るの?
 query
 key
 value
 ● 矢印が三股になっている
 → 同じ情報をq, k, vに使ってる
 ● Self-Attention(自己注意機構)
 Attention Is All You Need (Łukasz Kaiser et al., 2017)

Slide 35

Slide 35 text

Multi-Head Attention (Self-Attention発展)
 ● Q, K, Vをh個に分割
 ● h個分のAttentionを計算
 ● 計算したAttentionを結合
 Attention Is All You Need (Łukasz Kaiser et al., 2017)

Slide 36

Slide 36 text

q Multi-Head Attention (Self-Attention発展)
 512

Slide 37

Slide 37 text

q Multi-Head Attention (Self-Attention発展)
 512 WQ 512

Slide 38

Slide 38 text

q WQ 512 512 512 / 8 = 64 Multi-Head Attention (Self-Attention発展)


Slide 39

Slide 39 text

q WQ 512 512 512 / 8 = 64 q’ Multi-Head Attention (Self-Attention発展)
 = 64

Slide 40

Slide 40 text

q WQ 512 512 512 / 8 = 64 q’ Multi-Head Attention (Self-Attention発展)
 = 64 ● 512次元空間から64次元空間への線形写像


Slide 41

Slide 41 text

q 512 Multi-Head Attention (Self-Attention発展)
 64 WQ 1 q’ q q’ W 
 3次元→2次元部分空間の
 線形写像 (実際は512→64)

Slide 42

Slide 42 text

q 512 Multi-Head Attention (Self-Attention発展)
 64 WQ 1 q’ WQ 2 q q’ W 
 3次元→2次元部分空間の
 線形写像 (実際は512→64)

Slide 43

Slide 43 text

q 512 Multi-Head Attention (Self-Attention発展)
 64 WQ 1 q’ WQ 2 q q’ W 
 3次元→2次元部分空間の
 線形写像 (実際は512→64) qへの光の当て方
 (どの視点から見るか)
 を決めるパラメータ


Slide 44

Slide 44 text

q 512 Multi-Head Attention (Self-Attention発展)
 64 WQ 1 q’ WQ 2 q q’ W 
 3次元→2次元部分空間の
 線形写像 (実際は512→64) qへの光の当て方
 (どの視点から見るか)
 を決めるパラメータ
 WQ 8

Slide 45

Slide 45 text

q 512 Multi-Head Attention (Self-Attention発展)
 64 q’ k’ q q’ W 
 3次元→2次元部分空間の
 線形写像 (実際は512→64) qへの光の当て方
 (どの視点から見るか)
 を決めるパラメータ
 WK 1 WK 2 WK 8

Slide 46

Slide 46 text

q 512 Multi-Head Attention (Self-Attention発展)
 64 q’ k’ q q’ W 
 3次元→2次元部分空間の
 線形写像 (実際は512→64) qへの光の当て方
 (どの視点から見るか)
 を決めるパラメータ
 v’ WV 1 WV 2 WV 8

Slide 47

Slide 47 text

q 512 Multi-Head Attention (Self-Attention発展)
 64 q’ k’ v’ head 1 head 2 head 8 Attention Attention Attention 64

Slide 48

Slide 48 text

q 512 Multi-Head Attention (Self-Attention発展)
 64 q’ k’ v’ head 1 head 2 head 8 head 1 head 2 head 8 Concat Concat Attention Attention Attention 512

Slide 49

Slide 49 text

Multi-Head Attention (Self-Attention発展)
 ● Self-Attention ✕ Multi-Head
 ○ ただ自分に注目するだけでなく
 “多角的に”見た自分との
 関連度を測る
 ● Transformerではベクトルの
 投影の仕方(W)を
 学習パラメータにしている
 


Slide 50

Slide 50 text

● ざっくりいうと、Transformer = Attention層を複数積み上げたモデル
 ○ 原点のTransformerから学習方法などを工夫することで
 さまざまなモデルへと派生
 Transformerから他のモデルへの派生
 Transformer ● BERT ● RoBERTa ● DeBERTa Encoderのみ ● GPT Decoderのみ ● BART ● T5 Enc. Dec. ● Vision Transformer 画像

Slide 51

Slide 51 text

● Bidirectional Encoder Representations from Transformers
 ○ BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
 ○ Transformerによる双方向のエンコード表現
 ■ Transformerモデルの一部分を利用したモデル
 ○ Googleが2018年に発表
 ● 当時の自然言語処理タスクの最高記録を軒並み塗り替えた
 ● 転移学習 (finetuning) により 
 あらゆる自然言語処理タスクに応用可能な汎用性の高さ
 
 Transformerから他のモデルへの派生


Slide 52

Slide 52 text

● GPT (Generative Pretrained Transformers)
 ○ Improving Language Understanding by Generative Pre-Training
 ○ OpenAIが発表している、文章生成に特化したモデル
 ■ 現在はGPT3まで公開されている
 ○ 文章要約、翻訳、質問応答などで高い性能
 ■ 冒頭で紹介したAIのべりすとにもこのモデルが使われている
 ○ TransformersのDecoder部分を使っている
 
 
 
 Transformerから他のモデルへの派生


Slide 53

Slide 53 text

● CLIP (Constractive Language-Image Pretraining)
 ○ Learning Transferable Visual Models From Natural Language Supervision
 ○ 画像に対して正しいテキストをラベルとして割り当てる
 ■ 事前学習方法を工夫することで
 zero-shot(初めてみるデータ)でも高い精度を出している
 ○ テキストエンコーダー部分にTransformerが利用されている
 ○ 冒頭で紹介したNovelAIのほか、
 Stable Diffusionの派生モデルにおいて利用されている
 
 
 Transformerから他のモデルへの派生


Slide 54

Slide 54 text

● A Survey of Transformers 
 (TIANYANG LIN et. al., 2021)
 ○ Transformer派生についてのサーベイ
 ○ 膨大な数のTransformer派生について
 詳細にまとめられている
 ○ もっと詳しく知りたい方は
 こちらを読まれるのをおすすめします
 
 Transformerから他のモデルへの派生


Slide 55

Slide 55 text

● 近代の自然言語モデルのめざましい進歩は
 Transformerから始まった (Attention is All You Need)
 ○ 今どきの自然言語モデルはだいたいTransformerの派生
 ■ BERT, T5, GPT, …
 ● Attentionの工夫
 ○ Self-Attention
 ■ 入力された信号のうちどの部分に注目すればよいかを計算
 ○ Multi-Head化
 ■ “さまざまな視点から見た”ベクトルのSelf-Attention
 ■ ベクトルをどの視点から見るかをパラメータとして学習
 まとめ