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

Kodeeksempel

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.

Afledte ord

4

Kilder

1