tensorflow.contrib.seq2seq
のAttentionWrapper
では、attention_layer_size
のドキュメントに記載されている「深さ」とは何ですか?値がNone
であればドキュメントが「注意をコンテキストとして使用する」と言いますが、「コンテキスト」は何を意味していますか?TensorFlow Attentionラッパーのレイヤーサイズの明確化
答えて
Neural Machine Translation by Jointly Learning to Align and Translateには、(Bahdanau)アテンションメカニズムの説明があります。基本的には、コード化された入力シーケンスの各要素が特定の瞬間にどれほど重要であるかを示すスカラの「整列スコア」a_1, a_2, ..., a_n
を計算することです(つまり、入力文のどの部分を現在のタイムステップ)。
"注意を払う"/"参加する"入力シーケンスがe_1, e_2, ..., e_n
と表示されたベクトルシーケンスであると仮定すると、所定のタイムステップでのコンテキストベクトルは、あなたのアライメントスコアで:
context = c := (a_1*e_1) + (a_2*e_2) + ... + (a_n*e_n)
(a_k
年代がスカラーであることを忘れないでください。あなたのモデルならば、あなたはとても理想的な---あなたの文章中の 『平均化』の文字/単語と考えることができます文脈はよく練習されていますが、文脈は最もよく耳を傾けたいと思うe_i
に最も似ていますが、少し似ています直感的に、attention_layer_size
はないNone
であれば、
とにかく)...それはどんな意味がある場合は、「不鮮明アウト」input要素を考え、それが中に隠れユニットの数を指定するなどe_{i-1}
、e_{i+1}
、このコンテキストベクトルをデコーダの内部RNNセルの出力と混合して注意値を得るために使用される、デコーダ内のフィードフォワード層。 attention_layer_size == None
の場合は、上のコンテキストベクトルを注意値として使用するだけで、内部RNNセルの出力はミックスされません。 (私が「混合」と言うときは、コンテキストベクトルとRNNセルの出力が連結され、次にattention_layer_size
を設定することで指定した次元に投影されます)。
実装の関連部分はthis lineです。計算方法についての説明。
希望に役立ちます!
- 1. TensorFlowのdynamic_decodeの明確化sample_ids
- 2. Tensorflowオートコードコードの明確化とカスタムテストデータ
- 3. Tensorflowのテンソルの形状とマットムの明確化
- 4. Tensorflow:レイヤーサイズはバッチサイズに依存しますか?
- 5. マージソートトレースの明確化
- 6. リアクションの明確化
- 7. setDispatched()の明確化
- 8. MySQLの明確化
- 9. マイクロサービスアーキテクチャの明確化
- 10. オーバーロードの明確化
- 11. コマンドパターンの明確化
- 12. ワードセンス明確化
- 13. 明確化
- 14. 明確化::フェッチ()
- 15. 明確化レイアウト
- 16. 明確化
- 17. iOS:UITableView明確化
- 18. 明確化
- 19. 明確化
- 20. 明確化は
- 21. 明確化 - DBMS
- 22. 明確化
- 23. Angular2明確化
- 24. 明確化
- 25. Twitterのログインの明確化
- 26. Javascriptのイベントループの明確化
- 27. LuceneのIndexWriterの明確化
- 28. マングースのドキュメントの明確化
- 29. SqlCommandのパラメータの明確化
- 30. DNS CNAMEレコードの明確化
これは非常に役に立ちました!私が2つのフォローアップの質問をすることができれば、(1)推奨されるattention_layer_sizeはありますか? (2)連結と射影をいつ使用するのか、コンテキストベクトルだけを使用するのか、いくつかの直感を提供できますか? –
私は 'attention_layer_size'を数百の隠れユニットの順番で良い結果を出す前に設定しましたが、それは手近な作業に依存しています(私は一般的に、隠れユニットが多数ある場合に最初にオーバーフィットし、検証セットのパフォーマンスを良好に保ちながら取得できるレベルにまで低下します)。 FWIW、ニューラル・マシンの翻訳紙には、何百というものがあります(実際には、混合はフィードフォワードNNよりもマトリックス投影法のほうが、活性化されていないので、上記のやや間違っています)。 私は一般にコンテキストとRNNの両方の出力を使用します。 – ptsw
申し訳ありません、ありがとうございます!私は私のシーケンスをシーケンスモデルにデバッグするのに苦労しています。あなたはこの分野での経験があるように聞こえるので、私はあなたに電子メールを送れますか? –