3

シーケンスからシーケンスへの学習用のエンコーダー/デコーダー モデルを実装したいと考えています。

Encoder は入力シーケンスを単語ごとに読み取り、その非表示状態を更新します。

Decoder は、encoder の隠し状態を使用して、その隠し状態を初期化します。次に、最後に生成された出力 (y(t-1)) とその隠れ状態に関する出力を生成します。特殊な出力 () が生成されたら、この手順を停止したいと考えています。実際、さまざまな長さの出力を生成できるようにしたいと考えています。Tensorflowでそれを行うにはどうすればよいですか?

4

1 に答える 1

1

sequence_lengthof のようなものが欲しいと思いますtf.nn.rnn。私も欲しいのですが、TensorFlowにはないようです。

私がこれまで行ってきたことで、この制限を回避する良い方法を見つけたのは、トレーニング時にデコーダー ラベルを EOS シンボルでパディングすることです。通常、これらのうちの 1 つだけが必要ですが、多くの情報を入力しても害はありません。

実行時に、各反復を手動で制御して最初の EOS が生成されたときに停止するか、定義済みの数のタイム ステップを実行してから余分な EOS シンボルを出力から削除します。デコーダーは、最初の EOS の後、次の EOS しか続かない可能性があることをすぐに学習します。

于 2016-03-11T01:17:20.387 に答える