Sobes.tech
Middle — Senior

Selgitage üksikasjalikult mitmepäise tähelepanu kohta: mis on Q/K/V, kuidas arvutatakse tähelepanu kaalud, miks on mitu pead.

sobes.tech AI

Vastus AI-lt

Mitmõõtmega tähelepanu — see on võtme-mehhanism transformeerijates, mis võimaldab mudelil samaaegselt keskenduda erinevatele sisendi osadele.

  • Q (Küsimus), K (Võti), V (Väärtus) — need on kolm maatriksit, mis saadakse sisendandmetest õppitavate lineaarsete teisenduste abil. Iga positsioon järjestuses muudetakse kolme vektoriks:

    • Küsimus — päring, millele otsitakse asjakohast teavet.
    • Võti — võti, millega päring võrdleb.
    • Väärtus — väärtus, mis tagastatakse päringu vastusena.
  • Tähelepanu kaalude arvutamine:

    1. Arvutatakse skalaarkorrutis iga positsiooni paari jaoks Query ja Key vahel.
    2. Tulemust skaleeritakse (tavaliselt jagatakse võtmete suuruse ruutjuurega) gradientide stabiliseerimiseks.
    3. Rakendatakse softmaxi, et saada tõenäosuslik kaalude jaotus.
    4. Kaalud korrutatakse vastavate Väärtustega ning tulemused summeeritakse — see on tähelepanu väljund.
  • Miks mitu pead (multi-head)? Mitmed pead võimaldavad mudelil vaadata infot erinevatest "vaatenurkadest", see tähendab, et iga pea õpib eristama erinevaid sõltuvusi ja mustreid andmetes. See suurendab väljendusvõimet ja mudeli kvaliteeti.

Lihtsustatud näide:

# Iga pea jaoks:
Q_i = X * W_Q_i
K_i = X * W_K_i
V_i = X * W_V_i

attention_weights = softmax((Q_i @ K_i.T) / sqrt(d_k))
output_i = attention_weights @ V_i

# Kõigi peade väljundite ühendamine
output = concat(output_1, ..., output_h) * W_O

Kus W_Q_i, W_K_i, W_V_i, W_O on õppitavad maatriksid, d_k on võtmete suurus, h on peade arv.