【G検定|理解型予想問題】Attention・Self-Attention・Multi-Head Attentionはなぜ混同する?

seo-webmaster
プロモーションが含まれています

Transformerを学んでいると、「Attention」、「Self-Attention」、「Multi-Head Attention」という似た用語が続けて登場します。

どれも「重要な情報へ注目する仕組み」と関係していますが、見分ける軸は同じではありません。

Attentionは、必要な情報に重みを付ける基本的な仕組みです。Self-Attentionは、同じ系列内の要素同士の関係を見るAttentionです。Multi-Head Attentionは、複数のAttention計算を並列に行い、異なる視点から関係を捉える仕組みです。

この記事では、3つの違いを全10問の理解型予想問題で確認します。名前だけを暗記するのではなく、「どの情報を参照するのか」、「いくつの視点で見るのか」に注目して整理しましょう。

問題文で注目したい言葉

問題文に出てくる言葉 考えたい用語
重要な部分/重みを付ける/必要な情報へ注目 Attention
同じ系列内/単語同士/トークン同士 Self-Attention
複数のHead/並列/複数の表現空間 Multi-Head Attention
探したい情報/照合する目印/取り出す情報 Query/Key/Value
DecoderがEncoderの出力を参照する Encoder-Decoder Attention
単語の順番を補う 位置エンコーディング

問題①

Attentionの説明として、最も適切なものはどれか?

  • A. 入力されたすべての情報を常に同じ強さで利用する
  • B. 現在の処理に関係が深い情報へ大きな重みを付ける
  • C. 入力された文章をランダムな順番へ並べ替える
  • D. 学習データの正解ラベルを自動的に作成する
Q
正解・解説(クリックで開きます)

正解

 B

解説

Attentionは、複数の情報の中から、現在の処理に関係が深い情報へ大きな重みを付ける仕組みです。

すべての情報を同じ強さで使うのではありません。

たとえば翻訳で次の単語を出力するとき、入力文の中にある関係の深い単語へ強く注目します。

現在の処理に関係が深い
大きな重み
現在の処理との関係が弱い
小さな重み

Aは、すべての情報を同じように扱っているため誤りです。

Cの並べ替えや、Dのラベル作成がAttentionの役割ではありません。

問題②

初期のEncoder・Decoder型のSeq2SeqにAttentionが導入された主な理由として、最も適切なものはどれか?

  • A. 入力文の情報を1つの固定長ベクトルへまとめることが、長い文章ではボトルネックになったため
  • B. 画像の画素数を増やして解像度を高くするため
  • C. 正解ラベルを使わずに画像を分類するため
  • D. ニューラルネットワークの層数を必ず1層にするため
Q
正解・解説(クリックで開きます)

正解

 A

解説

初期のSeq2Seqでは、Encoderが入力文の情報を1つの固定長ベクトルにまとめ、Decoderへ渡していました。

入力文
Encoder
1つの固定長ベクトル
Decoder
出力文

短い文章であれば、情報を1つにまとめても対応しやすい場合があります。

しかし、文章が長くなるほど、すべての情報を1つのベクトルへまとめることが難しくなります。

Attentionを使うと、Decoderは出力の各時点で、Encoderが作った複数の情報を参照できます。

Decoderの現在の状態
必要なEncoderの情報へ注目

この考え方により、入力文全体を1つの固定長ベクトルだけで表す負担を小さくできます。

問題③

Self-Attentionの説明として、最も適切なものはどれか?

  • A. 同じ系列内にある要素同士の関係を計算する
  • B. 異なる2枚の画像の解像度だけを比較する
  • C. 複数のモデルの多数決によって予測する
  • D. 出力された文章を人間が評価して報酬を付ける
Q
正解・解説(クリックで開きます)

正解

 A

解説

Self-Attentionは、同じ系列に含まれる要素同士の関係を計算します。

文章であれば、同じ文章内のトークン同士の関係を見ます。

同じ文章内のトークン
トークン同士の関係を計算

Self-Attentionの「Self」は、自分自身だけを見るという意味ではありません。

同じ系列の中を見るという意味です。

たとえば、ある単語を処理するときに、同じ文章内の別の単語との関係を計算します。

Bは画像の解像度比、Cはアンサンブル学習、Dは人間の評価を使った調整に関する説明です。

問題④

AttentionとSelf-Attentionの関係として、最も適切なものはどれか?

  • A. Attentionは画像専用で、Self-Attentionは文章専用である
  • B. Self-Attentionは、Query・Key・Valueが同じ系列に由来するAttentionである
  • C. Attentionには重みがあるが、Self-Attentionには重みがない
  • D. AttentionとSelf-Attentionは、常にまったく同じ意味で使われる
