Sublayer feed-forward
Sublayer feed-forward memetakan keluaran attention ke representasi nonlinier yang lebih abstrak untuk menangkap hubungan yang kompleks dengan lebih baik.
Dalam latihan ini, Anda akan membuat FeedForwardSubLayer untuk transformer bertipe encoder-only. Layer ini terdiri atas dua layer linear dengan fungsi aktivasi ReLU di antaranya. Layer ini juga menerima dua parameter, d_model dan d_ff, yang masing-masing merepresentasikan dimensi embedding masukan dan dimensi di antara layer linear.
d_model dan d_ff sudah tersedia untuk Anda gunakan.
Latihan ini adalah bagian dari kursus
Model Transformer dengan PyTorch
Petunjuk latihan
- Definisikan layer linear pertama dan kedua serta aktivasi ReLU untuk kelas sublayer feed-forward, menggunakan
d_modeldan dimensid_ffdi antara layer. - Teruskan masukan melalui layer dan fungsi aktivasi dalam metode
forward(). - Instansiasi
FeedForwardSubLayermenggunakand_modeldand_ffyang disediakan (masing-masing diatur ke512dan2048) lalu terapkan pada embedding masukan,x.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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}")