2017-03-29 22 views
3

ダイナミックRNN(すなわちdynamic_rnn)が何であるか混乱しています。 TensorFlowでの出力の状態を返します。これらの状態と出力は何ですか? TensorFlowのダイナミックRNNでダイナミックなのは何ですか?TensorFlowのダイナミックRNNとは何ですか?

答えて

5

ダイナミックRNNは可変シーケンス長を可能にします。入力形状が(batch_size, max_sequence_length)の場合がありますが、max_sequence_lengthより短いシーケンスで正しいタイムステップ数のRNNを実行することができます。

これに対して、固定RNNの長さ全体を実行することを期待する静的RNNがあります。とにかく入力をmax_sequence_lengthに埋め込んでいるような場合があります。

簡潔に言えば、dynamic_rnnは、通常、可変長の順次データに対して必要なものです。それはsequence_lengthパラメータを持ち、あなたの友人です。

+1

状態と出力は何ですか?説明できますか? – xlax

1

AlexDelPieroの答えは私が探していたものでしたが、元の質問は異なっていました。 LSTMとその背後の直感についてのこの詳細な説明を見ることができます。 LSTMはRNNの最も一般的な例です。

http://colah.github.io/posts/2015-08-Understanding-LSTMs/

短い答えは次のとおりです。状態は別の時間ステップから渡された内部の詳細です。出力は、各タイムステップでのテンソルの出力です。通常は、すべての出力を次のRNNレイヤに渡すか、最後のRNNレイヤの最終出力に渡す必要があります。最後の出力を得るには、出力[:、 - 1、:]を使用できます。

関連する問題