attention score
Den rå værdi, der beregnes som prikproduktet mellem en query- og en key-vektor i en attention-mekanisme, før softmax-normalisering.
Kort fortalt
Attention score er et mål for, hvor meget et ord i en sætning 'matcher' et andet ord, før der tages højde for alle ord.
- Kategori
- begreb
- Niveau
- øvet
Betydninger
2- 1
I transformer-modeller: den skalerede prikprodukt-værdi mellem en query- og en key-vektor, der måler deres kompatibilitet.
- Transformerens attention score mellem 'hund' og 'kat' var høj.
- Attention scores normaliseres med softmax til vægte, der summer til 1.
- 2
I additiv attention (Bahdanau): den værdi, der beregnes af et feedforward-netværk, der kombinerer decoder-skjult tilstand og encoder-annotations.
- I Bahdanau-attention beregnes attention score ved at anvende et lille neuralt netværk. — Bahdanau et al., 2015
Hvornår bruges det
Attention scores bruges i transformer-modeller som den første del af attention-beregningen. De beregnes mellem alle par af positioner og normaliseres derefter med softmax til attention-vægte. Høje scores indikerer stærk relevans.
Formel
attention_score = q·k / sqrt(d_k)Kodeeksempel
import numpy as np
def attention_scores(Q, K):
d_k = Q.shape[-1]
return np.dot(Q, K.T) / np.sqrt(d_k)Beregning af attention scores som det skalerede prikprodukt mellem query- og key-matricer.
Oprindelse
Begrebet stammer fra 'Attention Is All You Need' (Vaswani et al., 2017), hvor den skalerede prikprodukt-opmærksomhed blev introduceret.