マルチヘッドアテンション
term_id: multi_head_attention
Category: basic_concepts
Definition
マルチヘッドアテンションは、標準的なアテンションメカニズムを、異なる学習された線形射影を使用して並列で複数回実行することで拡張します。これにより、モデルは情報の異なる側面に結合して注意を向けることができます。
Summary
モデルが異なる表現サブスペースからの情報に同時に注意を向けることを可能にするトランスフォーマーモデルのメカニズム。
Key Concepts
- セルフアテンション
- 線形射影
- 連結
Use Cases
- 自然言語処理 (NLP)
- 機械翻訳
- ビジョントランスフォーマーを用いた画像分類
Code Example
import torch.nn as nn
class MultiHeadAttention(nn.Module):
def __init__(self, d_model, num_heads):
super().__init__()
self.num_heads = num_heads
self.d_k = d_model // num_heads
self.W_q = nn.Linear(d_model, d_model)
self.W_k = nn.Linear(d_model, d_model)
self.W_v = nn.Linear(d_model, d_model)
self.W_o = nn.Linear(d_model, d_model)
def forward(self, x):
# Simplified forward pass logic
pass