softmax_cross_entropy_with_logitsはsoftmax_cross_entropy_with_logits_v2とどう違うのですか?


41

具体的には、私はこの声明について疑問に思うだろう:

TensorFlowの将来のメジャーバージョンでは、デフォルトでbackpropのラベル入力に勾配が流れるようになります。

を使用すると表示されますtf.nn.softmax_cross_entropy_with_logits。同じメッセージの中で、それを見ることを促しますtf.nn.softmax_cross_entropy_with_logits_v2。私はドキュメントを調べましたが、それは次のことだけを述べていtf.nn.softmax_cross_entropy_with_logits_v2ます:

バックプロパゲーションは、ロジットとラベルの両方に発生します。ラベルへの逆伝播を禁止するには、この関数にフィードする前にstop_gradientsにラベルテンソルを渡します。

反対に、tf.nn.softmax_cross_entropy_with_logits「S:

バックプロパゲーションはロジットにのみ発生します。

件名が非常に新しいので(基本的なチュートリアルを進めようとしています)、これらのステートメントはあまり明確ではありません。私は逆伝播の浅い理解を持っていますが、前のステートメントは実際には何を意味しますか?バックプロパゲーションとラベルはどのように接続されていますか?そして、これtf.nn.softmax_cross_entropy_with_logits_v2はオリジナルとは対照的に私がどのように働くかをどのように変えますか?

回答:


56

教師付き学習ではラベルに逆伝播する必要がないため、混乱する理由があります。それらは固定グラウンドトゥルースと見なされ、それらに一致するように調整する必要があるのは重みのみです。

ただし、場合によっては、ラベル自体差別化可能なソースである別のネットワークからのものである可能性があります。一例は敵対学習です。この場合、両方のネットワークがエラー信号の恩恵を受ける可能性があります。それtf.nn.softmax_cross_entropy_with_logits_v2導入された理由です。ラベルがプレースホルダーである場合(これも一般的です)、グラデーションを適用する変数がないため、グラデーションが流れるかどうかに違いはありません。


5
ああ、私はまだ、教師あり学習を超えて、学ぶべきことがたくさんあります。基本的に私のラベルが最適化の対象になっていることを示さない限り(eiはそれらをtf.Variableとして保存する)、それらは触れられずsoftmax_..._with_logits_v2に動作しsoftmax_with_logitsますか?(または、labels変数でtf.stop_gradientを使用することもあります。)
クリスチャンエリクソン

3
はい、そうです。
マキシム

2
非常に明確で教育的、ありがとうございました!
ハイタオデュ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.