前回の記事では、翻訳が行われる様子を見ました。
しかし、問題があります。
デコーダ はEOSトークンを出力するまで停止しません。
そこで、単語 「Vamos」 をデコーダの展開(unrolled)された埋め込み層に差し込み、各層にある2つのLSTMセルを展開します。
そして、出力値(短期記憶、または隠れ状態)を同じ全結合(fully connected)層に通します。
次に予測されるトークンは EOS です。
デコーダはどのように動作するか
つまりここまでで、英語の文 「let’s go」 を正しいスペイン語の文に翻訳できたことになります。
デコーダでは、エンコーダの展開されたLSTMセルの2つの層の両方によって作られる コンテキストベクトル が、デコーダ内のLSTMを初期化するために使われます。
LSTMへの入力は、出力側の単語埋め込み層から来ます。この層は EOS から始まります。その後は、出力層によって予測された単語を使います。
実際には、デコーダは EOSトークン を予測するか、何らかの最大出力長に到達するまで、単語の予測を続けます。
これらの重みとバイアスはすべて バックプロパゲーション によって学習されます。
エンコーダ・デコーダモデルを学習する際は、デコーダLSTMへの入力として予測トークンを使う代わりに、正解として分かっているトークンを使います。これは 教師強制(teacher forcing) と呼ばれます(この記事で説明しています)。
次に何をするか
以上が、シーケンス・ツー・シーケンスのニューラルネットワークについてです。
次の記事では、ニューラルネットワークの アテンション機構 について続けます。
もっと簡単にツール、ライブラリ、あるいはリポジトリ全体をインストールしたいですか?
Installerpedia を試してみてください: コミュニティ主導で、構造化されたインストールプラットフォーム で、最小限の手間 と 明確で信頼できるガイダンス によって、ほぼ何でもインストールできます。
次のように実行するだけです:
ipm install repo-name
… で完了です!





