Middle — Senior
Multi-head dikkat hakkında detaylı bilgi verin: Q/K/V nedir, dikkat ağırlıkları nasıl hesaplanır, neden birkaç başlık var.
sobes.tech yapay zeka
AI'dan gelen yanıt
Çok-Kafa Dikkat — dönüştürücülerde anahtar bir mekanizmadır ve modelin giriş dizisinin farklı bölümlerine aynı anda odaklanmasını sağlar.
-
Q (Sorgu), K (Anahtar), V (Değer) — bunlar, eğitilebilir doğrusal dönüşümler kullanılarak giriş verilerinden elde edilen üç matristir. Dizideki her pozisyon üç vektöre dönüştürülür:
- Sorgu — ilgili bilgiyi arayan sorgu.
- Anahtar — sorgu ile karşılaştırılan anahtar.
- Değer — sorguya yanıt olarak döndürülen değer.
-
Dikkat ağırlıklarının hesaplanması:
- Her pozisyon çifti için Query ve Key arasındaki skalar çarpım hesaplanır.
- Sonuç (genellikle anahtarların boyutunun kareköküne bölünerek) ölçeklendirilir, böylece gradyanlar stabilize edilir.
- Softmax uygulanır ve olasılık dağılımı elde edilir.
- Ağırlıklar, karşılık gelen değerlere çarpılır ve sonuçlar toplanır — bu, dikkat çıkışıdır.
-
Neden çok baş (multi-head)? Birden fazla baş, modelin farklı "bakış açıları"ndan bilgi görmesine izin verir, yani her baş farklı bağımlılıkları ve desenleri öğrenir. Bu, modelin ifade gücünü ve kalitesini artırır.
Basitleştirilmiş örnek:
# Her baş için:
Q_i = X * W_Q_i
K_i = X * W_K_i
V_i = X * W_V_i
Dikkat_ ağırlıkları = softmax((Q_i @ K_i.T) / sqrt(d_k))
Çıkış_i = dikkat_ ağırlıkları @ V_i
# Tüm başların çıkışlarını birleştir
çıktı = concat(çıktı_1, ..., çıktı_h) * W_O
Burada W_Q_i, W_K_i, W_V_i, W_O eğitilebilir matrislerdir, d_k anahtarların boyutudur ve h baş sayısıdır.