Slide 1

Slide 1 text

深層学習によるTransformer / Vision and Languageの基礎 2022.10.08 東北⼤学 菅沼 雅徳

Slide 2

Slide 2 text

画像付き質疑応答タスク(VQA)において,⼈間の性能を超えた 2 深層学習によるVison and Languageの現在(2022/10/08) ⼈間の正答率は約81% https://paperswithcode.com/sota/visual-question-answering-on-vqa-v2-test-dev

Slide 3

Slide 3 text

• 与えられた画像に関する質問⽂に答えるタスク • V&Lタスクにおける主要なベンチマーク問題の⼀つ 3 Visual Question Answering(VQA)とは? Q.Where is the child sitting? A. fridge VQA v2, https://visualqa.org/

Slide 4

Slide 4 text

4 Visual Question Answering(VQA)とは? • 与えられた画像に関する質問⽂に答えるタスク • V&Lタスクにおける主要なベンチマーク問題の⼀つ

Slide 5

Slide 5 text

5 Visual Question Answering(VQA)とは? Q. What does the man who sits have trouble doing? A. Walking [Schewenk+, A-OKVQA, 2022] VQAのベンチマークはいくつか存在し,もう少し⾼度な質問を含む ベンチマークもある(e.g. OK-VQA [Schewenk+, 2022])

Slide 6

Slide 6 text

VQAだけでなく,最近はテキスト指⽰による画像⽣成でも⼤きな進展が 6 Text-to-image generation “An astronaut riding a horse in a photorealistic style” DALL-E 2 [Ramesh+, 2022]

Slide 7

Slide 7 text

7 Text-to-image generation “a shiba inu wearing a beret and black turtleneck” DALL-E 2 [Ramesh+, 2022] VQAだけでなく,最近はテキスト指⽰による画像⽣成でも⼤きな進展が

Slide 8

Slide 8 text

特に最近では,Stable Diffusionの公開に伴い,Diffusion modelに基づく テキスト指⽰画像⽣成が盛ん • 元となる技術は,Latent diffusion model [Rombach+, CVPRʼ22] 8 Latent Diffusion Model [Rombach+, CVPRʼ22]

Slide 9

Slide 9 text

• ペイント→写実画像⽣成 • インペインティング • 超解像 などにも応⽤でき,⾼性能 9 Latent Diffusion Model [Rombach+, CVPRʼ22] ペイントからの画像⽣成 インペインティング 超解像

Slide 10

Slide 10 text

• Transformer • 画像特徴と⾔語特徴のアライメント • ⼤規模⾃⼰教師あり学習 10 これらの研究の核となる技術 Transformer [Vaswani+, NeurIPSʼ17] CLIP [Radford+, ICMLʼ21] BERT [Devlin+, NACCL-HLTʼ19] GPT-3 [Brown+, NeurIPSʼ20]

Slide 11

Slide 11 text

Transformerの基礎

Slide 12

Slide 12 text

まず,⼀⾔に「Transformer」といっても,⼤きく3つのモデルが存在する 12 Transformer [Vaswani+, NeurIPSʼ17] Encoder Decoder Encoder-Decoder 代表的な モデル • BERT • Vision Transformer GPT • 原著のTransformer • BART • T5

Slide 13

Slide 13 text

より正確には,最初に機械翻訳モデルとしてEnc-Dec型のTransformerが提案され,その後に 事前学習済みモデル(Decoderのみを⽤いた⾔語モデル,Encoderのみを⽤いた双⽅向の ⽂・単語表現)が注⽬されるようになり,Transformerという名称が⼀般化されて,現在に⾄る 13 Transformer [Vaswani+, NeurIPSʼ17] Encoder Decoder Encoder-Decoder 代表的な モデル • BERT • Vision Transformer GPT-1/2/3 • 原著のTransformer • BART • T5

Slide 14

Slide 14 text

14 Transformer [Vaswani+, NeurIPSʼ17] Encoder Decoder Encoder-Decoder 代表的な モデル GPT-1/2/3 • 原著のTransformer • BART • T5 • テキスト分類 • 画像分類 代表的な タスク • BERT • Vision Transformer • テキスト分類 • ⾔語⽣成(e.g. 機械翻訳) • テキスト分類 • ⾔語⽣成(e.g. 機械翻訳)

Slide 15

Slide 15 text

どのTransformerモデルにおいても,下記の基本素⼦から構成される • 単語・位置埋め込み(Word / Positional embedding) • 注意機構(Attention) • 層正規化(Layer normalization) • フィードフォワード層(FFN) • 残差結合(Residual connection) 15 Transformerの構成要素 Word/Position embedding Attention Layer norm FFN 𝑋 Layer norm × 𝐿

Slide 16

Slide 16 text

• ⽂字や単語などの離散的な「記号」を機械学習モデルが扱える「ベクトル」に 変換する必要がある • 1つの単語を𝑑次元のベクトルに変換=1つの単語を𝑑個の数値で表現 • これを⾏うのが,単語埋め込み 16 単語埋め込み I am a smart cat 𝒉! 𝒉"# 𝒉" 𝒉$#"%& 𝒉'"& 我々が扱う記号 ベクトル表現(𝒉 ∈ ℝ!) 単語埋め込み

Slide 17

Slide 17 text

単語埋め込みにも様々な⽅法があるが,Transformerを使う上で最も⼀般的 なのが,単語埋め込み層 𝑊 ∈ ℝ'× ( を⽤いる⽅法 17 単語埋め込み I am a smart cat 𝒉! 𝒉"# 𝒉" 𝒉$#"%& 𝒉'"& 我々が扱う記号 ベクトル表現(𝑣 ∈ ℝ!) 単語埋め込み 1. 与えられた単語列を辞書に基づいて,単語ID列に変換する • I am a smart cat → 4 12 0 32 14 • 実装によっては,one-hotベクトルで表現する 2. 単語ID列に対して単語埋め込み層を適⽤して,単語ベクトルに変換 • 4 12 0 32 14 → ℎ! ℎ"# ℎ" ℎ$#"%& ℎ'"& • 𝒉 = 𝑊𝑋, 𝑋は単語ID列

Slide 18

Slide 18 text

• PyTorchの単語埋め込み層(nn.Embedding) 𝑊 ∈ ℝ'× ( は単に単語埋め込みの ルックアップテーブルになっている • この𝑊は学習可能なパラメータなので,⽬的のタスクに特化した 単語埋め込み学習がモデル全体の最適化を通して実⾏される 18 (補⾜)単語埋め込み ℎ!! … ℎ!" ℎ#! ⋮ … ⋮ ℎ#" ⋮ ℎ$! … ℎ$" ID0の単語のベクトル表現 ID1の単語のベクトル表現 ID 𝑉 の単語のベクトル表現 𝑊 ∈ ℝ'× (

Slide 19

Slide 19 text

• 位置符号化は,⼊⼒系列の先頭から何番⽬の単語であるかをベクトルで表現 したもの 19 位置符号化(Positional encoding) • Transformerの主要な演算である注意機構は⼊⼒系列の順番の⼊れ替えに 対して不変であるため,位置情報を付与することは重要 • 例えば,I am a smart cat → cat am a smart I では⽂章の意味が全く異なるが, 注意機構の出⼒結果としては同じになってしまう • ⾃然⾔語処理のような単語の順序や位置が重要なタスクでは,各単語の位置情報は必要 不可⽋

Slide 20

Slide 20 text

20 位置符号化(Positional encoding) • 単語埋め込みによって,単語はベクトルで表現されているので,位置情報も ベクトルで表現する 𝑝&,) = sin 𝑡 𝑇()+,)// , 𝑘が奇数 cos 𝑡 𝑇 )+0 // , 𝑘が偶数 • 𝒉 = 𝑊𝑋 + 𝒑 のように単語埋め込みベクトルに加算する • これにより,同じ単語でも位置によって異なるベクトル表現となる 𝑡: ⼊⼒系列内の先頭からの位置 𝑘: ベクトルの𝑑次元のうちの先頭からの位置 𝑇: 想定されうる最⼤系列⻑(原論⽂では10,000) 𝑑: ベクトルの次元数 • 具体的には,周期の異なる正弦波によって,位置情報を符号化する

