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

Transformer / Vision and Languageの基礎

Transformer / Vision and Languageの基礎

Masanori Suganuma

October 08, 2022
Tweet

More Decks by Masanori Suganuma

Other Decks in Research

Transcript

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

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

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

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

  5. 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])
  6. VQAだけでなく,最近はテキスト指⽰による画像⽣成でも⼤きな進展が 6 Text-to-image generation “An astronaut riding a horse in

    a photorealistic style” DALL-E 2 [Ramesh+, 2022]
  7. 7 Text-to-image generation “a shiba inu wearing a beret and

    black turtleneck” DALL-E 2 [Ramesh+, 2022] VQAだけでなく,最近はテキスト指⽰による画像⽣成でも⼤きな進展が
  8. 特に最近では,Stable Diffusionの公開に伴い,Diffusion modelに基づく テキスト指⽰画像⽣成が盛ん • 元となる技術は,Latent diffusion model [Rombach+, CVPRʼ22]

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

    Model [Rombach+, CVPRʼ22] ペイントからの画像⽣成 インペインティング 超解像
  10. • Transformer • 画像特徴と⾔語特徴のアライメント • ⼤規模⾃⼰教師あり学習 10 これらの研究の核となる技術 Transformer [Vaswani+,

    NeurIPSʼ17] CLIP [Radford+, ICMLʼ21] BERT [Devlin+, NACCL-HLTʼ19] GPT-3 [Brown+, NeurIPSʼ20]
  11. Transformerの基礎

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

    • BERT • Vision Transformer GPT • 原著のTransformer • BART • T5
  13. より正確には,最初に機械翻訳モデルとして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
  14. 14 Transformer [Vaswani+, NeurIPSʼ17] Encoder Decoder Encoder-Decoder 代表的な モデル GPT-1/2/3

    • 原著のTransformer • BART • T5 • テキスト分類 • 画像分類 代表的な タスク • BERT • Vision Transformer • テキスト分類 • ⾔語⽣成(e.g. 機械翻訳) • テキスト分類 • ⾔語⽣成(e.g. 機械翻訳)
  15. どのTransformerモデルにおいても,下記の基本素⼦から構成される • 単語・位置埋め込み(Word / Positional embedding) • 注意機構(Attention) • 層正規化(Layer

    normalization) • フィードフォワード層(FFN) • 残差結合(Residual connection) 15 Transformerの構成要素 Word/Position embedding Attention Layer norm FFN 𝑋 Layer norm × 𝐿
  16. • ⽂字や単語などの離散的な「記号」を機械学習モデルが扱える「ベクトル」に 変換する必要がある • 1つの単語を𝑑次元のベクトルに変換=1つの単語を𝑑個の数値で表現 • これを⾏うのが,単語埋め込み 16 単語埋め込み I

    am a smart cat 𝒉! 𝒉"# 𝒉" 𝒉$#"%& 𝒉'"& 我々が扱う記号 ベクトル表現(𝒉 ∈ ℝ!) 単語埋め込み
  17. 単語埋め込みにも様々な⽅法があるが,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列
  18. • PyTorchの単語埋め込み層(nn.Embedding) 𝑊 ∈ ℝ'× ( は単に単語埋め込みの ルックアップテーブルになっている • この𝑊は学習可能なパラメータなので,⽬的のタスクに特化した

    単語埋め込み学習がモデル全体の最適化を通して実⾏される 18 (補⾜)単語埋め込み ℎ!! … ℎ!" ℎ#! ⋮ … ⋮ ℎ#" ⋮ ℎ$! … ℎ$" ID0の単語のベクトル表現 ID1の単語のベクトル表現 ID 𝑉 の単語のベクトル表現 𝑊 ∈ ℝ'× (
  19. • 位置符号化は,⼊⼒系列の先頭から何番⽬の単語であるかをベクトルで表現 したもの 19 位置符号化(Positional encoding) • Transformerの主要な演算である注意機構は⼊⼒系列の順番の⼊れ替えに 対して不変であるため,位置情報を付与することは重要 •

    例えば,I am a smart cat → cat am a smart I では⽂章の意味が全く異なるが, 注意機構の出⼒結果としては同じになってしまう • ⾃然⾔語処理のような単語の順序や位置が重要なタスクでは,各単語の位置情報は必要 不可⽋
  20. 20 位置符号化(Positional encoding) • 単語埋め込みによって,単語はベクトルで表現されているので,位置情報も ベクトルで表現する 𝑝&,) = sin 𝑡

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

  22. • 内積によって単語間の相対位置の近さを計算可能(位相差で表現可能) • 𝒑! ⋅ 𝒑" = ∑ # "

    # cos 𝑤# 𝑚 − 𝑛 , 𝑤# = $ % #$ /" • 位置が遠い単語間の内積の⽅が,近い単語間の内積よりも⼤きくなる 22 位置符号化の特性 • 位置符号化ベクトルのノルムが常に⼀定 • sin& 𝜃 + cos& 𝜃 = 1より,すべての位置𝑡において 𝒑' & = ( & となる • ベクトルの⾃由度が抑えられているため,学習しやすい(と考えられる)
  23. • 位置符号化は学習不要であったが(学習可能なパラメータを含まない), 位置ベクトルもモデルと⼀緒に学習する位置埋め込みも提案されている • GPT-3やBERTなどの事前学習モデルではこの位置埋め込みが使⽤されている • 単にゼロなどで初期化して,⽬的のタスクと同時にSGDで最適化する • 位置符号化・位置埋め込みのどちらを使うべきかは, タスクによって変わってくるため,⼀概にはどちらが良いかは⾔えない

    • 現在でも位置符号化・埋め込みの影響を調べる研究がなされている 23 位置埋め込み(Positional embedding)
  24. • Transformerで使⽤される注意機構は⼀般に,QKV注意機構と呼ばれる • Query, Key, Valueの頭⽂字をとっている • Key・Value⽅式のデータベースにQueryを投げて処理を⾏うことになぞっている 24 注意機構(Attention)

    • 特に,Query, Key, Valueがすべて同じベクトルであるときに, ⾃⼰注意機構(Self Attention)と呼ぶ 𝑄 𝐾 𝑉 2 𝑄 QKV-attention 𝑄 2 𝑄 Self-attention
  25. • ʻI am a smart catʼ を単語埋込みして,𝐻 = 𝒉$ ,

    … , 𝒉) ∈ ℝ)×( を得られたとする • 各単語𝒉# は𝑑次元のベクトルで表現されている • 𝐿は単語数(この例だと𝐿 = 5) 25 ⾃⼰注意機構:QKVの獲得 • このとき,Query, Key, Valueはそれぞれ異なる重み⾏列を⽤いて計算される • 𝑄 = 𝐻𝑊3, 𝐾 = 𝐻𝑊4, 𝑉 = 𝐻𝑊( • 𝑊+ , 𝑊, , 𝑊- ∈ ℝ(×( • 元となるベクトル𝐻は共通だが,重み⾏列が異なるため,𝑄, 𝐾, 𝑉は完全には 同じベクトル表現にはならない
  26. 続いて,Query/Key間の類似度を⾏列積で計算する • 𝒂 = 𝒒6! 7 • ベクトルの次元数𝑑が⼤きくなると,内積の値も⼤きくなってしまうため, 𝑑で除算することで,これを防いでいる 26

    ⾃⼰注意機構:QK間の類似度の計算 𝒒 𝐾 ∈ ℝ&×( = I am a smart cat 𝒂 ∈ ℝ). 𝑎* は𝒒と𝒌* の類似度を表す ∗ 𝑎+ -0.5 𝑎, 1.1 𝑎- 0.3 𝑎( 0.8 𝑎& 0.2 図解のため,Queryから1単語𝒒だけ抜き出して 説明する
  27. 類似度𝒂に対して,ソフトマックス関数をかけることで,アテンション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になる
  28. アテンション0 𝒂とValue 𝑉の重み付き和によって最終的な出⼒1 𝒒を計算 • . 𝒒 = # 𝒂𝑉

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

    29 ⾃⼰注意機構:アテンションによる重み付き和 cat am a smart cat I • 注意機構によって⽂章内の単語間の関係性を捉えることが可能 • 遠く離れた単語との関係性も捉えることができるため,RNNやLSTMよりも優れた性能 を⽰している(と考えられる)
  30. • 上記は図解のため,Queryのサイズは1で説明したが, 実際はQueryもKey, Valueと同じく 単語数× 次元数 𝐿×𝑑 の⾏列として扱う • すべての単語に対して,類似度計算,アテンション計算,出⼒値の計算を同時に実⾏する

    ことに相当 30 ⾃⼰注意機構:Queryの⾏列表記 ⾏列形式で書き直すと, • 8 𝑄 = 9 𝐴𝑉 • 9 𝐴 = softmax 34! '
  31. • アテンションを計算する際にソフトマックス関数を⽤いるが,ソフトマックスは ある⼀つの要素が⼤きい値,それ以外を0にする傾向がある(a winner takes all) • そのため,注意機構を⼀つだけ⽤いた場合,複数の観点から多様な情報を 抽出しづらい(e.g. ある2つの単語間の関係のみ焦点が当たるなど)

    31 マルチヘッド注意機構(Multi-head attention) A 𝒂のうちどれか1つの要素だけが⼤きくなりがち = 複雑な特徴抽出が難しい • これを解決するために,単純に注意機構を複数⽤いる⽅法が提案されており, これをマルチヘッド注意機構と呼ぶ
  32. マルチヘッド注意機構は,次元軸を𝐻等分して,それぞれ独⽴にアテンションを 計算して,最後に出⼒結果を結合するだけ 32 マルチヘッド注意機構の例 = ∗ ∗ = -0.5 1.1

    0.3 0.8 0.2 0.23 0.21 0.08 0.11 0.37 @ 𝒒 𝒒 𝑲 ※ 4次元表現に対してヘッド数𝐻 = 2で分割する例( 𝑉の分割の様⼦はスペースの都合で省略)
  33. • 層正規化は,過剰に値が⼤きくならないように各ベクトルを正規化する • 過剰に⼤きくなると,勾配爆発が⽣じてしまい,学習ができない • また,ベクトル内のある特定の次元の要素のみの値が⼤きくならないようにすることで, ベクトル空間を効率的に使えるようになる • Batch Normalizationなどと異なり,各ベクトル独⽴に計算(NLPタスクでは系列の⻑さが

    データごとにばらつくため,バッチ内の統計量は使わない⽅が良いため) 33 層正規化(Layer Normalization) • 層正規化は学習可能なパラメータ𝒂, 𝒃 ∈ ℝ'を⽤いて,下記式で計算する ℎ9 : = 𝑎9 ;"<=𝒉 >𝒉[email protected] + 𝑏9 𝜇1 = 1 𝑑 C )2, / ℎ) 𝜎𝒉 = 1 𝑑 C )2, / ℎ) − 𝜇𝒉 0
  34. • 層正規化をTransformer内部のどの位置に配置するかで性能や学習安定性が 変わることが経験的に知られている • 多層にする場合は事前層正規化の⽅が学習が安定するが,性能⾯では事後層 正規化の⽅が優れているという実験結果が報告されている 34 事前層正規化 vs 事後層正規化

    Attention Layer norm FFN Layer norm 事後層正規化(原著のTransformerなど) Attention Layer norm FFN Layer norm 事前層正規化(BERTなど)
  35. • 2層の線形層と活性化関数で構成 • ⼊⼒系列中の各要素𝒉C ∈ ℝ;×'に適⽤する C 𝒉C = 𝑊<𝒉C

    D + 𝒃< 𝒉C D = 𝑓 𝑊; 𝒉C + 𝒃; • 𝑓は活性化関数.ReLUやGeLUがよく使⽤される • 画像認識等では,中間層の次元数を⼊⼒層よりも⼩さくすることが多いが Transformerでは⼤きくする(次元数を4倍にすることが多い) 35 フィードフォワード層 𝑊+ 𝑊,
  36. • 画像認識でよく使われるResNet [He+, CVPRʼ16]で提案された⽅法 • 勾配消失を防ぐのに⾮常に有効 • ⼊⼒に近い層にまで勾配が⼗分に伝搬されるようになる 36 残差結合

    [He+, CVPRʼ16] • 計算はベクトルごとに要素和をとるだけ • 𝒉E = 𝒔E + 𝒉EF; • E.g. 𝒉4+,: 注意機構処理前のベクトル 𝒔4 : 注意機構処理後のベクトル 残差結合 残差結合 𝒉./+ 𝒉. 𝒔. Attention Layer norm FFN Layer norm + + • Transformerでは,注意機構,FFN部分の2箇所に配置
  37. 37 Transformer Encoder Encoderは下記の基本素⼦から構成される • 単語・位置埋め込み • ⾃⼰注意機構(Self Attention) •

    層正規化(Layer normalization) • フィードフォワード層(FFN) • 残差結合(Residual connection) Word/Position embedding Self Attention Layer norm FFN 𝑋 Layer norm × 𝐿
  38. 38 Transformer Decoder Decoderは下記の基本素⼦から構成される • ⾃⼰注意機構(Self Attention) • 層正規化(Layer normalization)

    • クロス注意機構(Cross Attention) • フィードフォワード層(FFN) • 残差結合(Residual connection) Layer norm Layer norm × 𝐿 Self Attention Layer norm Cross Attention FFN 𝑄 𝐾, 𝑉
  39. 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 𝑄
  40. 事前学習とファインチューニング

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

    事前学習モデル+ファインチューニング ⾃⼰教師あり学習による⼤規模事前学習 ⽬的タスクごとに少数教師あり学習 classifier 𝑦 CLS CLSʼ CLSʼ CLS
  42. • 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
  43. 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
  44. 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
  45. 次⽂予測(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
  46. • ファインチューニングでは,BERTの上にタスクにあわせて設計した NN(e.g. 全結合層)を積み重ねて,モデル全体を学習する • BERTの主なファインチューニング対象タスクは,単語や⽂章の分類問題 • 例えば,⽂章間の類似度推定には,[CLS]トークンに対して全結合層を⽤いて, ファインチューニングを⾏う •

    そのほか多数の⾃然⾔語タスクにおいて BERTは当時の既存研究を⼤幅に上回る性能を 達成して注⽬を浴びた 46 BERTのファインチューニング⽅法
  47. 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とは異なり,先⾏する左側のみの⽂脈からそれに続く単語を予測する⾔語モデルの 学習を⾏う 先⾏する⽂章に続く次単語を予測
  48. 系列⻑が𝑁の単語列𝑠 [𝑥; … , 𝑥J ] に対して,位置𝑖の単語𝑥C を予測するとき, それよりも𝑘個前に出現する単語列 𝑥CFU,

    𝑥CFUV;, … , 𝑥CF; を⽤いて, ⾔語モデルの負の対数尤度を最⼩化するように,Decoderを最適化する 𝐿 = − Q CWUV; J log 𝑃 𝑥C|𝑥CFU, 𝑥CFUV;, … , 𝑥CF; 48 GPTの事前学習⽅法:⾔語モデリング
  49. 具体的には,𝑥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!"# )
  50. テキスト分類の例 • 系列⻑𝑁の単語列 𝑥$ , … , 𝑥1 とそのテキストの正解クラス𝑦があるとする •

    𝑥1 に対応するGPTの最終出⼒𝐻24 ) を全結合層に⼊⼒し,下記の負の対数尤度を 最⼩化するようにGPT内部のパラメータも含めて学習する 50 GPTのファインチューニング⽅法 𝐿 = − Q X&,…,X' ,l ∈ m log 𝑃 𝑦|𝑥;, … , 𝑥J なお,𝑃 𝑦|𝑥+ , … , 𝑥5 = softmax6 𝑊𝐻2$ )
  51. 機械翻訳の例 • 原⾔語⽂と翻訳先⾔語を,特別なトークン(e.g., [to-en])で連結した系列を⽤いて ファインチューニングする • 実際の推論時は,原⾔語⽂+[to-en] をGPTに⼊⼒して,翻訳⽂の単語を1つずつ 出⼒する 51

    GPTのファインチューニング⽅法
  52. 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が⽣成した偽の新聞記事 ⼈間でも⾒分けがつかない精度で ⽣成可能
  53. • 計算量(学習回数),学習データサイズ(トークン数),モデルパラメータ数に ⾔語モデルの性能は強く依存することを実験的に発⾒ • つまり,⼤量の計算資源+⼤量のデータ+巨⼤モデルで学習することで, より良いモデルが獲得できる(お⾦が全て?) 53 Scaling Lows [Kaplan+,

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

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

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

  57. • 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)
  58. 385億トークンのテキスト+数式データで構成されるデータセットで ⾔語モデルPaLM[*]を追加学習 • 最も⼤きいモデル(5400億パラメータ)は,260億トークンを使って追加学習 • ちなみに,PaLM⾃体でNLPタスクの多くで⼈間を超える性能をすでに達成済み 58 Minerva: 巨⼤⾔語モデルで数学の問題を解く [*]

    Chowdhery+, PaLM: Scaling Language Modeling with Pathways, arXiv:2204:02311, 2022
  59. • Encoder-Decoder型Transformerの事前学習の有効性も確認されている • 代表的なモデルは,BART [Lewis+, ACLʼ20], T5 [Raffel+, JMLRʼ20] •

    Encoderを使うことで,⼊⼒⽂に強く条件付けられるタスク(e.g. 機械翻訳 や対話)との相性が良い 59 Encoder-Decoderモデルの事前学習 • BARTでは,⼊⼒⽂の順序を⼊れ替えて,かつ⼀部単語をマスクした系列を ⼊⼒し,⽂の順序とマスクされた単語を復元する事前学習を⾏う
  60. • BERTやGPTと同様に,⽬的タスクに応じてファインチューニングを実施 • 例えば,機械翻訳などはGPTと同じようにファインチューニングを⾏うが, Encoderがあることにより,原⽂章の情報を効果的に利⽤できるため,より 適したアーキテクチャだといえる 60 Encoder-Decoderモデルのファインチューニング⽅法 機械翻訳の例 [Liu+,

    ACLʼ20] Fig.7 より引⽤
  61. Vision Transformerの基礎

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

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

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

    JFT-300Mでの事前学習なし
  65. • 学習済みの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距離を計算
  66. 蒸留を利⽤しなくても,データ拡張や損失関数の⼯夫をすることで,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との⽐較
  67. 67 ViTの更なる効率的な学習⽅法:DeiT-III [Touvron+, ECCVʼ22] DeiT-IIIのレシピ

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

    ViTの構造 𝐻 16 × 𝑊 16 ×𝐷 𝐻 16 × 𝑊 16 ×4𝐶 𝐻 8 × 𝑊 8 ×2𝐶 𝐻 4 × 𝑊 4 ×𝐶
  69. • ViTでマルチスケール特徴マップ・⾼解像度画像を扱えるようにしたのが Swin Transformer 69 Swin Transformer [Liu+, ICCVʼ21] •

    Swin Transformer BlockとPatch Mergingで構成 Swin Transformer Block Patch Merging
  70. • 近傍の𝟐×𝟐のパッチを統合 • 1つのパッチが𝐶次元のベクトルなので,統合することで4𝐶次元になる • 全体としては,𝐻×𝑊×𝐶 → @ 0 ×

    A 0 ×4𝐶 • 統合後に,Layer normalizationと全結合層によって,n < × o < ×2𝐶 に変換 70 Patch Merging 近傍2×2パッチを統合
  71. • Transformer Encoderの注意機構部分をWindow-based Attentionと Shifted Window-based Attentionに置換 • Window-based Attention

    • 特徴マップを𝑀×𝑀のウィンドウに区切り,各ウィンドウ内のパッチでのみSAを計算 • 𝐻×𝑊 × 𝐻×𝑊 の計算量が,𝑀0×𝑀0× 𝐻/𝑊 × 𝑊/𝑀 = 𝑴𝟐𝑯𝑾 に削減 71 Swin Transformer Block 8×8の特徴マップを 4×4のウィンドウで区切った例
  72. 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
  73. 既存のCNN/ViTモデルと⽐較して,優れた性能を⽰す 73 Swin Transformerの性能

  74. Vision and Languageの基礎

  75. • 名前の通り,「画像」と「⾔語」を扱う研究分野 • 具体例:Visual Question Answering(VQA) 75 Vision and Languageとは?

    Q.Where is the child sitting? A. fridge VQA v2, https://visualqa.org/
  76. • ⼊⼒:画像 • 出⼒:画像を説明するキャプション(⾃然⾔語) • Encoder-Decoder型のモデルが使われることが多く,CNN, LSTM, Transformerなど様々なモデルが提案されている 76 Image

    captioning Encoder Decoder A baby sitting on a fridge • CNN • ViT • RNN • LSTM • Transformer
  77. • 我々にとっては当たり前である画像と⾔語間のアライメントは, 計算機にとっては難しい • 例えば,画像内の⽝ベクトルと⾔語の“⽝”ベクトルを⼀致させる必要がある 77 Vision and Languageは結構難しいタスク Q.

    What is the dog wearing? A. life jacket
  78. 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
  79. Grid feature • 通常のCNNやViTでの中間特徴マップ • 画像全体の情報を均等に利⽤ 79 画像特徴量の抽出(grid / region

    feature) Region feature [Anderson+, CVPRʼ17] • 物体検出器の中間表現を利⽤ • 物体中⼼の情報を利⽤可能
  80. • Grid + Region特徴の両⽅を⽤いることで,image captioningタスクで ⼤幅に性能改善 [Quang, Suganuma, Okatani, ECCVʼ22]

    • 当時の⼤規模事前学習なしSOTAモデル(135.4 CIDEr score)→ 144.2 CIDEr score • Transformerのみで構成することで,NMSなどの⾼負荷演算を回避できるため, 推論も⾼速 80 画像特徴量の抽出(grid + region feature) モデルの全体像 推論速度の⽐較
  81. 最近は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 …
  82. • 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
  83. • 通常,画像認識器(画像エンコーダ)はone-hotベクトルを使って学習される • これでは画像エンコーダは「何を」意味しているのかは理解していないため, ⾔語の特徴ベクトルと⼀致させることは難しい 83 画像エンコーダの⼀般的な学習⽅法 0 1 2

    3 … Image encoder (CNN, Vision Transformer, etc) class ID 「有限個のクラスID Xの何か」に射影
  84. 84 CLIPによるブレイクスルー [Radford+, ICMLʼ21] Web上にある4億の画像ーテキストペアを⽤いて,正しいペア間の類似度が最⼤, 正しくないペア間の類似度は最⼩になるようにエンコーダを学習 = 対照学習 正しいペアの 特徴ベクトル間の内積

    (類似度)を最⼤化 特徴ベクトル …
  85. • CLIPによって得られた画像・⾔語エンコーダからの特徴ベクトルは,画像ー⾔語間で アライメントされている • さらに任意の⾔語(キャプション)と画像の結び付けが可能になった • これまでは単なる「画像と有限個の記号(クラスID)」との結びつけであった 85 CLIPによるブレイクスルー [Radford+,

    ICMLʼ21] これまでの画像分類 CLIP 「有限個のクラスID Xの何か」 ⾔語情報との対応付けかつ one-hotベクトルよりも圧倒的な情報量との関連付け “A brown dog is sitting on the grass” 何を意味しているのか 理解していない
  86. • Web上のキャプションはOne-hotベクトルよりも柔軟かつ圧倒的に広い概念をもつ • 数や形容詞の情報なども含まれている • アノテーションコストも従来のデータセットより低い • e.g. ImageNetは25,000⼈が1,400万枚の画像に対してラベリング •

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

    ResNetに勝てる キャプションによる物体検出の例 [Li+, CVPRʼ22] [CLIPより引⽤]
  88. • 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~
  89. 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
  90. 90 SimVLM Wang+, SimVLM: Simple Visual Language Model Pretraining with

    Weak Supervision, ICLRʼ22 • 多くのV&Lタスクで⾮常に⾼性能 • これまでのSoTAであったVinVLを⼤きく凌駕(VQAタスクで精度80%を超える)
  91. 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つの モダリティを同時に扱うためのポイント
  92. 92 CoCaにおける損失関数 対照学習 • 各Encoderが出⼒した特徴ベクトル(CLSトークン)を⽤いて,双⽅向に対照学習 画像キャプショニング • 通常のimage captioningと同様に学習 全体の損失関数

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

  94. • 答えはNo(※ 個⼈的な⾒解) • VQA v2は⽐較的易しい(表⾯的な)問題が多い • ⼈間のような深い推論・常識理解ができているかは計れていない 94 ⼈間のVQA能⼒を本当に超えたのか?

    表⾯的な画像認識+⾔語理解で 回答可能なデータセットになっている
  95. • 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
  96. • 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
  97. • 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
  98. VQA v2と⽐べて,格段に難しいことがわかる(正答率が30%未満@論⽂発表当初) 98 外部知識・常識が必要なVQA [Marino+, CVPRʼ19] [Marino+, CVPRʼ19]から引⽤

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

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

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

  104. • 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
  105. • Implicit Knowledge • 学習済みGPT-3を⽤いた推論 • Explicit Knowledge • Wikidataからの情報検索による推論

    • Reasoning module • 上記2つをまとめて,最終的な推論を実⾏ 105 KATの概要 • KATはclassificationとしてVQAを 解くのではなく,auto-regressiveに 回答を⽣成 • Encoder-Decoderモデル
  106. • 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
  107. • 2021年9⽉時点でのwikidataを使⽤ • 計95,870,584 entityが含まれているが,現実に関係しそうなオブジェクトを 抽出+descriptionが空 or 英語ではないものを除外することで,最終的に 423,520 entityを使⽤

    • <Q2813, Coca-Cola, carbonated brown colored soft drink>のようにtripletで表現 107 KATで利⽤するWikidataの詳細 Denny Vrandecic+, Wikidata: a free collaborative knowledgebase. Communications of the ACM, 2014 使⽤した8カテゴリの内訳
  108. • Explicit knowledgeだけでは,いわゆる常識的な知識が網羅できていない • 例えば,レモンはすっぱい,など • こうした情報は巨⼤⾔語モデルが知識としてもっている • PICaと同様に,GPT-3 +

    Prompt engineeringによって知識を抽出する • 画像からのキャプション⽣成には,Oscar*を利⽤ 108 Implicit Knowledge [*] Li+, Oscar: Objectsemantics aligned pre-training for vision-language tasks, ECCV, 2020
  109. • Prompt head + Context (image caption) + Question +

    Answer を⼊⼒し,回答𝑎を取得 • さらに,”Question? Answer 𝑎. This because”もGPT-3に⼊⼒することで,判断根拠も取得 • 回答𝑎と判断根拠をまとめたものをimplicit knowledge 𝑥D#9 とする 109 Implicit Knowledge 回答の取得のための prompt 判断根拠の取得のための prompt
  110. 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% ! 𝑉 • 𝑄 = 𝑊# 𝐻, 𝐾 = 𝑊$ 𝑋, 𝑉 = 𝑊% 𝑋
  111. • 𝑥!"#と𝑥$%#のembeddingをTransformer decoderに⼊⼒し, 最終回答をauto-regressiveに出⼒ • クロスエントロピー損失で学習 𝐿wx = − Q

    yW; z log 𝑝{ 𝑦y|𝑦|y, 𝑥PXN; 𝑥C}N 111 Decoder
  112. • Explicit/Implicit knowledgeを 両⽅⽤いた場合がベスト • Implicit knowledgeの⽅が 性能向上に寄与する 112 実験結果

  113. 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
  114. • 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を使⽤
  115. • 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
  116. • 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
  117. 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
  118. 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
  119. 性能⽐較 119 実験結果 Sliding window (KAT) vs Region features (REVIVE)

  120. • ⼤量の画像ーテキストペアを⽤いて事前学習を実施することで, 強⼒な画像・⾔語エンコーダが獲得可能になった • 画像の特徴ベクトルと⾔語の特徴ベクトルがアライメントされている • テキストによる柔軟な特徴表現学習が可能に • これらの技術を基にすることで,⼈間のVQA能⼒に匹敵するようなモデルの 構築が可能に

    • OK-VQAのような難しいタスクの性能も急激に向上しつつある • 今回は取り上げなかったが,text-to-image generationのようなタスクにも⼤きく貢献 120 ここまでのまとめ
  121. • Webからは⼤量の画像・テキストデータが低コストに収集可能 • また,⼈⼿のアノテーションよりも圧倒的に広範囲な概念が含まれている 121 今後の展望:画像認識モデルの学習に⾔語情報の利⽤ キャプションによる物体検出の例 [Li+, CVPRʼ22] キャプションによるセグメンテーションの例

    [Xu+, CVPRʼ22]
  122. • 画素単位のラベルなしで セマンティックセグメンテーションを ⾏うモデル • キャプションのみを学習に利⽤ 122 GroupViT [Xu+, CVPRʼ22]

    • ViTとほとんど同じモデルだが, Group Tokenと呼ばれるトークンを 使って,画像パッチをクラスタリング していく
  123. • 画像パッチをセグメンテーションするために,Group Tokenとのアテンションを計算し, 最も類似度が⾼いにGroup Tokenに画像パッチを統合する • 最終的には,事前に⽤意したGroup Tokenの個数分の画像パッチが出⼒される 123 GroupViT:

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

  125. 125 GroupViT: セグメンテーション例 セグメンテーション例(Zero-shot) Group tokenとカテゴリラベルの対応付け Zero-shot transfer to semantic

    segmentation • 推論時はカテゴリラベルとGroup token間の類似度を計算し,最⼤類似度のGroup tokenを 抽出 • そのGroup tokenとの類似度が⾼い画像パッチを該当カテゴリとして予測
  126. • 「⾃然⾔語処理の基礎」,岡﨑+,オーム社 • 「⾃然⾔語処理とVision-and-Language」,Kyosuke Nishida, 2022年度⼈⼯知能学会全国⼤会 チュートリアル講演資料 126 ⾮常に参考になりました⽂献