1. 学ぶ
  2. /
  3. コース
  4. /
  5. Kerasで学ぶMachine Translation

Connected

演習

推論モデルのデコーダを定義する

推論モデルは、ユーザーから翻訳が求められたときに実際に動かすモデルです。この演習では、推論モデルのデコーダを実装します。

推論モデルのデコーダは、学習時のデコーダとは異なります。予測したい対象がフランス語の単語なので、学習時のようにフランス語の単語をデコーダへ入力することはできません。そこで、前のタイムステップで予測したフランス語の単語を、次の入力としてデコーダに与える方法を使います。したがって翻訳を生成するとき、デコーダは前の出力を入力として取り込みながら、1語ずつ生成していく必要があります。

この演習では、hsize(GRU レイヤーの隠れ状態サイズ)、fr_len、fr_vocab がインポート済みです。de という接頭辞はデコーダを指すことを思い出してください。

指示

100 XP
  • ワンホットエンコードされたフランス語の単語列(シーケンス長 1)のバッチを受け取る Input レイヤーを定義します。
  • 以前の状態をデコーダに与えるため、hsize の状態ベクトルのバッチを受け取る別の Input レイヤーを定義します。
  • デコーダの GRU の出力と状態を取得します。
  • フランス語単語の Input と前の状態の Input を受け取り、最終的な予測と新しい GRU の状態を出力するモデルを定義します。