Slide 21

Slide 21 text

21 位置符号化の例(系列⻑30, 64次元ベクトルの場合) 系列内の 単語位置 次元

Slide 22

Slide 22 text

• 内積によって単語間の相対位置の近さを計算可能(位相差で表現可能) • 𝒑! ⋅ 𝒑" = ∑ # " # cos 𝑤# 𝑚 − 𝑛 , 𝑤# = $ % #$ /" • 位置が遠い単語間の内積の⽅が,近い単語間の内積よりも⼤きくなる 22 位置符号化の特性 • 位置符号化ベクトルのノルムが常に⼀定 • sin& 𝜃 + cos& 𝜃 = 1より,すべての位置𝑡において 𝒑' & = ( & となる • ベクトルの⾃由度が抑えられているため,学習しやすい(と考えられる)

Slide 23

Slide 23 text

• 位置符号化は学習不要であったが(学習可能なパラメータを含まない), 位置ベクトルもモデルと⼀緒に学習する位置埋め込みも提案されている • GPT-3やBERTなどの事前学習モデルではこの位置埋め込みが使⽤されている • 単にゼロなどで初期化して,⽬的のタスクと同時にSGDで最適化する • 位置符号化・位置埋め込みのどちらを使うべきかは, タスクによって変わってくるため,⼀概にはどちらが良いかは⾔えない • 現在でも位置符号化・埋め込みの影響を調べる研究がなされている 23 位置埋め込み(Positional embedding)

Slide 24

Slide 24 text

• Transformerで使⽤される注意機構は⼀般に,QKV注意機構と呼ばれる • Query, Key, Valueの頭⽂字をとっている • Key・Value⽅式のデータベースにQueryを投げて処理を⾏うことになぞっている 24 注意機構(Attention) • 特に,Query, Key, Valueがすべて同じベクトルであるときに, ⾃⼰注意機構(Self Attention)と呼ぶ 𝑄 𝐾 𝑉 2 𝑄 QKV-attention 𝑄 2 𝑄 Self-attention

Slide 25

Slide 25 text

