本文へ移動

G検定(ジェネラリスト検定)

そーすたーげっとあてんしょん

ソースターゲットアテンション

Source-Target Attention

Transformerのデコーダにある注意機構の層。クエリはデコーダの1つ前の層から、キーと値はエンコーダの出力から受け取るため、デコーダの各位置が入力系列のすべての位置を参照できる。

詳しい説明

どのような層か

ソースターゲットアテンションは、Transformerのデコーダに置かれる注意機構の層です。原論文ではencoder-decoder attention(エンコーダ・デコーダアテンション)と呼ばれています。Transformerはマルチヘッドアテンションを3通りの使い方で用いており、この層はそのうちの1つです。

クエリとキー・値の出所

この層の特徴は、入力となるベクトルが2か所から来ることです。クエリはデコーダの1つ前の層から来ます。キーと値は、原論文でメモリのキーと値と呼ばれるもので、エンコーダの出力から来ます。デコーダの側が問いを出し、エンコーダの側が参照される情報を用意する、という分担になっています。

アテンションは一般に、1つのクエリと、キーと値のペアの集合を、出力へ写す関数として説明されます。出力は値の重み付き和で、それぞれの値の重みは、クエリと対応するキーとの適合度を計算する関数で決まります。ソースターゲットアテンションは、この一般的な定義のうち、クエリの出所(デコーダ)とキー・値の出所(エンコーダ)が異なる場合にあたります。

何ができるようになるか

キーと値がエンコーダの出力から来るので、デコーダの各位置は、入力系列のすべての位置に注意を向けられます。デコーダは出力を組み立てる途中で、入力系列のどの位置の情報をどれだけ使うかを、重みとして位置ごとに決められます。エンコーダが入力系列から作った表現を、デコーダが参照するための通り道がこの層です。

系列変換モデルとの関係

原論文は、この層が系列変換モデル(sequence-to-sequence model)で典型的に使われてきたencoder-decoder attentionの仕組みを模したものだと述べています。入力側と出力側を注意でつなぐという、系列変換モデルで使われてきた考え方を、Transformerはこの層として持っています。

セルフアテンションとの違い

同じTransformerの中には、セルフアテンションの層もあります。セルフアテンションではキー・値・クエリがすべて同じ場所から来ます。これに対してソースターゲットアテンションでは、クエリはデコーダから、キーと値はエンコーダから来ます。両者を見分けるときは、まずこの出所の違いに注目すると整理しやすくなります。

試験との関係

ソースターゲットアテンションは、シラバス2024のキーワードに含まれます。

試験で問われること

G検定

  • ソースターゲットアテンションは、原論文でencoder-decoder attentionと呼ばれる層で、Transformerがマルチヘッドアテンションを使う3通りの方法の1つとして、デコーダの中に置かれている。
  • この層では、クエリはデコーダの1つ前の層から来て、キーと値(メモリのキーと値)はエンコーダの出力から来るという、出所の組み合わせを正確に覚えておく必要がある。
  • キーと値がエンコーダの出力から来るため、デコーダの各位置は入力系列のすべての位置に注意を向けられ、入力側の情報を出力の組み立てに使えるようになる。
  • 原論文は、この層を、系列変換モデル(sequence-to-sequence model)で典型的に使われてきたencoder-decoder attentionの仕組みを模したものだと位置づけている。
  • セルフアテンションはキー・値・クエリがすべて同じ場所から来るのに対し、ソースターゲットアテンションはクエリの出所とキー・値の出所が異なる点で区別される。

最終更新日: 2026/09/23