Multi-Head Attention

term_id: multi_head_attention

Category: basic_concepts

Definition

Multi-Head Attention udvider den standard opmærksomhedsmechanisme ved at køre den flere gange parallelt med forskellige lærte lineære projektioner. Dette gør det muligt for modellen samtidig at fokusere på information fra forskellige positioner.

Summary

En mekanisme i transformer-modeller, der giver modellen mulighed for at fokusere på information fra forskellige repræsentationsundersystemer samtidigt.

Key Concepts

  • Selvopmærksomhed
  • Lineære projektioner
  • Konkatenation

Use Cases

  • Naturlig sprogbehandling (NLP)
  • Maskinoversættelse
  • Billedklassificering med Vision Transformers

Code Example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
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