Q
正解・解説(クリックで開きます)

正解

 B

解説

Attentionは、QueryとKeyの関係をもとに、Valueを重み付きでまとめる基本的な仕組みです。

Self-Attentionは、その中でもQuery・Key・Valueが同じ系列をもとに作られるAttentionです。

QueryとKey・Valueの出どころが異なる場合もある
Attention
Query・Key・Valueが同じ系列に由来する
Self-Attention

AttentionはSelf-Attentionよりも広い概念です。

Self-Attentionは、Attentionの一種と考えると整理しやすくなります。

Aのように、処理するデータの種類だけで区別するものではありません。

Cも誤りです。Self-Attentionでも関係の強さに応じて重みを計算します。

問題⑤

AttentionにおけるQuery・Key・Valueの役割として、最も適切な組み合わせはどれか?

  • A. Query = 正解ラベル
      Key = 損失関数
      Value = 学習率
  • B. Query = 探したい情報
      Key = 照合する目印
      Value = 取り出して使う情報
  • C. Query = 入力層
      Key = 中間層
      Value = 出力層
  • D. Query = 訓練データ
      Key = 検証データ
      Value = テストデータ
Q
正解・解説(クリックで開きます)

正解

 B

解説

Query・Key・Valueは、検索のイメージで考えると整理しやすくなります。

Queryで探したい内容を表す
QueryとKeyを照合する
関係の強さを計算する
Valueを重み付きで取り出す

QueryとKeyの関係が強いほど、対応するValueが強く利用されます。

Aは学習に関する別の用語です。

Cのニューラルネットワークの層や、Dのデータ分割を表す用語でもありません。

問題⑥

Multi-Head Attentionの説明として、最も適切なものはどれか?

  • A. 1つのAttention計算だけを何度も同じ設定で繰り返す
  • B. 複数のモデルを学習し、最後に多数決を行う
  • C. 複数のAttention計算を異なる射影で並列に行い、結果を結合する
  • D. 入力系列を複数の短い文章へ分割するだけである
Q
正解・解説(クリックで開きます)

正解

 C

解説

Multi-Head Attentionは、複数のAttention計算を並列に行う仕組みです。

それぞれのHeadでは、Query・Key・Valueを異なる方法で変換してAttentionを計算します。

Query・Key・Valueを複数の空間へ変換する
複数のHeadでAttentionを並列計算する
各Headの結果を結合する
次の層で使う表現を作る

Aのように、完全に同じ計算を単純に繰り返すだけではありません。

Bは複数のモデルを組み合わせるアンサンブル学習に近い説明です。

Multi-Head Attentionでは、1つのモデル内部で複数のAttention Headを使います。

問題⑦

Multi-Head Attentionで複数のHeadを使う主な理由として、最も適切なものはどれか?

  • A. 複数の表現空間から、異なる関係を捉えやすくするため
  • B. 入力された単語を必ず五十音順に並べるため
  • C. 学習データを使わずに正解を決めるため
  • D. ニューラルネットワークの重みをすべて同じ値にするため
Q
正解・解説(クリックで開きます)

正解

 A

解説

文章には、1種類だけではない複数の関係があります。

複数のHeadを使うことで、異なる表現空間から複数の関係を捉えやすくなります。

1つのHead
ある関係を捉える
別のHead
別の関係を捉える
複数の関係
より豊かな表現を作る

ただし、「Head 1は必ず文法を見る」、「Head 2は必ず意味を見る」と役割が最初から固定されているわけではありません。

学習によって、それぞれのHeadが異なる関係を捉える可能性があります。

問題⑧

Encoder・Decoder型のSeq2SeqにおけるAttentionの説明として、最も適切なものはどれか?

  • A. DecoderはEncoderの出力を参照せず、常にランダムに単語を生成する
  • B. Encoderは入力文の情報をすべて削除してからDecoderへ渡す
  • C. Decoderは最初に受け取った固定長ベクトル以外を参照できないようにする
  • D. Decoderが出力する時点ごとに、関係が深いEncoderの情報を参照する
Q
正解・解説(クリックで開きます)

正解

 D

解説

Attentionを使ったSeq2Seqでは、Decoderが単語を出力する時点ごとに、Encoderのどの情報が重要かを計算します。

Encoderが入力系列を処理する
複数のEncoderの状態を保持する
Decoderが現在必要な情報へ注目する
注目した情報を使って出力する

翻訳する単語によって、入力文の中で重要になる部分は変わります。

Attentionによって、Decoderは出力の各時点で必要な入力情報を柔軟に参照できます。

問題⑨