• ʻI am a smart catʼ を単語埋込みして,𝐻 = 𝒉$ , … , 𝒉) ∈ ℝ)×( を得られたとする • 各単語𝒉# は𝑑次元のベクトルで表現されている • 𝐿は単語数(この例だと𝐿 = 5) 25 ⾃⼰注意機構:QKVの獲得 • このとき,Query, Key, Valueはそれぞれ異なる重み⾏列を⽤いて計算される • 𝑄 = 𝐻𝑊3, 𝐾 = 𝐻𝑊4, 𝑉 = 𝐻𝑊( • 𝑊+ , 𝑊, , 𝑊- ∈ ℝ(×( • 元となるベクトル𝐻は共通だが,重み⾏列が異なるため,𝑄, 𝐾, 𝑉は完全には 同じベクトル表現にはならない

Slide 26

Slide 26 text

続いて,Query/Key間の類似度を⾏列積で計算する • 𝒂 = 𝒒6! 7 • ベクトルの次元数𝑑が⼤きくなると,内積の値も⼤きくなってしまうため, 𝑑で除算することで,これを防いでいる 26 ⾃⼰注意機構:QK間の類似度の計算 𝒒 𝐾 ∈ ℝ&×( = I am a smart cat 𝒂 ∈ ℝ). 𝑎* は𝒒と𝒌* の類似度を表す ∗ 𝑎+ -0.5 𝑎, 1.1 𝑎- 0.3 𝑎( 0.8 𝑎& 0.2 図解のため,Queryから1単語𝒒だけ抜き出して 説明する

Slide 27

Slide 27 text

類似度𝒂に対して,ソフトマックス関数をかけることで,アテンション0 𝒂を 計算する # 𝒂 = softmax 𝒒𝐾8 𝑑 27 ⾃⼰注意機構:アテンションの計算 𝑎+ -0.5 𝑎, 1.1 𝑎- 0.3 𝑎( 0.8 𝑎& 0.2 : 𝑎+ 0.07 0.36 0.16 0.26 0.15 : 𝑎, : 𝑎- : 𝑎( : 𝑎& softmax 和が1になる

Slide 28

Slide 28 text

アテンション0 𝒂とValue 𝑉の重み付き和によって最終的な出⼒1 𝒒を計算 • . 𝒒 = # 𝒂𝑉 28 ⾃⼰注意機構:アテンションによる重み付き和 3 𝑎; am a smart cat I 3 𝑎< 3 𝑎= 3 𝑎> 3 𝑎? + + + + = @ 𝒒 参照先となるKeyの各単語の中から,Queryの観点から重要と思われるベクトルを選別し, その重要度に応じて,元となるValueを混ぜ合わせる処理とみなせる

Slide 29

Slide 29 text

アテンション0 𝒂とValue 𝑉の重み付き和によって最終的な出⼒1 𝒒を計算 • . 𝒒 = # 𝒂𝑉 29 ⾃⼰注意機構:アテンションによる重み付き和 cat am a smart cat I • 注意機構によって⽂章内の単語間の関係性を捉えることが可能 • 遠く離れた単語との関係性も捉えることができるため,RNNやLSTMよりも優れた性能 を⽰している(と考えられる)

Slide 30

Slide 30 text

• 上記は図解のため,Queryのサイズは1で説明したが, 実際はQueryもKey, Valueと同じく 単語数× 次元数 𝐿×𝑑 の⾏列として扱う • すべての単語に対して,類似度計算,アテンション計算,出⼒値の計算を同時に実⾏する ことに相当 30 ⾃⼰注意機構:Queryの⾏列表記 ⾏列形式で書き直すと, • 8 𝑄 = 9 𝐴𝑉 • 9 𝐴 = softmax 34! '

Slide 31

Slide 31 text

• アテンションを計算する際にソフトマックス関数を⽤いるが,ソフトマックスは ある⼀つの要素が⼤きい値,それ以外を0にする傾向がある(a winner takes all) • そのため,注意機構を⼀つだけ⽤いた場合,複数の観点から多様な情報を 抽出しづらい(e.g. ある2つの単語間の関係のみ焦点が当たるなど) 31 マルチヘッド注意機構(Multi-head attention) A 𝒂のうちどれか1つの要素だけが⼤きくなりがち = 複雑な特徴抽出が難しい • これを解決するために,単純に注意機構を複数⽤いる⽅法が提案されており, これをマルチヘッド注意機構と呼ぶ

Slide 32

Slide 32 text

マルチヘッド注意機構は,次元軸を𝐻等分して,それぞれ独⽴にアテンションを 計算して,最後に出⼒結果を結合するだけ 32 マルチヘッド注意機構の例 = ∗ ∗ = -0.5 1.1 0.3 0.8 0.2 0.23 0.21 0.08 0.11 0.37 @ 𝒒 𝒒 𝑲 ※ 4次元表現に対してヘッド数𝐻 = 2で分割する例( 𝑉の分割の様⼦はスペースの都合で省略)

Slide 33

Slide 33 text

• 層正規化は,過剰に値が⼤きくならないように各ベクトルを正規化する • 過剰に⼤きくなると,勾配爆発が⽣じてしまい,学習ができない • また,ベクトル内のある特定の次元の要素のみの値が⼤きくならないようにすることで, ベクトル空間を効率的に使えるようになる • Batch Normalizationなどと異なり,各ベクトル独⽴に計算(NLPタスクでは系列の⻑さが データごとにばらつくため,バッチ内の統計量は使わない⽅が良いため) 33 層正規化(Layer Normalization) • 層正規化は学習可能なパラメータ𝒂, 𝒃 ∈ ℝ'を⽤いて,下記式で計算する ℎ9 : = 𝑎9 ;"<=𝒉 >𝒉?@ + 𝑏9 𝜇1 = 1 𝑑 C )2, / ℎ) 𝜎𝒉 = 1 𝑑 C )2, / ℎ) − 𝜇𝒉 0

Slide 34

Slide 34 text

• 層正規化をTransformer内部のどの位置に配置するかで性能や学習安定性が 変わることが経験的に知られている • 多層にする場合は事前層正規化の⽅が学習が安定するが,性能⾯では事後層 正規化の⽅が優れているという実験結果が報告されている 34 事前層正規化 vs 事後層正規化 Attention Layer norm FFN Layer norm 事後層正規化(原著のTransformerなど) Attention Layer norm FFN Layer norm 事前層正規化(BERTなど)

Slide 35

Slide 35 text

• 2層の線形層と活性化関数で構成 • ⼊⼒系列中の各要素𝒉C ∈ ℝ;×'に適⽤する C 𝒉C = 𝑊<𝒉C D + 𝒃< 𝒉C D = 𝑓 𝑊; 𝒉C + 𝒃; • 𝑓は活性化関数.ReLUやGeLUがよく使⽤される • 画像認識等では,中間層の次元数を⼊⼒層よりも⼩さくすることが多いが Transformerでは⼤きくする(次元数を4倍にすることが多い) 35 フィードフォワード層 𝑊+ 𝑊,

Slide 36

Slide 36 text

• 画像認識でよく使われるResNet [He+, CVPRʼ16]で提案された⽅法 • 勾配消失を防ぐのに⾮常に有効 • ⼊⼒に近い層にまで勾配が⼗分に伝搬されるようになる 36 残差結合 [He+, CVPRʼ16] • 計算はベクトルごとに要素和をとるだけ • 𝒉E = 𝒔E + 𝒉EF; • E.g. 𝒉4+,: 注意機構処理前のベクトル 𝒔4 : 注意機構処理後のベクトル 残差結合 残差結合 𝒉./+ 𝒉. 𝒔. Attention Layer norm FFN Layer norm + + • Transformerでは,注意機構,FFN部分の2箇所に配置

Slide 37

Slide 37 text

37 Transformer Encoder Encoderは下記の基本素⼦から構成される • 単語・位置埋め込み • ⾃⼰注意機構(Self Attention) • 層正規化(Layer normalization) • フィードフォワード層(FFN) • 残差結合(Residual connection) Word/Position embedding Self Attention Layer norm FFN 𝑋 Layer norm × 𝐿

Slide 38

Slide 38 text

38 Transformer Decoder Decoderは下記の基本素⼦から構成される • ⾃⼰注意機構(Self Attention) • 層正規化(Layer normalization) • クロス注意機構(Cross Attention) • フィードフォワード層(FFN) • 残差結合(Residual connection) Layer norm Layer norm × 𝐿 Self Attention Layer norm Cross Attention FFN 𝑄 𝐾, 𝑉

Slide 39

Slide 39 text

QueryがDecoderからのベクトル,Key/ValueがEncoderからのベクトル となるだけで,計算⽅法はこれまでの注意機構と全く同じ 39 クロス注意機構(Cross attention) 4 𝑄 = softmax 𝑄𝐾8 𝑑 𝑉 𝑄 = 𝑧I, … , 𝑧J ∈ ℝJ×' 𝐾 = ℎI, … , ℎK ∈ ℝK×' 𝑉 = ℎI, … , ℎK ∈ ℝK×' … Decoder内のベクトル … Encoder内のベクトル … Encoder内のベクトル Self Attention Layer norm Cross Attention 𝑄 𝐾, 𝑉 L 𝑄

Slide 40

Slide 40 text

事前学習とファインチューニング

Slide 41

Slide 41 text

• 基本的にTransformerの訓練には膨⼤な学習データが必要となる • 新しいタスクに応じて毎回膨⼤な学習データを⽤意するのは⼤変 41 事前学習とファインチューニング • そこで,基本となるモデルを事前学習しておいて,⽬的タスクでは少数の学習データ のみの訓練で性能が出る⽅法論が模索されてきた = 事前学習モデル+ファインチューニング ⾃⼰教師あり学習による⼤規模事前学習 ⽬的タスクごとに少数教師あり学習 classifier 𝑦 CLS CLSʼ CLSʼ CLS

Slide 42

Slide 42 text

• BERTはTransformerのEncoder部分のみを⽤いたモデル • Encoderを12層〜24層積み重ねたアーキテクチャがよく使⽤される • Masked Language Modelingと次⽂予測の2つの事前学習が⾏われる • この事前学習によって,⾔語に関する⼀般的な知識や⽂脈付き単語埋め込みの合成⽅法の 学習をねらっている 42 BERT [Devlin+, NACCL-HLTʼ19] BERT I am a [MASK] cat [SEP] I donʼt have [MASK] yet [SEP] [CLS] 次⽂予測 Yes/No Masked language modeling smart name

Slide 43

Slide 43 text

Masked Language Modeling • 系列中のランダムにマスクされた単語の予測([MASK]トークンで置換された単語の予測) • [MASK]トークンの最終出⼒𝐻 5678 を全結合層𝑊9%:/ ∈ ℝ ; ×/に⼊⼒し,予測 I 𝑦 = softmax 𝑊NOP' 𝐻 QRST 43 BERTにおける事前学習:Masked Language Modeling BERT I am a [MASK] cat [SEP] I donʼt have [MASK] yet [SEP] [CLS] Masked language modeling smart name

Slide 44

Slide 44 text

Masked Language Modeling 事前学習とファインチューニング時の乖離を緩和するために,事前学習中は • 系列中の15%の単語をマスクの対象として選ぶ • 選ばれた単語の80%は[MASK]に置換,10%はランダムな単語に置換,残りの10%は置換 せずにそのまま,という処理を⾏う 44 BERTにおける事前学習:Masked Language Modeling BERT I am a [MASK] cat [SEP] I donʼt have [MASK] yet [SEP] [CLS] Masked language modeling smart name

Slide 45

Slide 45 text

次⽂予測(Image-text matching) • ⼊⼒された2つのテキストが,抽出元の⽂書において連続したテキストなのか,それとも 別の⽂書から抽出されたものなのかを予測 • この予測は,⼊⼒系列の先頭に付与した[CLS]トークンの最終層出⼒𝐻=>? を全結合層 𝑊=>? ∈ ℝ,×/に⼊⼒することで⾏う L 𝑦 = sigmoid 𝑊=>?𝐻=>? 45 BERTにおける事前学習:次⽂予測(Image-text matching) BERT I am a [MASK] cat [SEP] I donʼt have [MASK] yet [SEP] [CLS] 次⽂予測 Yes/No

Slide 46

Slide 46 text

• ファインチューニングでは,BERTの上にタスクにあわせて設計した NN(e.g. 全結合層)を積み重ねて,モデル全体を学習する • BERTの主なファインチューニング対象タスクは,単語や⽂章の分類問題 • 例えば,⽂章間の類似度推定には,[CLS]トークンに対して全結合層を⽤いて, ファインチューニングを⾏う • そのほか多数の⾃然⾔語タスクにおいて BERTは当時の既存研究を⼤幅に上回る性能を 達成して注⽬を浴びた 46 BERTのファインチューニング⽅法

Slide 47

Slide 47 text

47 GPT (Generative pretrained Transformer) • GPTはTransformerのDecoder部分のみを⽤いたモデル • バージョンはGPT-1 [Radford+, Tech report, 2018], GPT-2 [Radford+, Tech report, 2019], GPT-3 [Brown+, NeurIPSʼ20] と3種類ある • バージョンごとに若⼲の差異はあるが,どれもDecoderをアーキテクチャとして採⽤ • GPTでは⾔語モデル(次単語予測)の事前学習を⾏う • BERTとは異なり,先⾏する左側のみの⽂脈からそれに続く単語を予測する⾔語モデルの 学習を⾏う 先⾏する⽂章に続く次単語を予測

Slide 48

Slide 48 text

系列⻑が𝑁の単語列𝑠 [𝑥; … , 𝑥J ] に対して,位置𝑖の単語𝑥C を予測するとき, それよりも𝑘個前に出現する単語列 𝑥CFU, 𝑥CFUV;, … , 𝑥CF; を⽤いて, ⾔語モデルの負の対数尤度を最⼩化するように,Decoderを最適化する 𝐿 = − Q CWUV; J log 𝑃 𝑥C|𝑥CFU, 𝑥CFUV;, … , 𝑥CF; 48 GPTの事前学習⽅法:⾔語モデリング

Slide 49

Slide 49 text

具体的には,𝑥CF; に対するDecoderの最終出⼒𝐻X$%& に単語埋め込み⾏列の 転置⾏列𝑊Y ∈ ℝ ( ×'を適⽤することで,次単語を予測する 49 GPTの事前学習⽅法:⾔語モデリング • 𝐻I = 𝑊𝑋 + 𝑝 • for 𝑙 in range(1, 𝐿 + 1) 𝐻E = TransformerZ[\]Z[^ E 𝐻EF; • I 𝑥C = softmaxX$ 𝑊Y𝐻X$%& _ ※ 𝑃 𝑥* |𝑥*/0 , 𝑥*/01+ , … , 𝑥*/+ = softmax2! 𝑊3𝐻2!"# )

Slide 50

Slide 50 text

テキスト分類の例 • 系列⻑𝑁の単語列 𝑥$ , … , 𝑥1 とそのテキストの正解クラス𝑦があるとする • 𝑥1 に対応するGPTの最終出⼒𝐻24 ) を全結合層に⼊⼒し,下記の負の対数尤度を 最⼩化するようにGPT内部のパラメータも含めて学習する 50 GPTのファインチューニング⽅法 𝐿 = − Q X&,…,X' ,l ∈ m log 𝑃 𝑦|𝑥;, … , 𝑥J なお,𝑃 𝑦|𝑥+ , … , 𝑥5 = softmax6 𝑊𝐻2$ )

Slide 51

Slide 51 text

機械翻訳の例 • 原⾔語⽂と翻訳先⾔語を,特別なトークン(e.g., [to-en])で連結した系列を⽤いて ファインチューニングする • 実際の推論時は,原⾔語⽂+[to-en] をGPTに⼊⼒して,翻訳⽂の単語を1つずつ 出⼒する 51 GPTのファインチューニング⽅法

Slide 52

Slide 52 text

GPT-1 (約1.1億) → GPT-2(約15億)→ GPT-3(約1750億)とパラメータが増えるに つれて,性能も⾶躍的に向上 • データセットもGPT-1では約7000冊の書籍であったが,GPT-3ではそれに加えて Common Crawl [Raffel+, JMLRʼ20]と呼ばれる巨⼤テキストコーパスも使⽤(約3000億トークン) • 96層のTransformerモデル 52 GPT-3(超巨⼤⾔語モデル)の衝撃 GPT-3が⽣成した偽の新聞記事 ⼈間でも⾒分けがつかない精度で ⽣成可能

Slide 53

Slide 53 text

• 計算量(学習回数),学習データサイズ(トークン数),モデルパラメータ数に ⾔語モデルの性能は強く依存することを実験的に発⾒ • つまり,⼤量の計算資源+⼤量のデータ+巨⼤モデルで学習することで, より良いモデルが獲得できる(お⾦が全て?) 53 Scaling Lows [Kaplan+, arXiv:2001.08361]

Slide 54

Slide 54 text

少数の例⽰による学習 • テスト時にGPT-3の重みパラメータは更新しなくても,少数のタスクの具体例を 与えるだけで,タスクが解ける(!) • 事前学習に⽤いた膨⼤なテキストの中には,今解きたいタスクと類似した⽂章が 含まれており,これらの知識がGPTのパラメータとして蓄積されている 54 GPT-3が可能にしたこと 少数例⽰学習の例 (few-shot)

Slide 55

Slide 55 text

• 事前学習に⽤いたテキストデータと被っているテストデータを除外し, ベンチマークの性能がどの程度変化するのか検証(下図) • 無視できる範囲内での変動のため,単に記憶しているわけではない 55 単に記憶しているだけでは?

Slide 56

Slide 56 text

また,モデルサイズを⼤きくしても,学習/検証間の性能差は ほどんど変わらないため,オーバフィッティングしているわけでもなさそう 56 単に記憶しているだけでは?

Slide 57

Slide 57 text

• GPT-3のような巨⼤⾔語モデルでは,タスクを解くために適切な 「⼊⼒(プロンプト)」をいかにヒトが⾒つけるかが鍵になる • 例えば,プロンプトに「Letʼs think step by step」と追加するだけで, 推論タスクの性能が17.7%→78.7%と⼤幅に向上 [Kojima+, NeurIPSʼ22] • そのほかの推論タスクでも,10.4%→40.7%と向上 • 問題を解くための知識はモデル内にあったが,我々⼈間がうまくそれを引き出せて いなかったともいえる 57 Prompt engineering Zero-shot Zero-shot (+Letʼs think step by step)

Slide 58

Slide 58 text

385億トークンのテキスト+数式データで構成されるデータセットで ⾔語モデルPaLM[*]を追加学習 • 最も⼤きいモデル(5400億パラメータ)は,260億トークンを使って追加学習 • ちなみに,PaLM⾃体でNLPタスクの多くで⼈間を超える性能をすでに達成済み 58 Minerva: 巨⼤⾔語モデルで数学の問題を解く [*] Chowdhery+, PaLM: Scaling Language Modeling with Pathways, arXiv:2204:02311, 2022

Slide 59

Slide 59 text

• Encoder-Decoder型Transformerの事前学習の有効性も確認されている • 代表的なモデルは,BART [Lewis+, ACLʼ20], T5 [Raffel+, JMLRʼ20] • Encoderを使うことで,⼊⼒⽂に強く条件付けられるタスク(e.g. 機械翻訳 や対話)との相性が良い 59 Encoder-Decoderモデルの事前学習 • BARTでは,⼊⼒⽂の順序を⼊れ替えて,かつ⼀部単語をマスクした系列を ⼊⼒し,⽂の順序とマスクされた単語を復元する事前学習を⾏う

Slide 60

Slide 60 text

• BERTやGPTと同様に,⽬的タスクに応じてファインチューニングを実施 • 例えば,機械翻訳などはGPTと同じようにファインチューニングを⾏うが, Encoderがあることにより,原⽂章の情報を効果的に利⽤できるため,より 適したアーキテクチャだといえる 60 Encoder-Decoderモデルのファインチューニング⽅法 機械翻訳の例 [Liu+, ACLʼ20] Fig.7 より引⽤

Slide 61

Slide 61 text

Vision Transformerの基礎

Slide 62

Slide 62 text

• Transformer Encoderを画像認識に適⽤ • 画像を均等にパッチ分割し,各パッチをいわゆる「トークン」として扱う ことでTransformerを画像に対して適⽤可能に 62 Vision Transformer [Dosovitskiy+, ICLRʼ21] [Dosovitskiy+, ICLRʼ21]から引⽤

Slide 63

Slide 63 text

• 画像パッチの先頭に[CLS]トークンを追加して,最終層出⼒を全結合層に ⼊⼒することで,クラス分類を⾏う • Self Attentionによって,画像全体から分類に必要な特徴量を[CLS]トークンに 集約して分類を実施 63 Vision Transformer [Dosovitskiy+, ICLRʼ21] [Dosovitskiy+, ICLRʼ21]から引⽤

Slide 64

Slide 64 text

ResNetなどのCNNに匹敵する性能を出すためには,⼤規模なデータセットでの 事前学習が必要だった • [Dosovitskiy+, ICLRʼ21]では,JFT-300Mデータセット(3.75億枚)で事前学習 64 初期のViTの課題 [Dosovitskiy+, ICLRʼ21] JFT-300Mでの事前学習あり JFT-300Mでの事前学習なし

Slide 65

Slide 65 text

• 学習済みのCNN(教師)を⽤いた蒸留によって,効率的にViTを学習 • 蒸留には,教師モデルの出⼒そのまま使⽤するSoft Target Lossと,教師 モデルの出⼒をGTと同様にone-hotベクトル化するHard Target Lossが存在 • DeiTでは,Hard Target Lossを⽤いた⽅が優れた性能を⽰す • 論⽂内では,ImageNet-1Kで分類精度85.2%を達成(JFT-300Mで事前学習したモデルは 84.15%) 65 ViTの効率的な学習⽅法:DeiT [Touvron+, ICMLʼ21] ViT image patches [Distil] [CLS] … Ground truthのラベルとの損失計算 … 学習済みCNNの出⼒とのKL距離を計算

Slide 66

Slide 66 text

蒸留を利⽤しなくても,データ拡張や損失関数の⼯夫をすることで,ViTを 通常の学習のみで効率的に学習可能 66 ViTの更なる効率的な学習⽅法:DeiT-III [Touvron+, ECCVʼ22] ⼯夫の⼀例(ほかにも低解像度で学習等がある) • データ拡張の変更 • グレースケール化,Solarization,Gaussian blur, horizontal flip, color jitterを採⽤ • 正則化・損失関数 • Binary cross-entropy (ImageNet1Kで有効), Stochastic depth, Layer scale • Simple Random Crop • AlexNetで使⽤されていたcropping • ImageNet-1Kでの学習のみに利⽤ DeiTとの⽐較

Slide 67

Slide 67 text

67 ViTの更なる効率的な学習⽅法:DeiT-III [Touvron+, ECCVʼ22] DeiT-IIIのレシピ

Slide 68

Slide 68 text

• 物体検出やセグメンテーションのように,マルチスケールの特徴マップや ⾼解像度画像を扱いたい場⾯は多い • しかし,ViTでは固定解像度かつ注意機構の計算量の都合で困難 • 計算量はパッチ数(系列⻑)の2乗に⽐例する 68 ViTのもう⼀つの課題 典型的なCNNの構造 ViTの構造 𝐻 16 × 𝑊 16 ×𝐷 𝐻 16 × 𝑊 16 ×4𝐶 𝐻 8 × 𝑊 8 ×2𝐶 𝐻 4 × 𝑊 4 ×𝐶

Slide 69

Slide 69 text

• ViTでマルチスケール特徴マップ・⾼解像度画像を扱えるようにしたのが Swin Transformer 69 Swin Transformer [Liu+, ICCVʼ21] • Swin Transformer BlockとPatch Mergingで構成 Swin Transformer Block Patch Merging

Slide 70

Slide 70 text

• 近傍の𝟐×𝟐のパッチを統合 • 1つのパッチが𝐶次元のベクトルなので,統合することで4𝐶次元になる • 全体としては,𝐻×𝑊×𝐶 → @ 0 × A 0 ×4𝐶 • 統合後に,Layer normalizationと全結合層によって,n < × o < ×2𝐶 に変換 70 Patch Merging 近傍2×2パッチを統合

Slide 71

Slide 71 text

• Transformer Encoderの注意機構部分をWindow-based Attentionと Shifted Window-based Attentionに置換 • Window-based Attention • 特徴マップを𝑀×𝑀のウィンドウに区切り,各ウィンドウ内のパッチでのみSAを計算 • 𝐻×𝑊 × 𝐻×𝑊 の計算量が,𝑀0×𝑀0× 𝐻/𝑊 × 𝑊/𝑀 = 𝑴𝟐𝑯𝑾 に削減 71 Swin Transformer Block 8×8の特徴マップを 4×4のウィンドウで区切った例

Slide 72

Slide 72 text

Shifted Window-based Attention • C 0 , C 0 だけwindowをシフトさせて,Window-based Attentionを計算する • Window-based Attentionだけだと,より広範囲の特徴を集約できないが,Shifted Window-based Attentionによって,隣接Window間での情報集約が可能 72 Swin Transformer Block Shifted Window-based Attention

Slide 73

Slide 73 text

既存のCNN/ViTモデルと⽐較して,優れた性能を⽰す 73 Swin Transformerの性能

Slide 74

Slide 74 text

Vision and Languageの基礎

Slide 75

Slide 75 text

• 名前の通り,「画像」と「⾔語」を扱う研究分野 • 具体例:Visual Question Answering(VQA) 75 Vision and Languageとは? Q.Where is the child sitting? A. fridge VQA v2, https://visualqa.org/

Slide 76

Slide 76 text

• ⼊⼒:画像 • 出⼒:画像を説明するキャプション(⾃然⾔語) • Encoder-Decoder型のモデルが使われることが多く,CNN, LSTM, Transformerなど様々なモデルが提案されている 76 Image captioning Encoder Decoder A baby sitting on a fridge • CNN • ViT • RNN • LSTM • Transformer

Slide 77

Slide 77 text

• 我々にとっては当たり前である画像と⾔語間のアライメントは, 計算機にとっては難しい • 例えば,画像内の⽝ベクトルと⾔語の“⽝”ベクトルを⼀致させる必要がある 77 Vision and Languageは結構難しいタスク Q. What is the dog wearing? A. life jacket

Slide 78

Slide 78 text

2019年以前は, 1. Image encoder(主に Faster RCNNなどの物体検出器)の事前学習 2. Text encoderとDecoder(Attention)を1.に結合して,⽬的タスク上で学習 のアプローチが主流だった 78 V&Lタスクをどう解くか? Image encoder (Grid/Region) Text encoder Where is the child sitting? Decoder / Attention fridge

Slide 79

Slide 79 text

Grid feature • 通常のCNNやViTでの中間特徴マップ • 画像全体の情報を均等に利⽤ 79 画像特徴量の抽出(grid / region feature) Region feature [Anderson+, CVPRʼ17] • 物体検出器の中間表現を利⽤ • 物体中⼼の情報を利⽤可能

Slide 80

Slide 80 text

• Grid + Region特徴の両⽅を⽤いることで,image captioningタスクで ⼤幅に性能改善 [Quang, Suganuma, Okatani, ECCVʼ22] • 当時の⼤規模事前学習なしSOTAモデル(135.4 CIDEr score)→ 144.2 CIDEr score • Transformerのみで構成することで,NMSなどの⾼負荷演算を回避できるため, 推論も⾼速 80 画像特徴量の抽出(grid + region feature) モデルの全体像 推論速度の⽐較

Slide 81

Slide 81 text

最近はTransformerの隆興もあり, 1. Web上の⼤量の画像・テキストペア※を⽤いてTransformerを事前学習 2. ⽬的タスク上でファインチューニング のアプローチが主流 81 TransformerのV&Lへの適⽤ Transformer encoder ※ Web上の画像とAlt-textをフィルタリングしたものを利⽤ (e.g. [Sharma+, ACLʼ18]) CNN Where is the child sitting? fridge Transformer encoder Where is the child sitting? fridge …

Slide 82

Slide 82 text

• Masked language modeling (MLM) • BERTと同様に,マスクされた単語もしくは画像パッチを復元 • Image-text matching (ITM) • また,⼊⼒された画像・テキストが正しいペアかどうかを判定 マスクされた単語を視覚情報を頼りに復元可能=視覚・⾔語間の特徴がうまく繋がっている 82 画像・テキストペアによる事前学習 Transformer encoder Yes/No … [CLS] The [MASK] sitting on the fridge ITM loss child MLM loss

Slide 83

Slide 83 text

• 通常,画像認識器(画像エンコーダ)はone-hotベクトルを使って学習される • これでは画像エンコーダは「何を」意味しているのかは理解していないため, ⾔語の特徴ベクトルと⼀致させることは難しい 83 画像エンコーダの⼀般的な学習⽅法 0 1 2 3 … Image encoder (CNN, Vision Transformer, etc) class ID 「有限個のクラスID Xの何か」に射影

Slide 84

Slide 84 text

84 CLIPによるブレイクスルー [Radford+, ICMLʼ21] Web上にある4億の画像ーテキストペアを⽤いて,正しいペア間の類似度が最⼤, 正しくないペア間の類似度は最⼩になるようにエンコーダを学習 = 対照学習 正しいペアの 特徴ベクトル間の内積 (類似度)を最⼤化 特徴ベクトル …

Slide 85

Slide 85 text

• CLIPによって得られた画像・⾔語エンコーダからの特徴ベクトルは,画像ー⾔語間で アライメントされている • さらに任意の⾔語(キャプション)と画像の結び付けが可能になった • これまでは単なる「画像と有限個の記号(クラスID)」との結びつけであった 85 CLIPによるブレイクスルー [Radford+, ICMLʼ21] これまでの画像分類 CLIP 「有限個のクラスID Xの何か」 ⾔語情報との対応付けかつ one-hotベクトルよりも圧倒的な情報量との関連付け “A brown dog is sitting on the grass” 何を意味しているのか 理解していない

Slide 86

Slide 86 text

• Web上のキャプションはOne-hotベクトルよりも柔軟かつ圧倒的に広い概念をもつ • 数や形容詞の情報なども含まれている • アノテーションコストも従来のデータセットより低い • e.g. ImageNetは25,000⼈が1,400万枚の画像に対してラベリング • CLIPはWeb上に既にある画像ーキャプションペアをもってくるだけ 86 Conceptual 12M [Changpinyo+, CVPRʼ21] 画像・キャプションの例 [Changpinyo+, CVPRʼ21] より引⽤

Slide 87

Slide 87 text

• 画像分類,物体検出,セマンティックセグメンテーションなどのモデルの学習に キャプション等の⾔語情報を⽤いるのが標準的になるかもしれない • ⼤量の画像ーキャプションペアで学習することで,優れたzero-shot認識を 獲得することが可能 87 (補⾜)画像認識器の学習に⾔語を⽤いるのが標準的になるかもしれない 個々のタスクで 学習しなくても ResNetに勝てる キャプションによる物体検出の例 [Li+, CVPRʼ22] [CLIPより引⽤]

Slide 88

Slide 88 text

• CNN(物体検出器)の事前学習のみ • CNN/LSTMのハイブリッド • Bottom-up attention [Anderson+, CVPRʼ17], Co-attention [Kien+, CVPRʼ18] 88 最近のV&L事前学習のトレンド • Transformer+⼤規模画像・テキストペアによる事前学習 • Masked Language Modeling+Image-text matching • ViLBERT [Lu+, NeurIPSʼ19], VinVL [Zhang+, CVPRʼ21] • Transformer+より⼤規模画像・テキストペアによる事前学習 • Language modeling + Contrastive learningによる事前学習 • SimVLM [Wang+, ICLRʼ22], CoCa [Yu+, arXiv:2205.01917] ~2019 2019~ 2022~

Slide 89

Slide 89 text

89 SimVLM Wang+, SimVLM: Simple Visual Language Model Pretraining with Weak Supervision, ICLRʼ22 シンプルなV&L事前学習⽅法の提案 • 物体検出器が不要,デファクトスタンダードであるMLM・ITMなどの事前学習を撤廃 • ⾔語モデルの学習の枠組みで事前学習を実⾏(auto-regressive) • ただし,学習データと計算資源は1.8B image-textペア + 512 TPU v3 • 画像特徴+テキストの前半部分を Encoderに⼊⼒ • Decoderは次単語を予測(⾃⼰回帰) 𝑇" : encoderに⼊⼒するtext length

Slide 90

Slide 90 text

90 SimVLM Wang+, SimVLM: Simple Visual Language Model Pretraining with Weak Supervision, ICLRʼ22 • 多くのV&Lタスクで⾮常に⾼性能 • これまでのSoTAであったVinVLを⼤きく凌駕(VQAタスクで精度80%を超える)

Slide 91

Slide 91 text

91 CoCa Yu+, CoCa: Contrastive Captioners are Image-Text Foundation Models, arXiv:2205.01917 これまでV&Lで提案されてきたEncoder-Decoderモデルを統⼀ • 単⼀モダリティ(画像 or ⾔語)のみも,両モダリティも扱える統⼀的なモデル • image captioning+対照学習で画像・テキストエンコーダを事前学習 • JFT-3BとALIGNで事前学習(約4B?) + 約10000 TPUv4 days ここを分離しているのが単⼀モダリティと2つの モダリティを同時に扱うためのポイント

Slide 92

Slide 92 text

92 CoCaにおける損失関数 対照学習 • 各Encoderが出⼒した特徴ベクトル(CLSトークン)を⽤いて,双⽅向に対照学習 画像キャプショニング • 通常のimage captioningと同様に学習 全体の損失関数

Slide 93

Slide 93 text

93 CoCaの性能 これまでのモデルと⽐較しても, 幅広いタスク上で優れた性能を 達成

Slide 94

Slide 94 text

• 答えはNo(※ 個⼈的な⾒解) • VQA v2は⽐較的易しい(表⾯的な)問題が多い • ⼈間のような深い推論・常識理解ができているかは計れていない 94 ⼈間のVQA能⼒を本当に超えたのか? 表⾯的な画像認識+⾔語理解で 回答可能なデータセットになっている

Slide 95

Slide 95 text

• Outside Knowledge VQA(OK-VQA)と呼ばれるタスク • 質問の回答には,データセットに含まれていない外部知識や常識が必要 95 外部知識・常識が必要なVQA [Marino+, CVPRʼ19, Schwenk+, arXiv2022] Q. What does the man who sits have trouble doing? A. Walking Q. What could block the washerʼs door? ⾞椅⼦を利⽤している⼈は歩くことが困難であるという知識が必要 画像情報からのより深い推論が必要 A. Stove

Slide 96

Slide 96 text

• Outside Knowledge VQA(OK-VQA)と呼ばれるタスク • 質問の回答には,データセットに含まれていない外部知識や常識が必要 96 外部知識・常識が必要なVQA [Marino+, CVPRʼ19, Schwenk+, arXiv2022] Q. How many people will dine at this table? コップやメインディッシュの数が1つであるため,⾷事をしているのは 1⼈だろうという推論 Q. What makes those chairs easy to carry? ⽇常⽣活から知り得る世の中の知識が必要 A. One A. Foldable

Slide 97

Slide 97 text

• Outside Knowledge VQA(OK-VQA)と呼ばれるタスク • 質問の回答には,データセットに含まれていない外部知識や常識が必要 97 外部知識・常識が必要なVQA [Marino+, CVPRʼ19, Schwenk+, arXiv2022] Q. What sort of vehicle uses this item? 消防⾞がこれを使うという外部知識(常識?) Q. When was the soft drink company shown first created? ペプシの設⽴年を問う外部知識 A. Firetruck A. 1898

Slide 98

Slide 98 text

VQA v2と⽐べて,格段に難しいことがわかる(正答率が30%未満@論⽂発表当初) 98 外部知識・常識が必要なVQA [Marino+, CVPRʼ19] [Marino+, CVPRʼ19]から引⽤

Slide 99

Slide 99 text

それでも最近は⾶躍的に正答率が向上しつつある 99 外部知識・常識が必要なVQA https://okvqa.allenai.org/leaderboard.html これらはどういった⽅法なのか?

Slide 100

Slide 100 text

• 学習済み巨⼤⾔語モデル(GPT-3)を利⽤したOK-VQA • 「タスク内容+模範解答例+質問⽂」を⼊⼒するだけで,優れた回答率を達成可能 100 PICa:GPT-3を利⽤したOK-VQA [Yang+, AAAIʼ22] Yang+, An Empirical Study of GPT-3 for Few-Shot Knowledge-Based VQA, AAAIʼ22

Slide 101

Slide 101 text

GPT-3に以下を結合して⼊⼒する • Prompt head : 固定のフレーズ • “Please answer the question according to the above context” • In-context examples 𝑛 : caption, question, answerのペアを𝑛個⽤意 • captionは学習済みのVinVL [Zhang+, CVPRʼ21]を利⽤して,⼊⼒画像から⾃動⽣成 • Testing question : 回答が欲しいcaption, questionペア + “A: ” • captionの⽣成⽅法はIn-context exampleと同様 101 PICaの概要 GPT-3の出⼒がそのまま answerになる

Slide 102

Slide 102 text

• 学習済み巨⼤⾔語モデル(GPT-3)を利⽤したOK-VQA • 「タスク内容+模範解答例+質問⽂」を⼊⼒するだけで,優れた回答率を達成可能 • ⼤量のWebデータで学習されたGPT-3には,OK-VQAを解くための暗黙的な知識が 含まれている 102 PICa:GPT-3を利⽤したOK-VQA(再)

Slide 103

Slide 103 text

• PICa-Base:in-context exampleはランダムに選定 • PICa-Full:先の提案法によって,in-context exampleを選定 • 既存研究の性能を⼤幅に凌駕 103 実験結果

Slide 104

Slide 104 text

• 2つの情報ソース(implicit/explicit knowledge)を⽤いたOK-VQA • implicit : language model内で内包されている知識 • explicit : Wikidataなどの情報ソース • PICaよりも約6%⾼精度 104 KAT : implicit knowledge+Explicit knowledgeによるOK-VQA [Gui+, NACCLʼ22] PICaとの⽐較 モデル概要 Gui+, KAT: A Knowledge Augmented Transformer for Vision-and-Language, NAACLʼ22

Slide 105

Slide 105 text

• Implicit Knowledge • 学習済みGPT-3を⽤いた推論 • Explicit Knowledge • Wikidataからの情報検索による推論 • Reasoning module • 上記2つをまとめて,最終的な推論を実⾏ 105 KATの概要 • KATはclassificationとしてVQAを 解くのではなく,auto-regressiveに 回答を⽣成 • Encoder-Decoderモデル

Slide 106

Slide 106 text

• Wikidata*からanimal, sportsなど8カテゴリ分のentity + descriptionを抽出 • 画像内をウィンドウで⾛査することで,𝑁個の局所領域を取得 {𝑣C ;, … , 𝑣C J}し, 各entityとの類似度をCLIP encoderを⽤いて算出 • 𝑠𝑖𝑚 𝑣D E, 𝑒 = 𝐸:F& 𝑒 G𝐸D#H(𝑣D E) • 各局所領域からtop-kのentityをまず抽出 = 𝑁×𝑘のentityを取得 • そのうち,top-mのentityを最終的な explicit knowledge source 𝑥PXNとする 106 Explicit Knowledge [*] Denny Vrandecic+, Wikidata: a free collaborative knowledgebase. Communications of the ACM, 2014

Slide 107

Slide 107 text

• 2021年9⽉時点でのwikidataを使⽤ • 計95,870,584 entityが含まれているが,現実に関係しそうなオブジェクトを 抽出+descriptionが空 or 英語ではないものを除外することで,最終的に 423,520 entityを使⽤ • のようにtripletで表現 107 KATで利⽤するWikidataの詳細 Denny Vrandecic+, Wikidata: a free collaborative knowledgebase. Communications of the ACM, 2014 使⽤した8カテゴリの内訳

Slide 108

Slide 108 text

• Explicit knowledgeだけでは,いわゆる常識的な知識が網羅できていない • 例えば,レモンはすっぱい,など • こうした情報は巨⼤⾔語モデルが知識としてもっている • PICaと同様に,GPT-3 + Prompt engineeringによって知識を抽出する • 画像からのキャプション⽣成には,Oscar*を利⽤ 108 Implicit Knowledge [*] Li+, Oscar: Objectsemantics aligned pre-training for vision-language tasks, ECCV, 2020

Slide 109

Slide 109 text

• Prompt head + Context (image caption) + Question + Answer を⼊⼒し,回答𝑎を取得 • さらに,”Question? Answer 𝑎. This because”もGPT-3に⼊⼒することで,判断根拠も取得 • 回答𝑎と判断根拠をまとめたものをimplicit knowledge 𝑥D#9 とする 109 Implicit Knowledge 回答の取得のための prompt 判断根拠の取得のための prompt

Slide 110

Slide 110 text

Encoder • 各knowledgeにquestionを結合し,knowledge + questionのペアを作成 • e.g., question: q, candidate: a and evidence: e • これをTransformer encoderに⼊⼒し,最終層の平均ベクトルを計算後, 後段のreasoning moduleに⼊⼒する(𝑋#!8 ∈ ℝ!×(, 𝑋928 ∈ ℝ8×() 110 Knowledge encoder and reasoning module Reasoning module • encoderの出⼒を結合し(𝑋 ∈ ℝ(!;8)×(), decoderの直前の出⼒𝐻 ∈ ℝ(間でattentionを計算 • 𝑄7 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥 89% ! 𝑉 • 𝑄 = 𝑊# 𝐻, 𝐾 = 𝑊$ 𝑋, 𝑉 = 𝑊% 𝑋

Slide 111

Slide 111 text

• 𝑥!"#と𝑥$%#のembeddingをTransformer decoderに⼊⼒し, 最終回答をauto-regressiveに出⼒ • クロスエントロピー損失で学習 𝐿wx = − Q yW; z log 𝑝{ 𝑦y|𝑦|y, 𝑥PXN; 𝑥C}N 111 Decoder

Slide 112

Slide 112 text

• Explicit/Implicit knowledgeを 両⽅⽤いた場合がベスト • Implicit knowledgeの⽅が 性能向上に寄与する 112 実験結果

Slide 113

Slide 113 text

113 REVIVE: implicit knowledge + explicit knowledgeによるOK-VQA* KATと同様に,implicit/explicit knowledgeを⽤いたOK-VQAだが, region visual featuresを利⽤する点が異なる • 本⼿法ではGLIP**を利⽤して,物体領域を取得し,推論に活⽤ • KATはsliding windowで画像から局所領域を取得していた • KATよりも約4%⾼精度(PICaと⽐較すると10%) KAT REVIVE 性能⽐較 [*] Lin+, REVIVE: Regional Visual Representation Matters in Knowledge-Based Visual Question Answering, arXiv:2206.01201 [**] Li+, Grounded Language-Image Pre-training, CVPRʻ22

Slide 114

Slide 114 text

• GLIPを利⽤して,画像から物体領域を抽出し,promptを⽣成 • “Detect: person, bicycle, car, …” • さらに,GLIPで検出したBBOXをクロップし,タグ b 𝒯との類似度top-Pを算出 • ℋ = ℎ9 92, I = arg 𝑇𝑜𝑝𝑃&&∈ K 𝒯 𝐸 𝑟E , 𝑇(𝑡D) 𝐸: 𝐶𝐿𝐼𝑃 𝑖𝑚𝑔 𝑒𝑛𝑐𝑜𝑑𝑒𝑟, 𝑇: 𝐶𝐿𝐼𝑃 𝑡𝑒𝑥𝑡 𝑒𝑛𝑐𝑜𝑑𝑒𝑟 • タグ n 𝒯は,Bing Searchにおけるtop-400Kのquery 114 REVIVEで利⽤する画像特徴 • KATと同様に,画像キャプションも⽣成する • “Two brown dogs fighting over a red frisbee” • VinVLを使⽤

Slide 115

Slide 115 text

• KATと同様にWikidataから8カテゴリを選定し,”[Entity] is a [description]” を⽣成 • e.g., “pegboard is a board wall covering with regularly-spaced holes for insertion of pegs or hooks” • 先に算出したregion vector 𝐸(𝑟C )と上記のtext間の類似度top-Kを算出 • 𝜀 = 𝑒U UW; 4 = arg 𝑇𝑜𝑝𝐾'$∈𝒯 𝐸 𝑟C , 𝑇(𝑑C) • 𝑑D ∶ “”[Entity] is a [description]” 115 External knowledge

Slide 116

Slide 116 text

• GPT-3を利⽤ • Text Prompt • 𝑋 = “context: {caption} + {tags}. question: {question}” • 上記をPCIaと同様に⼊⼒することで,暫定の回答 𝑜M M2, N を取得 • KATと同様に判断根拠も取得する • 𝑒M = “{question} {𝑜M }. This is because” • 最終的なimplicit knowledge:ℐ = 𝑜•, 𝑒• •W; € 116 Implicit knowledge

Slide 117

Slide 117 text

Knowledge Encoder For Explicit knowledge • ℎ) = “entity: {entity} description: {description}” を作成 • entityとdescriptionは𝜀 = 𝑒) )2, O = arg 𝑇𝑜𝑝𝐾/&∈𝒯 𝐸 𝑟D , 𝑇(𝑑D) を使⽤ For Implicit knowledge • 𝑠M = “candidate: {answer} evidence: {explanation}” • answerとexplanationはGPT-3の出⼒ • 最後にそれらをTransformer Encoderに⼊⼒する • 𝛼) = 𝐹: ℎ) , 𝛽M = 𝐹: 𝑠M 117 Encoder-Decoder module

