看板 DataScience 關於我們 聯絡資訊
各位大大好 小弟目前使用CNN做影像分類,在還未加入背景當種類時準確度有九成, 將背景是唯一種種類加進去一起訓練時準確度只剩下六成,有搜尋過幾種 方法,有一些不理解的地方想請教 [Handling "Background" class in machine learning] https://thehive.ai/engineering/handling-background-classes-in-machine-learning 其中有提到這一段 I have a suggestion that can improve this situation a surprising amount: prevent the background class from learning features. Allow it to learn only one trainable variable, its logit. 據我的認知logit為softmax的前一層由feature map經過平坦計算後所產生,不太明白 上述的方法該如何實踐。 目前嘗試過利用撇除背景的模型,依照其預測的信心分數建立閥值去判斷是否為背景, 結果依然不理想,所以也想請教各位大大是否有其他的方式可以克服這類問題。 感謝大家!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.109.160.13 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1574926914.A.450.html
kenkao25: 感覺是class imbalance problem 可以試看看focal loss 11/28 17:48
kenkao25: 或是 hard negative mining 11/28 17:48
brad0315: 我猜是Normalize的問題 11/28 18:10
sxy67230: 基本上,這種問題就是你的類別不平衡的問題,最簡單暴力 11/28 22:49
sxy67230: 就是針對最有影響的負例訓練就好了 11/28 22:49
catxfish: 我的猜測這種講法是在說train到背景那類時就只更新FC層 11/29 01:04
catxfish: 不讓背景那類去影響前方feature extractor的權重 11/29 01:04
catxfish: 不過我覺得你應該先釐清是不是樣本不平均問題... 11/29 01:06
Kazimir: 那段話的我的理解是梯度到logit就停 上面都不動了 11/29 03:36