Attenzione Multi-Testa
term_id: multi_head_attention
Category: basic_concepts
Definition
L’Attenzione Multi-Testa estende il meccanismo di attenzione standard eseguendolo più volte in parallelo con diverse proiezioni lineari apprese. Ciò consente al modello di prestare contemporaneamente attenzione a informazioni provenienti da diverse posizioni.
Summary
Un meccanismo nei modelli transformer che consente al modello di prestare attenzione alle informazioni provenienti da diversi sottospazi di rappresentazione simultaneamente.
Key Concepts
- Auto-Attenzione
- Proiezioni Lineari
- Concatenazione
Use Cases
- Elaborazione del Linguaggio Naturale (NLP)
- Traduzione Automatica
- Classificazione di Immagini con Vision Transformers
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