マルチヘッドアテンションとは
マルチヘッドアテンション(Multi-Head Attention)は、自己注意機構を複数の「ヘッド」に分割して並列に実行する手法です。Transformerアーキテクチャの重要な構成要素であり、モデルが入力データのさまざまな側面(構文的な関係、意味的な類似性、位置関係など)に同時に注目することを可能にします。
マルチヘッドアテンションの仕組み
マルチヘッドアテンションでは、入力をh個のヘッドに分割し、それぞれ独立にアテンション計算を行います。各ヘッドは異なる線形変換でQuery、Key、Valueを生成するため、異なる部分空間での関係性を学習します。計算後、すべてのヘッドの出力を結合(Concatenate)し、線形変換を施して最終的な出力を得ます。
ヘッド数の影響
ヘッド数はモデルの表現力に大きく影響します。一般的にTransformerでは8個や16個のヘッドが使用されます。ヘッド数を増やすと多様な関係性を捉えられますが、各ヘッドの次元が小さくなるため、適切なバランスが重要です。研究によると、一部のヘッドは冗長であることが示されており、注意ヘッドの枝刈りも研究対象となっています。
マルチヘッドアテンションの意義
マルチヘッドアテンションは、単一のアテンションでは捉えきれない複雑な依存関係を表現する能力をモデルに与えます。例えば、あるヘッドが主語と動詞の関係に注目し、別のヘッドが指示語と参照先の関係を捉えるといった分業が自然に学習されます。この機構はBERT、GPTをはじめとするすべての主要なTransformerモデルで採用されています。