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

    1. Her pozisyon çifti için Query ve Key arasındaki skalar çarpım hesaplanır.
    2. Sonuç (genellikle anahtarların boyutunun kareköküne bölünerek) ölçeklendirilir, böylece gradyanlar stabilize edilir.
    3. Softmax uygulanır ve olasılık dağılımı elde edilir.
    4. 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.