始める無料で始める

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

Google Neural Machine Translator のあるバリアントは、英仏翻訳タスクだけでも学習に約6日、96個のGPUを要したことをご存知でしたか。

この演習では、これと似ていますが、ずっとシンプルなエンコーダ・デコーダ型のニューラル機械翻訳モデルを定義します。具体的には、これまでに定義した入出力を使って Keras の Model オブジェクトを作成し、指定された損失関数とオプティマイザでコンパイルします。

ここでは、すでに定義済みの en_inputs(エンコーダの入力層)、en_outen_state(エンコーダ GRU の出力)、de_out(デコーダ GRU の出力)、de_pred(デコーダの予測)が提供されています。

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

Kerasで学ぶMachine Translation

コースを見る

演習の手順

  • en_inputs を入力、デコーダの予測(de_pred)を出力とする Keras の Model を定義します。
  • 定義したモデルに対して <model>.compile を呼び出し、オプティマイザに 'adam'、損失にクロスエントロピー、評価指標に精度(acc)を指定してコンパイルします。
  • モデルのサマリーを表示します。

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

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

from tensorflow.keras.models import Model
# Define a model with encoder input and decoder output
nmt = ____(____=____, outputs=____)

# Compile the model with an optimizer and a loss
nmt.____(optimizer=____, ____='categorical_crossentropy', metrics=[____])

# View the summary of the model 
nmt.____()
コードを編集して実行