Atenție Multi-Cap

term_id: multi_head_attention

Category: basic_concepts

Definition

Atenția Multi-Cap extinde mecanismul standard de atenție rulându-l de mai multe ori în paralel cu proiecții liniare diferite învățate. Acest lucru permite modelului să acorde atenție simultan informațiilor din diverse perspective.

Summary

Un mecanism în modelele transformator care permite modelului să acorde atenție informațiilor din diferite subspații de reprezentare simultan.

Key Concepts

  • Auto-Atenție
  • Proiecții Liniare
  • Concatenare

Use Cases

  • Procesarea Limbajului Natural (NLP)
  • Traducere Automată
  • Clasificarea Imaginilor cu Transformatori Vizuali (ViT)

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