Sobes.tech
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:

    1. Katram pozīciju pārim tiek aprēķināts skalarais reizinājums starp Query un Key.
    2. Rezultāts tiek skaliņots (parasti dalīts ar sakni no atslēgu dimensijas), lai stabilizētu gradientus.
    3. Tiek piemērots softmax, lai iegūtu varbūtības sadalījumu svariem.
    4. 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.