Özet - Attention
- Makine Öğrenmesi kursu
- Uzman
- Ders 6/44
- 6 dk
Bu grupta self-attention, QKV ve multi-head attention'ı öğrendin.
Özet: attention
Bu grupta:
- Attention, skorların softmax ağırlıklarıyla değerlerin ağırlıklı ortalamasını alır.
- Öz-dikkatte her eleman tüm dizine bakar; maliyet n² ile büyür.
- Q, K, V ayrı öğrenilen dönüşümlerdir: skor q·k, taşınan bilgi v.
- Ölçekli nokta çarpım:
softmax(QKᵀ/√d_k) V; ölçekleme softmax doygunluğunu önler. - Çok başlı dikkat temsili h başa böler, farklı ilişkileri paralel öğrenir.
Uygulama PyTorch ile karşılaştır
NumPy'daki attention fonksiyonunu yaz. Verilen küçük Q, K, V için sonucu np.round(..., 4) ile yazdır. Ardından elle hesapladığın ilk satırın softmax([1/√2, 1/√2]) @ V[:, 0] ve @ V[:, 1] olduğunu, yani [5, 5] çıktığını kontrol et: np.allclose(Y[0], [5, 5]) sonucunu yazdır.
Başlangıç kodu
import numpy as np
def softmax(z, eksen=-1):
e = np.exp(z - z.max(axis=eksen, keepdims=True))
return e / e.sum(axis=eksen, keepdims=True)
Q = np.array([[1., 1.], [2., 0.]])
K = np.array([[1., 0.], [0., 1.]])
V = np.array([[10., 0.], [0., 10.]])
# buraya yazÖrnek çözüm
import numpy as np
def softmax(z, eksen=-1):
e = np.exp(z - z.max(axis=eksen, keepdims=True))
return e / e.sum(axis=eksen, keepdims=True)
Q = np.array([[1., 1.], [2., 0.]])
K = np.array([[1., 0.], [0., 1.]])
V = np.array([[10., 0.], [0., 10.]])
def attention(Q, K, V):
A = softmax(Q @ K.T / np.sqrt(Q.shape[-1]), eksen=-1)
return A @ V
Y = attention(Q, K, V)
print(np.round(Y, 4))
print(np.allclose(Y[0], [5, 5]))Beklenen çıktı
[[5. 5. ] [8.0443 1.9557]] True
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Dizi uzunluğu 4 katına çıkarsa öz-dikkatin hesap maliyeti yaklaşık kaç katına çıkar?
- 16 Doğru cevap
- 4
- 2
- 64
Açıklama: Maliyet n²'dir: 4² = 16.
2 Transformer dikkat formülünü tamamla.
Y = softmax(Q @ K.T / np.sqrt(d_k)) ____ V
Y = softmax(Q @ K.T / np.sqrt(d_k)) @ V
Açıklama: Ağırlıklar değerlerle matris çarpımına girer.
3 Kavramları eşleştir.
| Kavram | Anlamı |
|---|---|
QKᵀ |
Benzerlik skorları |
√d_k |
Ölçek |
softmax |
Satır olasılıkları |
çok başlı |
Paralel ilişkiler |