2016-04-11 21 views
5

this tutorialで示されているマルチラベル分類問題に対してシグモイドクロスエントロピー損失関数を使用しています。しかし、チュートリアルと私の結果の両方の結果では、出力予測は範囲(-Inf, Inf)にあり、シグモイドの範囲は[0, 1]です。シグモイドはバックプロップでのみ処理されていますか?つまり、フォワードパスが出力を縮めてはいけませんか?カフェシグモイドクロスエントロピー損失

答えて

5

この例では、"SigmoidCrossEntropyLoss"層への入力は完全接続層の出力です。実際、"InnerProduct"層の出力値には制約がなく、範囲は[-inf, inf]である可能性があります。
ただし、慎重に"SigmoidCrossEntropyLoss"を調べると、安定した勾配推定を保証するために、"Sigmoid" layer insideが含まれていることがわかります。
したがって、テスト時に、"SigmoidCrossEntropyLoss"を単純な0​​レイヤーに置き換えて、クラスごとの予測結果を出力する必要があります。

+0

@Shaiありがとうございます。あなたはこれらのCaffeの答えをクラッチしています – marcman