BaşlayınÜcretsiz Başlayın

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ır
Kursu Görüntüle

Egzersiz talimatları

  • tensorflow.keras içinden layers alt modülünü içe aktar.
  • Encoder çıktı ve durum değerlerini alarak sırasıyla en_out ve en_state değişkenlerine ata.
  • fr_len-1 uzunluğunda, one-hot kodlanmış Fransızca kelimelerden oluşan bir diziyi kabul eden bir decoder Input katmanı tanımla.
  • fr_vocab düğüme sahip softmax’lı bir TimeDistributed Dense katmanı 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)
Kodu Düzenle ve Çalıştır