1.什麼是「類別不平衡」呢?
詳細來說,檢測演算法在早期會生成一大波的bbox。而一幅常規的中,頂多就那麼幾個object。這意味著,絕大多數的bbox屬於background。
2.「類別不平衡」又如何會導致檢測精度低呢?
因為bbox數量**。
正是因為bbox中屬於background的bbox太多了,所以如果分類器無腦地把所有bbox統一歸類為background,accuracy也可以刷得很高。於是乎,分類器的訓練就失敗了。分類器訓練失敗,檢測精度自然就低了。
3.那為什麼two-stage系就可以避免這個問題呢?
因為two-stage系有rpn罩著。
第乙個stage的rpn會對anchor進行簡單的二分類(只是簡單地區分是前景還是背景,並不區別究竟屬於哪個細類)。經過該輪初篩,屬於background的bbox被大幅砍削。雖然其數量依然遠大於前景類bbox,但是至少數量差距已經不像最初生成的anchor那樣誇張了。就等於是 從 「類別 極 不平衡」 變成了 「類別 較 不平衡」 。
不過,其實two-stage系的detector也不能完全避免這個問題,只能說是在很大程度上減輕了「類別不平衡」對檢測精度所造成的影響。
接著到了第二個stage時,分類器登場,在初篩過後的bbox上進行難度小得多的第二波分類(這次是細分類)。這樣一來,分類器得到了較好的訓練,最終的檢測精度自然就高啦。但是經過這麼兩個stage一倒騰,操作複雜,檢測速度就被嚴重拖慢了。
4.那為什麼one-stage系無法避免該問題呢?
因為one stage系的detector直接在首波生成的「類別極不平衡」的bbox中就進行難度極大的細分類,意圖直接輸出bbox和標籤(分類結果)。而原有交叉熵損失(ce)作為分類任務的損失函式,無法抗衡「類別極不平衡」,容易導致分類器訓練失敗。因此,one-stage detector雖然保住了檢測速度,卻喪失了檢測精度。
類別不均衡問題
機器學習建模分類問題裡,各個類別樣本量差異較大時,就會出現類別不均衡問題。e.g.如果有99999個無症狀病例,1個有症狀病例,即使訓練的學習器將所有樣本識別成無症狀病例,準確率也高達99.9 但是這樣的學習器沒有任何價值,無任何鑑別有症狀病例的價值。以下假設正例樣本數遠小於負例樣本數 1 欠取樣 ...
樣本不均衡問題
樣本不均衡是機器學習,深度學習中常見問題。分類任務 a 95 b 5 模型將所有樣本 為a,那麼正確率可以達到95 第一種 是把多的那個組變少 降取樣 第二種 是把少的那個組變多 過取樣 最簡單的是oversampling,由於其侷限性,又有很多根據已有的資料生成新資料的方法,比如各種變體的synt...
解決資料不均衡的問題
1 類別不均衡會對分類效能產生有害的影響。2 隨著任務規模的擴大,類別不均衡性對分類效能的影響越大。3 類別不均衡的影響不能簡單地以訓練樣本數量的不足來解釋,它依賴於各類樣本的分布。過取樣 oversampling,相當於插值 下取樣 downsampling,相當於壓縮 兩階段訓練 two pha...