Atención Multi-Cabeza
term_id: multi_head_attention
Category: basic_concepts
Definition
La Atención Multi-Cabeza extiende el mecanismo de atención estándar ejecutándolo varias veces en paralelo con diferentes proyecciones lineales aprendidas. Esto permite al modelo atender conjuntamente a la información de diversas perspectivas y capturar dependencias complejas.
Summary
Un mecanismo en los modelos transformadores que permite al modelo atender información de diferentes subespacios de representación simultáneamente.
Key Concepts
- Autoatención
- Proyecciones lineales
- Concatenación
Use Cases
- Procesamiento del Lenguaje Natural (PLN)
- Traducción automática
- Clasificación de imágenes con Transformadores Visuales
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