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नोड्स वाली softmaxDenseलेयर को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)