Slide 118

Slide 118 text

Visual Encoder • visual feature 𝑣E E2, C , bboxの座標 𝑏E E2, C をfully connected layer𝐹𝐶,,0 に⼊⼒する • 𝑓 = 𝐹P Concat(𝐹𝐶, 𝑣, , 𝐹𝐶0 𝑏0 , … , 𝐹𝐶, 𝑣C , 𝐹𝐶0(𝑏C)) ∈ ℝ(0C)×Q 118 Encoder-Decoder module Context-aware Question Encoder • ⼊⼒questionを𝑋 = “context: {caption} + {tags}. question: {question}”に置換し, Transformer Encoder 𝐹: に⼊⼒ • 𝑞 = 𝐹:(𝑋) Generative Decoder • 𝛼) , 𝛽M , 𝑓, 𝑞 を結合したものをTransformer decoder 𝐹/ に⼊⼒ • 𝑦 = 𝐹/ Concat 𝛼,, … , 𝛼O, 𝛽,, … , 𝛽N, 𝑓, 𝑞 • ℒ = − ∑42, > log 𝑝R • 𝑦4|𝑦S4

Slide 119

Slide 119 text

性能⽐較 119 実験結果 Sliding window (KAT) vs Region features (REVIVE)

Slide 120

Slide 120 text

