私はthis tutorialに行きました。最後のブロックでは、dynamic_rnn関数を適用して注目を計算することはできません。しかし私が理解していないのは、エンコーダーシンボルでうまくいく注意を見つけるためにデコーダの隠れた状態が必要なことだけです。テンソルフローのtf.nn.dynamic_rnnとtf.nn.raw_rnnの違いは何ですか?
1
A
答えて
0
エンコーダ/デコーダのコンテキストにおける注意の仕組みは、各時間ステップのデコーダがエンコーダの「有用な」部分に「参加」することを意味します。これは、例えば、エンコーダの出力を平均し、その値(コンテキストと呼ばれる)を所与の時間ステップでデコーダに供給することによって実現される。
dynamic_rnn
は、すべてのタイムステップでLSTMセルの出力を計算し、最終的な値を返します。したがって、時間ステップt
のセル状態は、以前のセルと入力の出力だけでなく、コンテキストなどの追加情報にも依存する必要があることをモデルに伝える方法はありません。 raw_rnn
を使用して、エンコーダまたはデコーダLSTMの各タイムステップで計算を制御できます。
私が正しく理解していれば、このチュートリアルでは、著者はグラウンドトゥルース入力を各タイムステップでの入力としてデコーダに送ります。しかし、これは通常のやり方ではありません。通常、時間でデコーダへの入力として時刻t
のデコーダの出力を供給したいとします。要するに、各時間ステップでのデコーダへの入力は可変であるのに対し、dynamic_rnn
ではそれはあらかじめ定義されている。
は、技術的な詳細についてを参照してください:エンコーダのhttps://arxiv.org/abs/1409.0473
関連する問題
- 1. テンソルフローの例では、stub.Predict.futureとstub.Predictの違いは何ですか?
- 2. テンソルフローでは、tf.addと演算子(+)の違いは何ですか?
- 3. テンソルフロー配信のSessionBundlePredictとSavedModelPredictの違いは何ですか?
- 4. テンソルフローの[[1,2,3,4]]とtf.constant([[1,2,3,4]]の違いは何ですか?
- 5. tf.nn.dynamic_rnnテンソルフロー関数の出力の解析
- 6. テンソルフロー:tf.nn.dropoutとtf.layers.dropoutの違いは何ですか?
- 7. 2つのテンソルフロー変数名の違いは何ですか?
- 8. tf.subとテンソルフローの動作をマイナスしたことの違いは何ですか?
- 9. テンソルフローとは何ですか?
- 10. デフォルトの分散テンソルフロー1.0のスパークにおけるテンソルフローの違いは何ですか?
- 11. MNISTテンソルフロー - 何が間違っているのか把握
- 12. $と$$の違いは何ですか?
- 13. `##`と `hashCode`の違いは何ですか?
- 14. typedefとの違いは何ですか?
- 15. NodeJS:「./ ..」と「..」の違いは何ですか?
- 16. {}())と{})の違いは何ですか?
- 17. `&`と `ref`の違いは何ですか?
- 18. `==`と `is`の違いは何ですか?
- 19. difftimeと ' - 'の違いは何ですか?
- 20. #{} $ {}と%{}の違いは何ですか?
- 21. ⊕と+の違いは何ですか?
- 22. アペンダーと〜の違いは何ですか?
- 23. "./"と "../"の違いは何ですか?
- 24. "$^N"と "$ +"の違いは何ですか?
- 25. %Qと%{}の違いは何ですか?
- 26. バックスティックと$()の違いは何ですか?
- 27. A`と ``の違いは何ですか[:] `
- 28. テンソルフローの資産は何ですか?
- 29. パッケージのインポートobjと何かの違いをインポートパッケージとPythonの何かの違いは何ですか?
- 30. テンソルフローでは、訓練可能な勾配と停止勾配の違いは何ですか?
隠れ状態は、注意メカニズム –
良いものに使用されています。それは私たちが一生懸命遊ぶ生のRNNのようなものです。新しい注意、メソッドのエンコードなど –