ディープラーニング機械学習自然言語処理

一方向アテンション

いちほうこうあてんしょん · Unidirectional Attention
18 views

一方向アテンションとは、Transformerモデルにおいて、ある単語を処理する際にそれ以降(未来)の単語へのアテンション(注目)を遮断し、それ以前(過去)の単語のみに注目させる仕組みです。主にGPTなどの自動回帰的な大規模言語モデルのデコーダ部分で、文章の逐次生成を正しく行うために使用されます。

一方向アテンションとは

一方向アテンション(Causal Attentionとも呼ばれる)は、Transformerなどのニューラルネットワークにおいて、テキストデータを処理する際に「現在の位置よりも後ろ(未来)にある情報」を見えないように制限し、過去の情報のみに基づいて次の予測を行うアテンション(注意)の仕組みです。

詳しく解説

Transformerで用いられる自己アテンションは、通常は文章全体の単語同士の関係性を双方向に計算します。しかし、文章生成タスク(テキスト生成)のように、左から右へ1語ずつ順番に単語を予測・生成していく自動回帰モデルでは、未来の単語の情報を知っている前提で学習してしまうと、実際の予測時に正しく動作しません。この問題を解決するため、アテンション行列にマスク処理を施すことで、未来の単語に対応する重みを強制的にゼロにし、過去と現在の単語のみから次の単語を予測できるようにします。これにより、モデルは文脈を保ちながら整合性のある文章を順番に生成することが可能になります。

具体例・使われ方

一方向アテンションは、GPT-4などの大規模言語モデルにおけるテキスト生成プロセスで広く利用されています。例えば、「私は」「今日」「ラーメンを」という入力に対して次の単語を予測する際、「私は」の処理時には「今日」以降の情報を遮断し、「ラーメンを」の処理時には「私は」「今日」「ラーメンを」のみを参照して「食べた」という言葉を導き出します。このように、時系列データや言語のように前後関係に因果律が存在するデータの処理において、逐次的な出力を生成するデコーダで不可欠な技術となっています。

似た用語との違い

混同されやすい概念に、BERTなどのエンコーダで用いられる「双方向アテンション」があります。双方向アテンションは、ある単語を処理する際にその前後のすべての文脈(左側と右側の両方)を同時に参照できます。文章の分類や意味抽出には双方向アテンションが適していますが、文章を1文字ずつ生成していくデコーダ型タスクには、未来情報を隠蔽する一方向アテンションが適しています。

注意点

一方向アテンションは、文章生成においては不可欠ですが、文章全体の文脈を一度に理解して情報を抽出するようなタスク(例えば文脈に基づいた質問回答や高精度な翻訳のエンコードなど)においては、双方向アテンションに比べて情報の参照範囲が制限されるため、効率や精度が下がる場合があります。また、実装時にはテンソル演算においてマスクを正しく適用しないと、未来の情報がリーク(リーケージ)してしまい、学習が正しく進まなくなるため注意が必要です。

更新日時: 2026年9月13日 09:41