tensorflow を使用して深層学習モデル (CNN) を実行しました。エポック中に何度も、損失と精度の両方が増加したか、両方が減少したことを観察しました。私の理解では、両者は常に反比例の関係にあるということでした。両方が同時に増加または減少するシナリオは何ですか。
5 に答える
ミニバッチ勾配降下および/またはドロップアウト (ランダム ノイズを導入する) のような正則化手法によって導入される変動を除いて、トレーニング プロセスが進むにつれて損失は減少します。
損失が減少した場合、トレーニング プロセスは順調に進んでいます。
(私が推測する検証)精度は、代わりに、モデルの予測がどれほど優れているかの尺度です。
モデルが学習している場合、精度は向上します。モデルが過剰適合している場合、代わりに精度の上昇が止まり、低下し始めることさえあります。
損失が減少し、精度が低下する場合、モデルは過剰適合しています。
損失が増加し、精度も向上する場合は、正則化手法がうまく機能しており、過剰適合の問題と戦っているためです。これは、精度が向上し続けている間に損失が減少し始めた場合にのみ当てはまります。それ以外の場合、損失が拡大し続ける場合は、モデルが発散しているため、原因を探す必要があります (通常、学習率の値が高すぎます)。
現在、モデルのトレーニングに苦労しているすべての人のために、可能なオプションをここに追加したいと思います。
検証データが少し汚れている場合、トレーニングの開始時に検証損失が低く、精度も低く、ネットワークをトレーニングすればするほど、損失と並んで精度が向上することがあります。これが発生する理由は、ダーティ データの異常値の可能性を見つけ、そこで非常に大きな損失を被るためです。したがって、より多くのデータを正しく推測するにつれて、精度は向上しますが、損失も大きくなります。