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:
- Arvutatakse skalaarkorrutis iga positsiooni paari jaoks Query ja Key vahel.
- Tulemust skaleeritakse (tavaliselt jagatakse võtmete suuruse ruutjuurega) gradientide stabiliseerimiseks.
- Rakendatakse softmaxi, et saada tõenäosuslik kaalude jaotus.
- 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.