日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

正负样本不平衡处理方法总结

發布時間:2024/9/21 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 正负样本不平衡处理方法总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載鏈接:?https://blog.csdn.net/qq_14845119/article/details/78930091

1, Bootstrapping,hard negative mining?
最原始的一種方法,主要使用在傳統的機器學習方法中。?
比如,訓練cascade類型分類模型的時候,可以將每一級分類錯誤的樣本繼續添加進下一層進行訓練。?
比如,SVM分類中去掉那些離分界線較遠的樣本,只保留離分界線較近的樣本。

2, heuristic sampling?
標準的FRCN中,假設正樣本IOU(0.5~1.0)。負樣本IOU(0.1~0.4),hard 負樣本IOU(0.0~0.1)。比如實際的RPN網絡中,實際最后的anchor經過NMS處理后的負樣本是很多的,假如有100000個。而實際訓練的正負樣本比例為1:3,負樣本大概只需要2000-3000個。這時就只選擇那些hard負樣本,這樣實際訓練出來的效果最好。

3, online hard example mining(OHEM)?
出自,Training Region-based Object Detectors with Online Hard Example Mining這篇文章,

在faster RCNN這樣的框架下,在原始的網絡基礎上,新接入了一個綠色的Read-only Layer,該網絡對所有的ROI進行前向傳播,并計算最后的loss,然后紅色的網絡對其中loss較大的ROI進行前向和后向傳播,可以說是一種動態的選擇性的傳播梯度。優勢也就顯而易見,比原始的faster RCNN可以節省很大的運算量,訓練速度回提升,最終模型準確性也提升。?
其中,一個trick就是,在綠色的網絡進行前向傳播完,其中出來的好多ROI會存在一些Loss較高,但是這些ROI有很大的IOU的情況,這樣就會使得梯度重復計算和傳播,因此,這里,作者加入了NMS進行IOU的過濾。

4,Focal Loss?
出自Focal Loss for Dense Object Detection這篇文章,?
文章重點就是提出了focal loss這個cross entropy (CE) loss的改進版,實現了對于正負樣本不平衡的調整。具體思路就是其公式,

從這個公式就可以分析出,?
假設r=2,pt分數為0.9,那么這個easy example的loss將會被縮小0.01a倍?
假設r=2,pt分數為0.968,那么這個easy example的loss將會被縮小0.001a倍?
假設r=2,pt分數為0.1,那么這個hard example的loss將會被縮小0.81a倍?
同樣所有樣本的loss都會縮小,但是hard example要不easy example縮小的小,從而取得好的訓練效果。

從上圖也可以反映出,r>0的曲線的loss要比r=0的曲線的更低,loss更小。

當然文章還提出了一個RetinaNet

RetinaNet以Resnet為基礎結構,通過Feature Pyramid Network (FPN)產生多尺度的輸出特征圖,然后分別級聯一個分類和回歸的子網絡。這點和faster RCNN有點區別,在faster中是只使用一個網絡進行分類和回歸操作,RetinaNet將2個任務分離后,也許會在精度上有一定提高吧,也更容易訓練。?
這里一個trick是RetinaNet的初始化,?
(1)除了分類子網絡的最后一層,其余層w全部初始化為u=0, σ = 0:01的高斯分布,b初始化為0。?
(2)最后一個分類的卷積層,b初始化為- log((1 - π)/π),文中使用π = 0.01,這樣初始化使得每個anchor被標記為前景的概率為0.01,?
這里b的這個公式是怎么得出的呢??
最終的分類得分是一個邏輯回歸,公式為,

這里的z=wx+b,由于w初始化為u=0, σ = 0:01的高斯分布,所以,z=b,最終的概率設為π,從而得出公式,

從而解出,b=- log((1 -π)/π)

這個初始化對于focal loss的訓練很重要。

5,class balanced cross-entropy

出自Holistically-nested edge detection這篇文章, 主要用于FCN,U-net等分割,邊緣檢測的網絡,用于對像素級別的2分類樣本不平衡進行優化。

sigmoid_cross_entropy公式:

-y_hat* log(sigmoid(y)) - (1 - y_hat) * log(1 - sigmoid(y))

class_balanced_sigmoid_cross_entropy公式:

-βy_hat?log(sigmoid(y)) -(1-β) * (1 - y_hat) * log(1 - sigmoid(y))

思想就是引入新的權值β,實現正負樣本loss的平衡,從而實現對不同正負樣本的平衡。

References:?
https://github.com/abhi2610/ohem

總結

以上是生活随笔為你收集整理的正负样本不平衡处理方法总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。