クロスアテンション【Cross Attention】

概要

クロスアテンションとは、Transformerなどのエンコーダデコーダ型のニューラルネットワークで、出力側の系列が入力側のどの部分に注目すべきかを決定する仕組み。翻訳などのタスクで、出力単語と入力単語の関連性を計算し、文脈を反映した動的な情報の抽出を可能にする。
クロスアテンションのイメージ画像

エンコーダデコーダ型のモデルは長い入力データから長い出力データを得るためのネットワークで、エンコーダは入力された情報を数値的な特徴量として抽出し、デコーダはその情報を元に新しい系列を生成する。クロスアテンションは両者の橋渡し役として機能する。デコーダが次に生成すべき単語を検討する際、エンコーダが保持している入力系列全体の中から、その瞬間に最も重要と思われる箇所を特定し、重み付けを行う。

計算過程では、「クエリ」(query)、「キー」(key)、「バリュー」(value)という三つの要素が用いられる。キーとバリューはエンコーダ側から、クエリデコーダ側から供給される。デコーダが現在生成している一歩手前の状態がクエリとなり、エンコーダが出力した入力文の各単語の特徴がキーおよびバリューとなる。システムはクエリとすべてのキーとの類似度を計算し、その結果をソフトマックス関数によって正規化することで、合計が1になる重み(アテンションスコア)を算出する。このスコアをバリューに乗じることで、入力文の各部分が持つ情報を取捨選択し、一つのコンテキストベクトルとしてデコーダの次トークン予測に用いる。

Transformerモデルでは、入力文と出力文の関連を捉えるクロスアテンションと、入力文中の単語同士の関連性を分析する「セルフアテンション」(Self-Attention自己注意機構)が併用される。エンコーダでは入力系列内部の関係をセルフアテンションで表現し、デコーダではセルフアテンションで既出力トークン間の依存関係を捉えた後、クロスアテンションにより入力系列との対応付けを行う。複数のアテンション機構を同時に適用するマルチヘッドアテンション構成とすることで、異なる表現空間における対応関係を並列に学習でき、語順、意味的対応、構文的関係など複数の観点を同時に扱うことが可能となる。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。