Kom igångKom igång gratis

Feed-forward-dellager

Feed-forward-dellager omvandlar uppmärksamhetens utdata till abstrakta, icke-linjära representationer för att bättre fånga komplexa samband.

I den här övningen skapar du ett FeedForwardSubLayer för din encoder-only-transformer. Lagret består av två linjära lager med en ReLU-aktiveringsfunktion däremellan. Det tar också emot två parametrar, d_model och d_ff, som representerar dimensionaliteten hos indatainbäddningarna respektive dimensionen mellan de linjära lagren.

d_model och d_ff är redan tillgängliga för dig att använda.

Den här övningen är en del av kursen

Transformermodeller med PyTorch

Visa kurs

Övningsinstruktioner

  • Definiera det första och andra linjära lagret samt ReLU-aktiveringen för feed-forward-dellagrets klass, med hjälp av d_model och en dimension d_ff mellan lagren.
  • Skicka indata genom lagren och aktiveringsfunktionen i metoden forward().
  • Instansiera FeedForwardSubLayer med de angivna värdena för d_model och d_ff (satta till 512 respektive 2048) och applicera det på indatainbäddningarna, x.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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}")
Redigera och kör kod