ПочатиПочніть безкоштовно

Підшари feed-forward

Підшари feed-forward відображають виходи механізму уваги у абстрактні нелінійні подання, щоб краще схоплювати складні взаємозв'язки.

У цій вправі ви створите FeedForwardSubLayer для трансформера лише з енкодером. Цей шар складатиметься з двох лінійних шарів із функцією активації ReLU між ними. Він також приймає два параметри, d_model і d_ff, які відповідають за розмірність вхідних вкладень і розмірність між лінійними шарами відповідно.

d_model і d_ff уже доступні для використання.

Ця вправа є частиною курсу

Моделі Transformer з PyTorch

Переглянути курс

Інструкції до вправи

  • Визначте перший і другий лінійні шари та активацію ReLU для класу підшару feed-forward, використовуючи d_model і розмірність d_ff між шарами.
  • Пропустіть вхідні дані через шари та функцію активації в методі forward().
  • Створіть екземпляр FeedForwardSubLayer, використовуючи надані d_model і d_ff (встановлені на 512 і 2048 відповідно), і застосуйте його до вхідних вкладень x.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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}")
Редагувати та запускати код