人々がCNNでセマンティックセグメンテーションのタスクを解決しようとするとき、彼らは通常、トレーニング中にソフトマックス-クロスエントロピー損失を使用します( 完全に変換-長い を参照)。しかし、さまざまなアプローチのパフォーマンスを比較することになると、交差点オーバーユニオンのような測定値が報告されます。
私の質問は、なぜ人々は彼らが最適化したい尺度で直接訓練しないのですか?トレーニング中に何らかの尺度でトレーニングするのは奇妙に思えますが、ベンチマークのために別の尺度で評価します。
クラスが存在しない(union = 0およびintersection = 0 =>ゼロによる除算)サンプルのトレーニングでIOUに問題があることがわかります。しかし、グラウンドトゥルースのすべてのサンプルにすべてのクラスが含まれていることを確認できる場合、このメジャーを使用しない別の理由はありますか?
これをチェックしてください paper IoUの概念を差別化する方法を考え出すところ。私は彼らのソリューションを実装し、驚くべき結果をもたらしました!
これは、「なぜ分類のために、精度ではなくログ損失をトレーニングするのか」と尋ねるようなものです。理由は非常に単純です。ほとんどのメトリックは微分可能ではないため、直接トレーニングすることはできません。あなたのパラメータに(または少なくともニースエラーサーフェスを生成しないでください)。ログ損失(softmaxクロスエントロピー)は、精度の有効な代理です。これで、関心のあるメトリックの有効な代理ではないものでトレーニングすることは明らかに間違っていることは完全に正しいです。リンクされたペーパーは、少なくともいくつかのメトリックについて検討しているため、うまく機能しません。簡単に適切な代理を表示できます(加重精度の場合と同様に、必要なのは加重ログ損失だけです)。
これを簡単に考える別の方法があります。
関連する画像の問題を解決する際に、精度やIoUなどのメトリックを単純に評価するだけでは不十分であることを忘れないでください。メトリックの評価もhelpネットワークlearn重みをどの方向に向ける必要がありますか微調整ネットワークが反復にわたって効果的に学習できるようにします。エポック。
この方向を評価することは、以前のコメントがエラーが微分可能であることを意味するものです。ネットワークが言うことができるIoUメトリックについては、「ねえ、それは正確にはここにありませんが、バウンディングボックスを少し左に移動する必要があるかもしれません!」と言うことは何もないと思います。
説明のほんの少しですが、それが役立つことを願っています。