始める無料で始める

パート1:フルモデルの定義

ここでは、エンコーダ・デコーダモデルの最後のいくつかのレイヤーを実装します。DenseTimeDistributed レイヤーを使って、エンコーダ・デコーダモデルの最終予測(つまり、予測されたフランス語の単語確率)を得ます。

これまでに実装したエンコーダとデコーダ(上位のレイヤーを除く)が用意されています。デコーダの GRU レイヤーの出力 de_out が与えられています。エンコーダ関連のものは接頭辞 en(例:en_gru)、デコーダ関連のものは接頭辞 de(例:de_gru)で表します。

この演習はコースの一部です

Kerasで学ぶMachine Translation

コースを見る

演習の手順

  • Keras から DenseTimeDistributed レイヤーをインポートします。
  • 出力が fr_vocabsoftmax 活性化を持つ Dense レイヤーを定義します。
  • その Dense レイヤーを TimeDistributed レイヤーで包みます。
  • de_outde_dense_time レイヤーに渡して、モデルの最終予測を取得します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Import Dense and TimeDistributed layers
from tensorflow.keras.____ import ____, ____
# Define a softmax dense layer that has fr_vocab outputs
de_dense = ____(____, ____)
# Wrap the dense layer in a TimeDistributed layer
de_dense_time = ____(de_dense)
# Get the final prediction of the model
de_pred = ____(de_out)
print("Prediction shape: ", de_pred.shape)
コードを編集して実行