マルチヘッドアテンション【Multi-Head Attention】
概要

「セルフアテンション」(Self-Attention:自己注意機構)はアテンション(Attention:注意機構)の一種で、文章内のすべての単語の組み合わせについて、その関連性の強さを一度に計算する仕組みである。文脈における各単語の意味を、周囲の単語との関係性に基づいて深く理解することができる。
通常のセルフアテンションでは、文章内の単語間の関係性を一つの方法で計算するが、自然言語などの複雑なデータには、文法的な繋がり、意味的な類似性、代名詞の指示対象など、注目すべき側面が複数存在する。マルチヘッドアテンションは、これらの異なる側面を同時に捉えるために、アテンションの計算を行う「ヘッド」を複数用意する。
具体的には、入力されたデータを複数の低次元な空間に投影し、それぞれのヘッドが独立して並列に関係性を計算する。各ヘッドは異なるパラメータを持っており、学習が進むにつれて「主語と述語の関係に注目するヘッド」「形容詞と名詞の修飾関係に注目するヘッド」といったように役割分担が自然に行われるようになる。計算の最後には、各ヘッドから得られた出力を一つに統合(連結)し、再び元の次元へと変換して次層へ渡す。
複数のヘッドを用いることにより、異なる種類の依存関係を同時に表現することができ、文中の意味的関連、構文的対応、位置的近接性など、異なる側面に着目した注意分布が形成される。一つの単語が持つ多面的な意味や、文全体に広がる複雑な依存関係を、単一のアテンション機構を用いる場合よりもはるかに豊かに表現することができる。自然言語処理で極めて高い性能を達成したTransformerモデルに用いられている仕組みである。