Moni-Head Attention

term_id: multi_head_attention

Category: basic_concepts

Definition

Moni-Head Attention laajentaa vakiintunutta attention-mekanismia suorittamalla sen useita kertoja rinnakkain eri opittujen lineaaristen projektioiden kanssa. Tämä mahdollistaa mallin keskittymisen yhteisesti eri ominaisuuksiin.

Summary

Mekanismi muunnosmalleissa, joka mahdollistaa mallin keskittymisen tietoon eri esitystilan aliavaruksista samanaikaisesti.

Key Concepts

  • Self-Attention (Itse-attention)
  • Lineaariset projektiot
  • Yhdistäminen (Concatenation)

Use Cases

  • Luonnollisen kielen käsittely (NLP)
  • Konekäännös
  • Kuvaluokitus Vision Transformers -malleilla

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