Teacher Forcing model katmanlarını tanımlama
Daha önce tanımladığın makine çevirisi modelinin yeni ve geliştirilmiş bir sürümünü tanımlayacaksın. Google Machine Translator gibi modellerin, modellerini eğitmek için Teacher Forcing tekniğini kullandığını biliyor muydun?
Zaten gördüğün gibi, önceki modelinin Teacher Forcing’i benimsemesi için küçük değişiklikler gerekiyor. Bu egzersizde, önceki modele gerekli güncellemeleri yapacaksın. Sana dil parametreleri olarak en_len ve fr_len (dolgulu İngilizce/Fransızca cümlelerin uzunluğu), en_vocab ve fr_vocab (İngilizce/Fransızca veri kümelerinin kelime dağarcığı boyutu) ve hsize (GRU katmanlarının gizli katman boyutu) verildi. Decoder’ın, fr_len’den bir eksik uzunlukta bir Fransızca diziyi kabul edeceğini unutma. Encoder ile ilgili şeyler için en, decoder ile ilgili şeyler için de önekini kullandığımızı hatırla.
Bu egzersiz
Keras ile Machine Translation
kursunun bir parçasıdırEgzersiz talimatları
tensorflow.kerasiçindenlayersalt modülünü içe aktar.- Encoder çıktı ve durum değerlerini alarak sırasıyla
en_outveen_statedeğişkenlerine ata. fr_len-1uzunluğunda, one-hot kodlanmış Fransızca kelimelerden oluşan bir diziyi kabul eden bir decoderInputkatmanı tanımla.fr_vocabdüğüme sahip softmax’lı birTimeDistributedDensekatmanı tanımla.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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)