AI資格ドリル
資格を選ぶ↓

用語比較

AttentionとSelf-Attentionの違い(Transformerでの使い分け)

Attention(注意機構)は、クエリと、キーと値の組から、値の重み付き和を出力する仕組みです。Self-Attentionは、そのクエリ・キー・値がすべて同じ系列から来る使い方です。

つまり、Self-Attentionは別の仕組みではなく、Attentionの一つの使い方です。Transformerの原論文は、マルチヘッド注意を3通りに使うと述べています。

このページは、Attention、Self-Attention、エンコーダ・デコーダ注意、位置エンコーディングなど、Transformerの用語が似ていて選択肢で迷う人向けです。

RNNとの違いやBERTとGPTの違いは別のページで扱い、ここでは注意機構の中の区別に絞って比べます。

この記事の根拠と出典

各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。G検定の一次情報確認日: 2026-10-02。

結論

Attention

クエリと、キーと値の組の集合を出力に写す関数。出力は値の重み付き和で、重みはクエリとキーの適合度で決まる。

Self-Attention

1つの系列の異なる位置を関係づけて、系列の表現を計算する注意。クエリ・キー・値がすべて同じ場所から来る。

違いを表で確認

比較軸AttentionSelf-Attention
位置づけAttention:注意機構そのものSelf-Attention:注意機構の使い方の一つ
クエリ・キー・値の出どころAttention(エンコーダ・デコーダ注意):クエリはデコーダ、キーと値はエンコーダの出力Self-Attention:すべて同じ層・同じ系列
関係づける相手Attention(エンコーダ・デコーダ注意):入力系列の全位置を、デコーダの各位置から参照するSelf-Attention:1つの系列の中の異なる位置どうし(デコーダでは、その位置までの位置に限る)
Transformerでの場所Attention(エンコーダ・デコーダ注意):デコーダの層Self-Attention:エンコーダとデコーダの両方

どこで迷っているかを切り分ける

01

AttentionとSelf-Attentionを別の技術だと思っている人

原論文は、注意関数をクエリ、キー、値から出力を作る関数と定義し、自己注意をその注意機構が1つの系列の異なる位置を関係づける場合と説明しています。自己注意は注意機構の一種です。

02

エンコーダ・デコーダ注意とSelf-Attentionの見分けがつかない人

見分ける点は、キーと値の出どころです。エンコーダ・デコーダ注意ではキーと値がエンコーダの出力から来て、自己注意ではクエリ・キー・値がすべて同じ場所から来ます。

03

Transformerに位置エンコーディングが要る理由を聞かれて詰まった人

原論文は、モデルに再帰も畳み込みもないため、系列の順序を使えるようにトークンの位置の情報を入力の埋め込みに加えると述べています。

具体例で使い分ける

例 1

翻訳でデコーダが入力文の単語を参照する仕組みはどちらか

翻訳モデルで、出力文を作るデコーダが、入力文の全位置を参照する仕組みの名前を問う設問です。

  • クエリはデコーダの直前の層から来ます。
  • キーと値はエンコーダの出力から来ます。
  • クエリとキー・値の出どころが違うので、自己注意ではなく、エンコーダ・デコーダ注意です。

結論: エンコーダ・デコーダ注意です。

例 2

エンコーダの層で、各位置が前の層のすべての位置に注意を向ける仕組みはどちらか

エンコーダの層で、キー・値・クエリの出どころを問う設問です。

  • キー・値・クエリはすべて、エンコーダの前の層の出力から来ます。
  • 出どころがすべて同じ場所なので、自己注意の層です。

結論: Self-Attention(自己注意)です。

例 3

位置の情報を足さずに自己注意だけを使うと何が足りないか

再帰も畳み込みも使わないモデルで、系列の順序をどう扱うかを問う設問です。

  • 原論文は、再帰も畳み込みもないモデルが系列の順序を使うには、位置の情報が要ると述べています。
  • その情報を入力の埋め込みに加えたものが位置エンコーディングです。

