$30 off During Our Annual Pro Sale. View Details »

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
    東北⼤学
    菅沼 雅徳

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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])

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  11. Transformerの基礎

    View Slide

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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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列

    View Slide

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



    ℎ#"

    ℎ$!
    … ℎ$"
    ID0の単語のベクトル表現
    ID1の単語のベクトル表現
    ID 𝑉 の単語のベクトル表現
    𝑊 ∈ ℝ'× (

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  26. 続いて,Query/Key間の類似度を⾏列積で計算する
    • 𝒂 = 𝒒6!
    7
    • ベクトルの次元数𝑑が⼤きくなると,内積の値も⼤きくなってしまうため,
    𝑑で除算することで,これを防いでいる
    26
    ⾃⼰注意機構:QK間の類似度の計算
    𝒒
    𝐾 ∈ ℝ&×(
    =
    I am a
    smart
    cat
    𝒂 ∈ ℝ). 𝑎*
    は𝒒と𝒌*
    の類似度を表す

    𝑎+
    -0.5
    𝑎,
    1.1
    𝑎-
    0.3
    𝑎(
    0.8
    𝑎&
    0.2
    図解のため,Queryから1単語𝒒だけ抜き出して
    説明する

    View Slide

  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になる

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  32. マルチヘッド注意機構は,次元軸を𝐻等分して,それぞれ独⽴にアテンションを
    計算して,最後に出⼒結果を結合するだけ
    32
    マルチヘッド注意機構の例
    =

    ∗ =
    -0.5 1.1 0.3 0.8 0.2
    0.23 0.21 0.08 0.11 0.37
    @
    𝒒
    𝒒 𝑲
    ※ 4次元表現に対してヘッド数𝐻 = 2で分割する例( 𝑉の分割の様⼦はスペースの都合で省略)

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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箇所に配置

    View Slide

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

    View Slide

  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
    𝑄
    𝐾, 𝑉

    View Slide

  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
    𝑄

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

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

    View Slide

  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とは異なり,先⾏する左側のみの⽂脈からそれに続く単語を予測する⾔語モデルの
    学習を⾏う
    先⾏する⽂章に続く次単語を予測

    View Slide

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

    View Slide

  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!"#
    )

    View Slide

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

    View Slide

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

    View Slide

  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が⽣成した偽の新聞記事
    ⼈間でも⾒分けがつかない精度で
    ⽣成可能

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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)

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  61. Vision Transformerの基礎

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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距離を計算

    View Slide

  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との⽐較

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

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

    View Slide

  74. Vision and Languageの基礎

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

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

    View Slide

  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)
    モデルの全体像 推論速度の⽐較

    View Slide

  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

    View Slide

  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

    View Slide

  83. • 通常,画像認識器(画像エンコーダ)はone-hotベクトルを使って学習される
    • これでは画像エンコーダは「何を」意味しているのかは理解していないため,
    ⾔語の特徴ベクトルと⼀致させることは難しい
    83
    画像エンコーダの⼀般的な学習⽅法
    0
    1
    2
    3

    Image encoder
    (CNN, Vision Transformer, etc)
    class ID
    「有限個のクラスID Xの何か」に射影

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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~

    View Slide

  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

    View Slide

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

    View Slide

  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つの
    モダリティを同時に扱うためのポイント

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  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になる

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

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

    View Slide

  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

    View Slide

  107. • 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カテゴリの内訳

    View Slide

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

    View Slide

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

    View Slide

  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%
    !
    𝑉
    • 𝑄 = 𝑊#
    𝐻, 𝐾 = 𝑊$
    𝑋, 𝑉 = 𝑊%
    𝑋

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  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を使⽤

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide