アテンション【Attention】注意機構

人間が文章を読んで意味を解釈するとき、すべての単語を同じ強さで認識しているわけではなく、文の中で相対的に重要な箇所を識別して大きな注意(attention)を払っている。こうした認知的なメカニズムをニューラルネットワーク上で模倣したものがアテンション機構である。
従来、文章のような系列データはエンコーダ・デコーダ型モデルなどを用いて処理していたが、これは入力されたすべての情報を固定長のベクトルに圧縮して保持する必要がある。この方式は文章が長くなるほど情報の欠落が発生しやすく、また、処理が進行するにつれ文頭付近の単語をどんどん忘れていってしまう問題があった。
アテンション機構では、情報を処理するたびに、入力データのどこが現在の文脈において重要であるかを動的に計算し、その部分を直接参照する。これにより、長い文章や複雑なデータであっても、重要な情報のつながりを維持したまま処理することが可能になった。もとは機械翻訳で入力文と出力文の対応関係を柔軟に扱うための仕組みとして考案されたが、様々な用途で有用であることが分かり、広く応用されている。
アテンションの計算過程は「クエリ」(query)、「キー」(key)、「バリュー」(value)の三つの要素で説明される。クエリは参照したい情報の条件を表し、キーは各入力要素の特徴、バリューは実際に集約される情報を示す。クエリとキーの類似度に基づいて重みが算出され、その重み付き和としてバリューが統合される。この構造により、単純な距離や位置関係に依存せず、意味的な関連性に基づく情報選択が行われる。
セルフアテンションとTransformer
アテンションの派生手法として、自分自身のデータの中での相互関係を計算する「セルフアテンション」(Self-Attention:自己注意機構)が考案された。これは一つの文章内にある各単語が、同じ文章内の他のすべての単語とどのような関係にあるかを一度に計算するものである。例えば「彼は犬を連れて散歩に行き、それを公園で放した」という一文において、「それ」という単語が「犬」を指していることを、文中の離れた位置にあっても正確に捉えることができる。
このセルフアテンションの仕組みを全面的に採用した機械学習モデルが「Transformer」(トランスフォーマー)である。長い文中で離れた単語同士の依存関係を的確に捉えることができ、並列処理に適した構造によって大量のデータを高速に学習できるため、人間に匹敵する自然言語処理の性能を獲得することが可能となった。現在のチャットAIの基盤となるモデルであり、対話生成だけでなく音声認識や画像生成、プログラムコード生成など多様なタスクに応用されている。