CIFAR10データセットで簡単なニューラルネットワークをトレーニングしています。しばらくすると、検証の損失が増加し始めましたが、検証の精度も向上しています。テストの損失とテストの精度は向上し続けています。
これはどのように可能ですか?検証損失が増加すると、精度が低下するようです。
CIFAR10データセットで簡単なニューラルネットワークをトレーニングしています。しばらくすると、検証の損失が増加し始めましたが、検証の精度も向上しています。テストの損失とテストの精度は向上し続けています。
これはどのように可能ですか?検証損失が増加すると、精度が低下するようです。
回答:
Ankurの答えとその下のコメントに基づいて、私は次のシナリオが可能だと思いますが、その証拠はありません。2つの現象が同時に発生している可能性があります。
境界線予測を使用したいくつかの例では予測が改善されるため、出力クラスが変化します(たとえば、0.4が猫、0.6が馬と予測された猫の画像は、0.4が馬、0.6が猫と予測されます)。これにより、精度が向上し、損失が減少します。
非常に悪い予測を持ついくつかの例は悪化し続けます(たとえば、0.8で馬であると予測された猫の画像は0.9で馬であると予測されます)AND / OR(特にマルチクラスの場合、より可能性が高い?)予測は少し悪くなります(たとえば、猫であると0.9で予測された猫の画像は、猫である0.8で予測されます)。この現象により、損失は増加しますが、精度は変わりません。
現象2が、ある時点で、多くの例(何らかの理由でよく理解されていない特定のクラスなど)および/または1から得られる損失減少よりも損失増加が大きい場合、シナリオで自分自身を見つけてください。
繰り返しになりますが、これは起こっていることではないかもしれませんが、そのようなシナリオを思い付くことができると、(クロスエントロピー)損失と精度の間の時々滑りやすい関係を思い出す必要があると思います。
セットの精度は、最高のソフトマックス出力と正しいラベル付きクラスをクロスチェックするだけで評価されます。ソフトマックス出力の高さに依存しません。より明確にするために、いくつかの数字を示します。
犬、猫、馬の3つのクラスがあるとします。私たちの場合、正しいクラスはhorseです。現在、softmaxの出力は[0.9、0.1]です。この損失については約0.37です。分類子は、それが馬であることを予測します。softmax出力が[0.6、0.4]である別のケースを考えます。損失〜0.6。分類子は、まだ馬であることを予測します。しかし、確かに、損失は増加しました。したがって、出力の分布がすべてです。
アンクールの答えから、私には次のように思われます。
ながら
そう...
高い検証精度 + 高損失スコア vs 高トレーニング精度 + 低損失スコアは、モデルがトレーニングデータで過剰適合している可能性があることを示唆しています。
多くの回答は、これがどのように可能かを説明する数学的計算に焦点を当てています。しかし、彼らはなぜそうなるのかを説明しません。そして、彼らはより明確にするためにさらに掘る方法を提案することはできません。
私には3つの仮説があります。そして、それらを検証するためのいくつかの実験を提案します。この問題の説明に役立つことを願っています。
これらの仮説に同意しない場合は、これについて議論しないでください。それらを証明するか、間違っていることを証明するかどうかに関係なく、それらを検証する実験を行うことはより有意義です。