Middle — Senior
Sīkāk izskaidrojiet daudzgalvaino uzmanību: kas ir Q/K/V, kā tiek aprēķināti uzmanības svari, kāpēc ir vairākas galvas.
sobes.tech AI
Atbilde no AI
Daudzgalvas uzmanība — tas ir galvenais mehānisms transformatoros, kas ļauj modelim vienlaikus koncentrēties uz dažādām ievades secības daļām.
-
Q (Jautājums), K (Atslēga), V (Vērtība) — tie ir trīs matricu kopumi, kas iegūti no ievades datiem ar mācāmiem lineāriem pārveidojumiem. Katra pozīcija secībā tiek pārveidota par trim vektoriem:
- Jautājums — vaicājums, kurā meklēta atbilstoša informācija.
- Atslēga — atslēga, ar kuru salīdzina jautājumu.
- Vērtība — vērtība, kas tiek atgriezta kā atbilde uz jautājumu.
-
Uzmanības svaru aprēķins:
- Katram pozīciju pārim tiek aprēķināts skalarais reizinājums starp Query un Key.
- Rezultāts tiek skaliņots (parasti dalīts ar sakni no atslēgu dimensijas), lai stabilizētu gradientus.
- Tiek piemērots softmax, lai iegūtu varbūtības sadalījumu svariem.
- Svari tiek reizināti ar atbilstošajām Vērtībām, un rezultāti saskaitīti — tas ir uzmanības izeja.
-
Kāpēc vairākas galvas (multi-head)? Daudz galvu ļauj modelim skatīties uz informāciju no dažādiem "skata leņķiem", tas ir, katra galva mācās izcelt dažādas atkarības un modeļus datos. Tas palielina izteiksmīgumu un modeļa kvalitāti.
Vienkāršots piemērs:
# Katrai galvai:
Q_i = X * W_Q_i
K_i = X * W_K_i
V_i = X * W_V_i
uzmanības_svari = softmax((Q_i @ K_i.T) / sqrt(d_k))
izeja_i = uzmanības_svari @ V_i
# Visu galvu izeju apvienošana
izeja = concat(izeja_1, ..., izeja_h) * W_O
Kur W_Q_i, W_K_i, W_V_i, W_O — mācāmas matricas, d_k — atslēgu dimensija, un h — galvu skaits.