शुरू करेंमुफ़्त में शुरू करें

फीड-फॉरवर्ड सबलेयर्स

फीड-फॉरवर्ड सब-लेयर्स ध्यान (attention) के आउटपुट को अमूर्त, नॉन-लीनियर रिप्रेज़ेंटेशंस में मैप करते हैं ताकि जटिल रिश्तों को बेहतर तरीके से कैप्चर किया जा सके.

इस अभ्यास में, आप अपने encoder-only ट्रांसफॉर्मर के लिए एक FeedForwardSubLayer बनाएँगे. यह लेयर दो लीनियर लेयर्स से बनी होगी, जिनके बीच ReLU एक्टिवेशन फंक्शन होगा. यह दो पैरामीटर भी लेती है, d_model और d_ff, जो क्रमशः इनपुट एम्बेडिंग्स की डाइमेंशनलिटी और लीनियर लेयर्स के बीच की डाइमेंशन को दर्शाते हैं.

d_model और d_ff पहले से उपलब्ध हैं, आप इन्हें उपयोग कर सकते हैं.

यह अभ्यास पाठ्यक्रम का हिस्सा है

PyTorch के साथ Transformer Models

पाठ्यक्रम देखें

अभ्यास निर्देश

  • d_model और लेयर्स के बीच की डाइमेंशन d_ff का उपयोग करते हुए, फीड-फॉरवर्ड सबलेयर क्लास के लिए पहला और दूसरा लीनियर लेयर तथा ReLU एक्टिवेशन परिभाषित करें.
  • forward() मेथड में, इनपुट को लेयर्स और एक्टिवेशन फंक्शन से क्रम में पास करें.
  • दिए गए d_model और d_ff (क्रमशः 512 और 2048) का उपयोग करके FeedForwardSubLayer को इंस्टैंशिएट करें और इसे इनपुट एम्बेडिंग्स 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}")
कोड संपादित करें और चलाएँ