Middle — Senior
Multi-head diqqət haqqında ətraflı məlumat verin: Q/K/V nədir, diqqət çəkisi necə hesablanır, niyə bir neçə baş var.
sobes.tech Süni İntellekt
AI-dan cavab
Çox başlı diqqət — transformatorlarda əsas mexanizmdir və modelə giriş ardıcıllığının müxtəlif hissələrinə eyni zamanda diqqət yetirməyə imkan verir.
-
Q (Sorğu), K (Açar), V (Dəyər) — bunlar öyrədilə bilən xətti transformasiyalar vasitəsilə giriş məlumatlarından alınan üç matritsdir. Ardıcıllıqda hər bir mövqe üç vektora çevrilir:
- Sorğu — müvafiq məlumat axtarışında olan sorğu.
- Açar — sorğu ilə müqayisə olunan açar.
- Dəyər — sorğuya cavab olaraq qaytarılan dəyər.
-
Diqqət çəkisinin hesablanması:
- Hər bir mövqe cütlüyü üçün Query və Key arasında skalyar hasil hesablanır.
- Nəticə (adətən açarların ölçüsünün kvadrat kökü ilə bölünür) ölçüləndirilir, bu da gradientləri stabilləşdirir.
- Softmax tətbiq edilir və ehtimal paylanması alınır.
- Çəki, müvafiq Dəyərlərlə vurulur və nəticələr toplanır — bu diqqətin çıxışıdır.
-
Niyə çox baş (multi-head)? Bir neçə baş modelə müxtəlif "bucaqdan" məlumat görməyə imkan verir, yəni hər baş müxtəlif asılılıqları və naxışları öyrənir. Bu, modelin ifadə gücünü və keyfiyyətini artırır.
Sadələşdirilmiş nümunə:
# Hər baş üçün:
Q_i = X * W_Q_i
K_i = X * W_K_i
V_i = X * W_V_i
diqqət_çəkiləri = softmax((Q_i @ K_i.T) / sqrt(d_k))
çıxış_i = diqqət_çəkiləri @ V_i
# Bütün başların çıxışlarını birləşdiririk
çıxış = concat(çıxış_1, ..., çıxış_h) * W_O
Burada W_Q_i, W_K_i, W_V_i, W_O — öyrədilə bilən matritsələr, d_k — açarların ölçüsü və h — başların sayı.