パート1:フルモデルの定義
ここでは、エンコーダ・デコーダモデルの最後のいくつかのレイヤーを実装します。Dense と TimeDistributed レイヤーを使って、エンコーダ・デコーダモデルの最終予測(つまり、予測されたフランス語の単語確率)を得ます。
これまでに実装したエンコーダとデコーダ(上位のレイヤーを除く)が用意されています。デコーダの GRU レイヤーの出力 de_out が与えられています。エンコーダ関連のものは接頭辞 en(例:en_gru)、デコーダ関連のものは接頭辞 de(例:de_gru)で表します。
この演習はコースの一部です
Kerasで学ぶMachine Translation
演習の手順
- Keras から
DenseとTimeDistributedレイヤーをインポートします。 - 出力が
fr_vocabのsoftmax活性化を持つDenseレイヤーを定義します。 - その
DenseレイヤーをTimeDistributedレイヤーで包みます。 de_outをde_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)