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. 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. 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.

Kilder

2