結論: 系列の順序の情報が足りないので、位置エンコーディングを加えます。

問題文から答えを選ぶ手順

  1. 1

    何を聞かれているか確認する

    注意機構全体の定義を聞かれているのか、特定の使い方を聞かれているのかを分けます。

  2. 2

    キーと値の出どころを確認する

    エンコーダの出力から来るならエンコーダ・デコーダ注意です。

  3. 3

    クエリ・キー・値が同じ場所から来るか確認する

    すべて同じ層の出力から来るなら自己注意です。

  4. 4

    順序の扱いを確認する

    再帰も畳み込みもないモデルでは、位置エンコーディングで順序の情報を加えます。

試験での見分け方

  • 1クエリ・キー・値から値の重み付き和を出すのが、注意機構。
  • 2クエリ・キー・値がすべて同じ場所から来るのが、自己注意。
  • 3キーと値がエンコーダの出力から来るのが、エンコーダ・デコーダ注意。
  • 4再帰も畳み込みもないので、順序は位置エンコーディングで加える。

誤答しやすい選択肢

Self-Attentionを注意機構とは別の技術と考える

修正: 原論文は、自己注意を、注意機構が1つの系列の異なる位置を関係づける場合と説明しています。注意機構の使い方の一つです。

デコーダの注意がすべて自己注意だと考える

修正: デコーダには、エンコーダの出力をキーと値に使うエンコーダ・デコーダ注意の層もあります。

デコーダの自己注意も、エンコーダと同じく全位置を見られると考える

修正: 原論文は、デコーダの自己注意の層では、各位置がその位置までのデコーダの位置にしか注意を向けられないと述べています。

自己注意があれば語順が自動で分かると考える

修正: 原論文は、再帰も畳み込みもないモデルでは、順序を使うために位置の情報を入力の埋め込みに加えると述べています。

確認問題

Q1クエリ・キー・値がすべて同じ場所から来る注意は何と呼ばれますか?

答え: 自己注意(Self-Attention)

原論文は、エンコーダの自己注意の層では、キー・値・クエリがすべて前の層の出力から来ると述べています。

Q2Transformerのデコーダで、キーと値がエンコーダの出力から来る層は何ですか?

答え: エンコーダ・デコーダ注意

この層では、クエリが直前のデコーダ層から、キーと値がエンコーダの出力から来ます。

Q3Transformerが位置エンコーディングを使う理由は何ですか?

答え: 再帰も畳み込みもないため、系列の順序の情報を加える必要があるから

原論文は、トークンの相対的または絶対的な位置の情報を入力の埋め込みに加えると述べています。

到達チェック

  • 注意関数を、クエリ・キー・値から値の重み付き和を出す関数として説明できる
  • 自己注意とエンコーダ・デコーダ注意を、キーと値の出どころで区別できる
  • 位置エンコーディングが要る理由を言える
  • Self-AttentionがAttentionの使い方の一つだと言える

同じ資格で次に知りたいこと

よくある質問

QAttentionとSelf-Attentionの違いは何ですか?

A

Attentionはクエリ、キー、値から値の重み付き和を出す注意機構そのものです。Self-Attentionは、そのクエリ・キー・値がすべて同じ場所から来る使い方です。

Qエンコーダ・デコーダ注意とSelf-Attentionはどう違いますか?

A

エンコーダ・デコーダ注意では、クエリがデコーダから、キーと値がエンコーダの出力から来ます。Self-Attentionでは、クエリ・キー・値が同じ場所から来ます。

QTransformerはなぜ位置エンコーディングを使いますか?

A

原論文によると、再帰も畳み込みもないため、系列の順序を使えるように、トークンの位置の情報を入力の埋め込みに加えます。

QSelf-Attentionはどんな課題で使われてきましたか?

A

原論文は、自己注意が読解、抽象型要約、含意関係認識、課題に依存しない文表現の学習などで成果を上げてきたと述べています。

次に見る比較

執筆: ミナト編集部(運営者情報を見る)