Seq2Seqニューラルネットワークを理解する—第8回:デコーダはいつ停止するのか?

Dev.to / 2026/3/26

💬 オピニオンIdeas & Deep AnalysisModels & Research

要点

  • seq2seqモデルのデコーダは、固定のステップ数で停止するのではなく、EOS(end-of-sequence:終端)トークンを出力するまでトークンの生成を続けます。
  • 生成の各ステップでは、現在の予測トークン(その埋め込み)を、展開(unroll)されたLSTMセルに入力し、その結果得られた隠れ状態を用いて、同じ全結合層により次のトークンを予測します。
  • 実際には、無限生成を防ぐために、最大出力長に到達した時点でデコードを停止することもあります。
  • 学習時には teacher forcing を用います。つまり、デコーダへの入力として、前に自分が予測したトークンではなく、正解として知られているトークンを与えることで、バックプロパゲーションによる学習を安定化し、導きます。
  • この記事はこの seq2seq シリーズを締めくくり、次の話題として注意機構(attention mechanism)の導入を予告します。

前回の記事では、翻訳が行われる様子を見ました。

しかし、問題があります。

デコーダ は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

… で完了です!

Installerpedia Screenshot

Installerpedia をこちらで確認

Seq2Seqニューラルネットワークを理解する—第8回:デコーダはいつ停止するのか? | AI Navigate