自己注意機構

Self-Attention

自己注意機構とは

自己注意機構(Self-Attention)は、入力系列の各要素が同じ系列内の他のすべての要素との関連性を計算する仕組みです。Transformerの中核技術として、各トークンが文脈全体を考慮した表現を獲得することを可能にします。従来のRNNが逐次的に情報を処理するのに対し、自己注意機構は全要素間の関係を一度に並列計算できるため、効率性が大幅に向上します。

自己注意の計算プロセス

自己注意機構では、入力の各トークンからQuery、Key、Valueの3つのベクトルを生成します。あるトークンのQueryと全トークンのKeyとの内積を計算してアテンションスコアを求め、ソフトマックス関数で正規化します。この重みを用いてValueの加重和を算出し、各トークンの新しい表現とします。この処理により、文脈に応じた動的な特徴表現が得られます。

自己注意の計算量と対策

自己注意機構の計算量は系列長の二乗に比例するため、長い系列の処理には課題があります。この問題に対処するため、Sparse Attention、Linear Attention、Sliding Window Attentionなどの効率的な近似手法が提案されています。FlashAttentionのようなハードウェア最適化も重要な進歩であり、メモリ効率と計算速度の改善に貢献しています。

自己注意の応用範囲

自己注意機構は自然言語処理だけでなく、画像処理(Vision Transformer)、音声認識、グラフニューラルネットワークなど、多様な分野で活用されています。入力データの種類を問わず、要素間の関係性を柔軟に捉えられる汎用的な仕組みとして、現代のディープラーニングの基盤技術となっています。