深度學習訓練loss下降,acc不變是什麼問題?DL-Practise2021-05-11 08:39:54

你說的acc是測試集嗎?那可能是過擬合了

深度學習訓練loss下降,acc不變是什麼問題?槓一下不花錢2021-05-12 09:13:36

loss代表趨勢,並不代表最終的效果

或許還會有“loss下降但acc降低”、“loss上升acc也上升”等問題,實質上loss並不能代表acc

深度學習訓練loss下降,acc不變是什麼問題?幻風2021-05-12 14:38:05

之前回答過類似的問題,你有這個疑問的原因在於,你對loss和acc的計算方式,或者說是區別不清楚,所以導致存在這個問題。

深度學習訓練loss下降,acc不變是什麼問題?

準確度是從樣本的角度來說的,比如有100個樣本,有97個預測正確,那麼你的模型的準確率就是97%。

損失是從樣本的標籤的角度來說的,比如二分類問題,樣本的標籤為y=1和y=0。現在有一個y=1的樣本,那麼模型預測它的機率值為0。97,那麼此時按照平方損失函式來說,它的損失是(1-0。97)²,也就是說即使模型預測正確了,還是會產生損失。

現在正式回答你的問題,你現在的模型的準確度已經很高了,那麼這隻能說你的100個樣本中有97個預測準確了,什麼叫做預測準確呢?對於y=1的樣本來說,預測結果為0。51和0。99都算是預測成功了,但是二者產生的損失卻不一樣,一個是(0。51-1)²,一個是(0。99-1)²。

如果你看懂上面的問題,那麼你就應該知道了,出現你這種情況的原因是,大多數樣本都已經預測準確了,但是隨著預測的進行,不斷將模型從預測0。51到0。99了,所以你會看到你的模型準確率不再提高,但是模型損失卻不斷降低。

深度學習訓練loss下降,acc不變是什麼問題?負十二分之一2021-05-13 14:35:19

loss和acc的變化不會嚴格負相關。

對於acc來說。只要輸出機率向量中對應正確的那個類別的probability是最大的,這個樣本分類就正確了,無論機率是0。8還是0。9。

但是對於loss來說,probability從0。8變成0。9,loss就是會下降的。

我猜,你遇到的情況可能跟上述情況差不多。不用擔心,接著訓練就好,效果達不到預期可以換個loss函式。

深度學習訓練loss下降,acc不變是什麼問題?知乎使用者2021-05-13 16:31:11

Loss反映的是logit計算的損失,Acc反映的是最大logit對應的類別的是否為真實標籤,兩者在趨勢上並不完全一致。

一個直觀的理解是,最大的Logit 已經可以預測正確了,但是confidence依舊在上升,從而導致loss的下降。

可以簡單理解為有過擬合的傾向,但也不能單純的理解為一個壞的情況,詳細的理論和實驗,可以關注一下分類模型的校正(Calibration)能力,也就是:

The predicted softmax scores are much better indicators of the actual likelihood of a correct prediction。

補兩張圖,橫軸表示confidence(最大的logit),縱軸表示準確率(Acc),每個點是一個mini batch獲得的(confidence,accuracy):

深度學習訓練loss下降,acc不變是什麼問題?

Well calibrated model

深度學習訓練loss下降,acc不變是什麼問題?

Poorly calibrated model (Over confidence)