• ⼤量の画像ーテキストペアを⽤いて事前学習を実施することで, 強⼒な画像・⾔語エンコーダが獲得可能になった • 画像の特徴ベクトルと⾔語の特徴ベクトルがアライメントされている • テキストによる柔軟な特徴表現学習が可能に • これらの技術を基にすることで,⼈間のVQA能⼒に匹敵するようなモデルの 構築が可能に • OK-VQAのような難しいタスクの性能も急激に向上しつつある • 今回は取り上げなかったが,text-to-image generationのようなタスクにも⼤きく貢献 120 ここまでのまとめ

Slide 121

Slide 121 text

• Webからは⼤量の画像・テキストデータが低コストに収集可能 • また,⼈⼿のアノテーションよりも圧倒的に広範囲な概念が含まれている 121 今後の展望:画像認識モデルの学習に⾔語情報の利⽤ キャプションによる物体検出の例 [Li+, CVPRʼ22] キャプションによるセグメンテーションの例 [Xu+, CVPRʼ22]

Slide 122

Slide 122 text

• 画素単位のラベルなしで セマンティックセグメンテーションを ⾏うモデル • キャプションのみを学習に利⽤ 122 GroupViT [Xu+, CVPRʼ22] • ViTとほとんど同じモデルだが, Group Tokenと呼ばれるトークンを 使って,画像パッチをクラスタリング していく