Transformerの説明として、最も適切なものはどれか?

  • A. Self-Attentionを使わず、RNNによる逐次処理だけを行う
  • B. 単語の順番を表す情報は一切必要ない
  • C. Self-Attentionで系列内の関係を捉え、位置情報を別に加える
  • D. 画像のバウンディングボックスだけを出力する
Q
正解・解説(クリックで開きます)

正解

 C

解説

Transformerは、再帰構造や畳み込みを中心にするのではなく、Attentionを中心に系列を処理するモデルとして提案されました。

TransformerのSelf-Attentionでは、系列内の要素同士の関係を計算できます。

一方で、Self-Attentionだけでは、単語が入力された順番をそのまま表す仕組みがありません。

そのため、位置エンコーディングなどによって位置情報を加えます。

単語やトークンの表現
位置情報
Transformerへ入力

Aは、TransformerがRNNの逐次処理だけを使うとしているため誤りです。

Bも誤りです。系列の順番を扱うために、位置情報を補います。

Dは物体検出に関する説明です。

問題⑩

次の①から③と、用語の組み合わせとして最も適切なものはどれか?

① 同じ系列内の要素同士の関係を計算する
② 複数のAttention計算を並列に行う
③ DecoderがEncoder側の情報へ注目する

  • A. ① Attention
      ② Self-Attention
      ③ Multi-Head Attention
  • B. ① Self-Attention
      ② Multi-Head Attention
      ③ Attention
  • C. ① Multi-Head Attention
      ② Attention
      ③ Self-Attention
  • D. ① Self-Attention
      ② Attention
      ③ Multi-Head Attention
Q
正解・解説(クリックで開きます)

正解

 B

解説

それぞれを整理すると、次のようになります。

説明 対応する用語
同じ系列内の要素同士の関係を計算する Self-Attention
複数のAttention計算を並列に行う Multi-Head Attention
DecoderがEncoder側の情報へ注目する Attention

3つの用語は、次の軸で見分けます。

必要な情報へ注目する基本機構
Attention
同じ系列内を見る
Self-Attention
複数のHeadを並列に使う
Multi-Head Attention

TransformerのEncoderでは、Self-Attentionが複数Headを持つ形で使われます。

そのため、実際には「Multi-Head Self-Attention」として両方の特徴を持つことがあります。

Attention・Self-Attention・Multi-Head Attentionを混同しないための整理

3つの用語は、次の順番で確認すると見分けやすくなります。

重要な情報へ重みを付ける仕組みか?
Query・Key・Valueは同じ系列に由来するか?
複数のHeadで並列に計算するか?

特に注意したいのは、Self-AttentionとMulti-Head Attentionが同じ分類軸ではないことです。

Self-Attentionは、どこからQuery・Key・Valueを作るのかを表します。

Multi-Head Attentionは、いくつのAttention計算を並列に行うのかを表します。

用語 見るポイント 覚え方
Attention 重要な情報へ重みを付ける 必要な情報に注目する
Self-Attention 同じ系列内の関係を見る 同じ文章の中を見る
Multi-Head Attention 複数のAttentionを並列に行う 複数の視点で見る

まとめ

Attention・Self-Attention・Multi-Head Attentionは、すべて重要な情報へ注目する仕組みと関係しています。

しかし、それぞれが表しているものは異なります。

必要な情報へ注目する
Attention
同じ系列内の関係を見る
Self-Attention
複数のHeadで並列に見る
Multi-Head Attention

Attentionは、重要な情報へ重みを付ける基本的な仕組みです。

Self-Attentionは、Query・Key・Valueが同じ系列に由来し、系列内の要素同士の関係を見ます。

Multi-Head Attentionは、複数のAttention計算を並列に行い、異なる関係を捉えやすくします。

問題文では、「重要な情報」、「同じ系列内」、「複数のHead」という言葉に注目しましょう。

最後に、次の点を確認してください。

Attention=必要な情報へ注目する
Self-Attention=同じ系列内を見る
Multi-Head Attention=複数の視点で並列に見る
入力の種類ではなく、参照元とHead数を見る

関連記事・おすすめ記事

Attention、Self-Attention、Multi-Head Attentionと関連する技術をあわせて確認したい場合は、以下の記事も参考にしてください。

書いている人
運営者
運営者
このブログの運営者です。文系出身です。SEO検定1級、ウェブマスター検定1級を取得しました。ブログ運営には「AIの活用は必須」と思いG検定を取得しました。G検定は簡単といわれがちですが1回目は不合格でした。その失敗経験を元に、これから受験する方の助けになればとできるだけわかりやすくG検定対策は解説しています。間違い等あればご指摘いただければ幸いです。
記事URLをコピーしました