Attention
En mekanisme i neurale netværk der vægter forskellige dele af inputtet forskelligt.
Kort fortalt
Attention gør det muligt for en model at fokusere på de vigtigste dele af dataen, ligesom vi mennesker fokuserer på bestemte ord i en sætning.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
En beregningsmæssig mekanisme der tildeler vægte til inputelementer for at fange kontekstuelle afhængigheder.
- Transformer-modeller anvender self-attention til at forstå relationer mellem ord i en sætning. — Attention Is All You Need, 2017
- Attention-mekanismen gør det muligt for modellen at vægte relevante dele af inputtet højere.
Hvornår bruges det
Attention bruges især i transformer-modeller til sekvensbehandling, f.eks. i sprogmodeller som GPT. Den beregner en vægtet sum af inputværdier baseret på relevans via en opmærksomhedsscore.
Formel
Attention(Q,K,V) = softmax(QK^T/√d_k)VKodeeksempel
import numpy as np
def scaled_dot_product_attention(Q, K, V):
d_k = Q.shape[-1]
scores = np.dot(Q, K.T) / np.sqrt(d_k)
weights = np.exp(scores) / np.sum(np.exp(scores), axis=-1, keepdims=True)
return np.dot(weights, V)En simpel implementation af scaled dot-product attention i NumPy. Q, K, V er queries, keys og values.
Oprindelse
Begrebet 'attention' blev populært inden for deep learning med papiret 'Attention Is All You Need' (Vaswani et al., 2017), men tidligere var der attention-mekanismer i seq2seq-modeller.