Slide 123

Slide 123 text

• 画像パッチをセグメンテーションするために,Group Tokenとのアテンションを計算し, 最も類似度が⾼いにGroup Tokenに画像パッチを統合する • 最終的には,事前に⽤意したGroup Tokenの個数分の画像パッチが出⼒される 123 GroupViT: Group Token

Slide 124

Slide 124 text

最終層のGroup Tokenの平均ベクトルとキャプションの埋め込みベクトルを ⽤いて,対照学習を⾏う • 同じ画像(Group token)・キャプション間の類似度は最⼤化,それ以外のペアとの 類似度は最⼩化するように最適化 124 GroupViT: 損失関数

Slide 125

Slide 125 text

125 GroupViT: セグメンテーション例 セグメンテーション例(Zero-shot) Group tokenとカテゴリラベルの対応付け Zero-shot transfer to semantic segmentation • 推論時はカテゴリラベルとGroup token間の類似度を計算し,最⼤類似度のGroup tokenを 抽出 • そのGroup tokenとの類似度が⾼い画像パッチを該当カテゴリとして予測

Slide 126

Slide 126 text

• 「⾃然⾔語処理の基礎」,岡﨑+,オーム社 • 「⾃然⾔語処理とVision-and-Language」,Kyosuke Nishida, 2022年度⼈⼯知能学会全国⼤会 チュートリアル講演資料 126 ⾮常に参考になりました⽂献