クロスアテンション(くろすあてんしょん)
最終更新:2026/4/25
クロスアテンションは、異なる系列間の要素間の関係性を捉えるための注意機構であり、主に自然言語処理や画像処理の分野で用いられる。
別名・同義語 注意機構アテンションメカニズム
ポイント
自己注意機構を拡張し、入力系列だけでなく、別の系列の情報も考慮することで、より高度な文脈理解を可能にする。
クロスアテンションとは
クロスアテンションは、Transformerモデルなどで用いられる注意機構の一種です。自己注意機構が単一の入力系列内の要素間の関係性を捉えるのに対し、クロスアテンションは異なる2つの系列間の関係性を捉えることを目的とします。例えば、機械翻訳において、入力文(ソース言語)と出力文(ターゲット言語)の間の関係性を捉えるために使用されます。
仕組み
クロスアテンションの基本的な仕組みは、クエリ(Query)、キー(Key)、バリュー(Value)の3つの要素に基づきます。クエリは、注意を向けたい対象を表し、キーは、注意を向けられる対象を表します。そして、クエリとキーの類似度を計算し、その類似度に基づいてバリューに重み付けを行います。重み付けされたバリューを合計することで、注意を向けた対象の情報を集約します。
具体的には、以下の手順で計算が行われます。
- クエリ、キー、バリューをそれぞれ線形変換します。
- クエリとキーの内積を計算し、スケーリングを行います。
- スケーリングされた内積に対してSoftmax関数を適用し、注意重みを計算します。
- 注意重みとバリューの積を計算し、その合計をクロスアテンションの出力とします。
自己注意との違い
クロスアテンションと自己注意の主な違いは、注意を向ける対象が異なる点です。自己注意は、同じ系列内の要素間の関係性を捉えるのに対し、クロスアテンションは異なる系列間の関係性を捉えます。この違いにより、クロスアテンションは、異なる系列間の情報を統合する際に有効な手段となります。
応用例
クロスアテンションは、様々なタスクに応用されています。