MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Definisikan layer linear pertama dan kedua serta aktivasi ReLU untuk kelas sublayer feed-forward, menggunakan d_model dan dimensi d_ff di antara layer.
  • Teruskan masukan melalui layer dan fungsi aktivasi dalam metode forward().
  • Instansiasi FeedForwardSubLayer menggunakan d_model dan d_ff yang disediakan (masing-masing diatur ke 512 dan 2048) 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}")
Edit dan Jalankan Kode