問題タブ [cross-entropy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tensorflow - テンソルフローでの交差エントロピー計算前のマスキング確率
私は環境のアクション空間が状態に依存する強化学習環境にいます。その結果、動作アクションをサンプリングするときに次の手順を実行します。
(1) 可能なすべてのアクションの確率ロジットを生成する
(2) これらのロジットでソフトマックスを計算します
(3) この状態では有効でないアクションをマスクし (0 と 1 のベクトルを乗算することにより)、確率の一部をゼロにします。
(4) 有効なアクションの確率を再正規化します
(5) この分布からのサンプル
これは、アクションの生成に最適です。ただし、ポリシー勾配の更新を計算する必要があるときに問題が発生します。通常、次のことを行います。
ここで、ロジットは確率ロジットで、A はサンプリングされたアクションです。しかし、ソフトマックスを実行した後にこのマスキング/再正規化を行うため、上記のコード スニペットは私の場合、正しいクロス エントロピーではありません。この状況を処理するための優雅な方法があるかどうか疑問に思っています。私の理解では、数値安定性のために常にテンソルフローのクロスエントロピー計算を使用する必要がありますが、このマスキング/再正規化を正しく組み込む方法がわかりません。
tensorflow - 新しい関数 tf.nn.softmax_cross_entropy_with_logits_v2 の理由は何ですか?
Tensorflow には素晴らしい機能があります。
tf.nn.softmax_cross_entropy_with_logits
後で別の関数が表示されます。
tf.nn.softmax_cross_entropy_with_logits_v2
この新しい機能の理由は何ですか?
以前の関数 Tensorflow を使用している間、
TensorFlow の将来のメジャー バージョンでは、デフォルトで勾配が backprop のラベル入力に流れ込むことが許可されます。
tf.nn.softmax_cross_entropy_with_logits_v2 を参照してください。
私はそれが実際に何を意味するのか理解していません。ただし、関数の定義は同じです。
ドキュメンテーションは私の頭の上にあるようなものです(それらも同じようなものです)。より良い説明はありますか?