İleri beslemeli alt katmanlar
İleri beslemeli alt katmanlar, dikkat mekanizmasının çıktısını karmaşık ilişkileri daha iyi yakalamak için soyut, doğrusal olmayan temsillere dönüştürür.
Bu egzersizde, yalnızca kodlayıcıdan oluşan transformer'ın için bir FeedForwardSubLayer oluşturacaksın. Bu katman, arasında ReLU aktivasyon fonksiyonu bulunan iki doğrusal katmandan oluşacak. Ayrıca, sırasıyla giriş gömlemelerinin boyutunu ve doğrusal katmanlar arasındaki boyutu temsil eden d_model ve d_ff olmak üzere iki parametre alır.
d_model ve d_ff senin için hazır durumda.
Bu egzersiz
PyTorch ile Transformer Modelleri
kursunun bir parçasıdırEgzersiz talimatları
d_modelve katmanlar arasında bird_ffboyutu kullanarak, ileri beslemeli alt katman sınıfı için birinci ve ikinci doğrusal katmanları ve ReLU aktivasyonunu tanımla.forward()metodunda girdiyi katmanlar ve aktivasyon fonksiyonundan sırayla geçir.- Sağlanan
d_modelved_ffdeğerlerini (sırasıyla512ve2048olarak ayarlı) kullanarakFeedForwardSubLayerörneğini oluştur ve giriş gömlemelerixüzerine uygula.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
class FeedForwardSubLayer(nn.Module):
def __init__(self, d_model, d_ff):
super().__init__()
# Define the layers and activation
self.fc1 = ____
self.fc2 = ____
self.relu = ____
def forward(self, x):
# Pass the input through the layers and activation
return self.____(self.____(self.____(x)))
# Instantiate the FeedForwardSubLayer and apply it to x
feed_forward = ____
output = ____
print(f"Input shape: {x.shape}")
print(f"Output shape: {output.shape}")