maskeret multi-head self-attention
En mekanisme i neurale netværk, hvor opmærksomhedsberegningen begrænses til en specifik del af inputsekvensen ved hjælp af en maske, samtidig med at opmærksomheden opdeles i flere uafhængige hoveder.
Kort fortalt
En metode der gør det muligt for en model at fokusere på bestemte dele af inputtet, mens den ignorerer andre, og samtidig bruge flere separate opmærksomhedsmekanismer.
- Kategori
- arkitektur
- Niveau
- ekspert
- Udtale
- [maˈskeˀɐð ˈmʌltiˌhɛd sɛlf əˈtɛnɕon]
Betydninger
1- 1
En variant af multi-head self-attention, hvor en maske påføres opmærksomhedsmatrixen for at udelukke eller begrænse opmærksomhed mellem bestemte positioner i sekvensen, f.eks. ved at forhindre fremadrettet informationsflow i tidsserier.
- I dekoderblokken anvendes maskeret multi-head self-attention for at sikre, at hver token kun kan se tidligere tokens. — Vaswani et al., Attention Is All You Need, 2017
- Masken i maskeret multi-head self-attention er typisk en trekantet maske med -uendelig i de ulovlige celler. — Transformer lærebog, 2023
Hvornår bruges det
Anvendes primært i dekoder-delen af transformer-modeller, f.eks. i GPT eller BART, for at forhindre modellen i at 'snyde' ved at kigge på fremtidige tokens under auto-regressiv generering. Masken sikrer, at hver position kun kan se tidligere positioner og sig selv.
Formel
Attention(Q,K,V) = softmax( (QK^T)/√d_k + M ) V, hvor M er en maske med 0 for tilladte positioner og -∞ for forbudte.Kodeeksempel
import torch.nn as nn
mha = nn.MultiheadAttention(embed_dim=512, num_heads=8)
seq_len = 10
batch_size = 2
x = torch.randn(seq_len, batch_size, 512)
mask = torch.triu(torch.ones(seq_len, seq_len) * float('-inf'), diagonal=1)
output, attn_weights = mha(x, x, x, attn_mask=mask)Eksempel på brug af maskeret multi-head self-attention i PyTorch ved at angive en trekantet maske.
Oprindelse
Termen stammer fra transformer-arkitekturen, hvor 'multi-head' refererer til at opmærksomheden beregnes i flere parallelle dimensioner, og 'maskeret' angiver anvendelsen af en maske til at begrænse opmærksomheden.