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

Teacher Forcing मॉडल की लेयर्स परिभाषित करना

आप पहले परिभाषित किए गए मशीन ट्रांसलेशन मॉडल का एक नया और बेहतर संस्करण बनाएँगे। क्या आप जानते हैं कि Google Machine Translator जैसे मॉडल ने अपने मॉडल को ट्रेन करने के लिए इसी Teacher Forcing तकनीक का इस्तेमाल किया था?

जैसा कि आपने देखा, Teacher Forcing अपनाने के लिए आपके पिछले मॉडल में थोड़े बदलाव चाहिए। इस अभ्यास में, आप पिछले मॉडल में आवश्यक बदलाव करेंगे। आपको भाषा-संबंधी पैरामीटर्स दिए गए हैं: en_len और fr_len (पैड किए गए English/French वाक्यों की लंबाई), en_vocab और fr_vocab (English/French डेटासेट्स का vocabulary आकार) और hsize (GRU लेयर्स का hidden लेयर आकार)। याद रखें कि डिकोडर fr_len से एक कम आइटम वाला French sequence स्वीकार करेगा। साथ ही, हम एन्कोडर से जुड़ी चीज़ों के लिए उपसर्ग en और डिकोडर से जुड़ी चीज़ों के लिए de का उपयोग करते हैं।

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

Keras के साथ Machine Translation

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

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

  • tensorflow.keras से layers सबमॉड्यूल इम्पोर्ट करें।
  • एन्कोडर के आउटपुट और स्टेट वैल्यूज़ प्राप्त करें और उन्हें क्रमशः en_out और en_state में असाइन करें।
  • एक डिकोडर Input लेयर परिभाषित करें जो onehot एन्कोडेड French शब्दों के fr_len-1 लंबी sequence को स्वीकार करे।
  • fr_vocab नोड्स वाली softmax Dense लेयर को TimeDistributed के रूप में परिभाषित करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Import the layers submodule from keras
import ____.____.____ as layers

en_inputs = layers.Input(shape=(en_len, en_vocab))
en_gru = layers.GRU(hsize, return_state=True)
# Get the encoder output and state
____, ____ = en_gru(____)

# Define the decoder input layer
de_inputs = layers.____(shape=(____, ____))
de_gru = layers.GRU(hsize, return_sequences=True)
de_out = de_gru(de_inputs, initial_state=en_state)
# Define a TimeDistributed Dense softmax layer with fr_vocab nodes
de_dense = layers.____(____.____(____, activation=____))
de_pred = de_dense(de_out)
कोड संपादित करें और चलाएँ