Začněte nyníZačněte zdarma

Feed-forward podvrstvy

Feed-forward podvrstvy mapují výstupy attention mechanismu do abstraktních nelineárních reprezentací, aby lépe zachytily složité vztahy.

V tomto cvičení vytvoříš FeedForwardSubLayer pro svůj encoder-only transformer. Tato vrstva se skládá ze dvou lineárních vrstev s aktivační funkcí ReLU mezi nimi. Přijímá také dva parametry, d_model a d_ff, které představují dimenzionalitu vstupních embeddingů a dimenzi mezi lineárními vrstvami.

d_model a d_ff jsou pro tebe již připraveny.

Toto cvičení je součástí kurzu

Transformer Models with PyTorch

Zobrazit kurz

Pokyny k cvičení

  • Definuj první a druhou lineární vrstvu a aktivační funkci ReLU pro třídu feed-forward podvrstvy s použitím d_model a dimenze d_ff mezi vrstvami.
  • Předej vstup vrstvami a aktivační funkcí v metodě forward().
  • Vytvoř instanci FeedForwardSubLayer s použitím zadaných hodnot d_model a d_ff (nastavených na 512, resp. 2048) a aplikuj ji na vstupní embeddingy x.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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}")
Upravit a spustit kód