BaşlayınÜcretsiz Başlayın

MultiHeadAttentionClass'e Başlama

Artık belirteç gömmeleri ve konumsal gömmeler oluşturmak için sınıfları tanımladığına göre, sıra çok başlı attention için bir sınıf tanımlamaya geldi. Başlamak için, attention hesaplamasında kullanılacak parametreleri ve girdi gömmelerini sorgu (query), anahtar (key) ve değer (value) matrislerine dönüştüren doğrusal katmanları, ayrıca birleştirilmiş attention ağırlıklarını yeniden gömmelere yansıtacak bir katmanı ayarla.

torch.nn, nn olarak içe aktarılmış durumda.

Bu egzersiz

PyTorch ile Transformer Modelleri

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Her bir attention başının işleyeceği gömme boyutunu (head_dim) hesapla.
  • Üç girdi katmanını (query, key ve value için) ve bir çıktı katmanını tanımla; girdi katmanlarından bias parametresini kaldır.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

class MultiHeadAttention(nn.Module):
    def __init__(self, d_model, num_heads):
        super().__init__()
        # Calculate the dimensions each head will process
        self.num_heads = num_heads
        self.d_model = d_model
        self.head_dim = ____
        # Define the three input layers and one output layer
        self.query_linear = nn.Linear(____, ____, bias=False)
        self.key_linear = nn.Linear(____)
        self.value_linear = ____
        self.output_linear = ____
Kodu Düzenle ve Çalıştır