【目标分类_长尾分布问题】BBN:Bilateral-Branch Network _ CVPR2020
文章目錄
- 一、視覺任務數據的特征
- 二、現有文獻是怎么解決這類問題的
- 二、本文做法
- 三、方法
- 四、實驗結果
論文路徑: http://www.weixiushen.com/publication/cvpr20_BBN.pdf
代碼路徑: https://github.com/Megvii-Nanjing/BBN
一、視覺任務數據的特征
機器視覺的代表數據集有很多,如 ImageNet ILSVRC 2012, MS COCO, Places Database等。這些數據集中的數據量是大致均勻分布的,但實際中,存在大量的長尾分布數據,也就是少數類別有大部分數據,而多數類別只有小部分數據,如圖1所示。
這樣的數據分布會使得網絡嫩姨獲得良好的識別效果,原因有兩個:
- 其一是 data-hungry limitation of models
- 其二是長尾分布數據的極端不平衡問題。
二、現有文獻是怎么解決這類問題的
現有的文獻中,常用的解決這種極度不平衡的方法是:
- class re-balancing 策略,比如 re-weighting 或 re-sampling。
正面作用: 能夠調整網絡的訓練,通過在小批量內對樣本重新取樣或對樣本損失重新加權,期望更接近于測試的分布,因此,類別的 re-balancing 可以直接影響深層網絡分類器權重的更新,從而促進分類器的學習。
負面作用:
- re-balancing 有很好的效果,但能夠一定程度的損壞網絡所學習的深層特征的能力,也就是當數據極度不平衡時,re-sampling 有對尾部數據過擬合的風險(通過過采樣)也有對全部數據欠擬合的風險(通過欠采樣)。
- re-weighting,直接改變或翻轉數據出現的頻率,會使原數據失真。
這些常用方法的特點:
- 能夠顯著的促進網絡的分類器學習能力
- 在一定程度上損害所學習深層特征的表達能力
二、本文做法
基于此,該文章提出了一個統一的雙邊分支網絡 Bilateral-Branch Network(BBN),來同時處理表達學習和分類學習。
模型組成:
- conventional learning branch(對原始數據均勻采樣,學習識別任務的通用模式)
- re-balancing branch(reversed sampler 來對長尾數據建模)
預測輸出:通過自適應權重參數 α\alphaα 將這些雙邊分支的預測輸出聚合到累積學習的部分。
α\alphaα: 根據訓練epoch來自適應的調整大小。可以調整整個BBN模型,首先從原始分布中學習通用特征,然后逐步關注尾部數據。
作用:進一步控制每個分支的參數更新,例如在訓練后期注重尾部數據時,避免損壞已學習的通用特征。
貢獻點:
- 探索了針對長尾問題的顯著的類別 re-balancing,進一步發現,這些方法可以極大促進類別學習,但同時會影響原始數據分布的表示學習。
- 提出了一個統一的雙邊分支網絡(BBN),來兼顧表示學習和分類器學習。同時,結合BBN模型的訓練,提出了一種新的累積學習策略來調整雙邊學習。
- 在四個benchmark 長尾數據集上測試,取得了較好的成績。
三、方法
兩個分支,一個分支學習原始的數據分布,另一方分支學習尾部數據
α:\alpha:α: 隨著 epoch 的增加,re-balancing 分支的權重變大,也就是 α\alphaα 慢慢減小,模型向 re-balancing 分支傾斜。
這類似于一種注意力機制,通過動態調節α\alphaα,來控制不同階段模型需要關注的地方。
雖然圖像特征學習和分類器學習應該有著同等地位,但是BBN在學習過程中從關注圖像特征學習逐漸到分類器學習,這樣可以保證在訓練過程中,不同目標的兩個分支都能在整個訓練過程中不斷更新,這樣可以避免兩個過程中的相互影響。
α:\alpha:α:
TmaxT_{max}Tmax? 是最大的 epoch,隨著 TTT 的增加,α\alphaα 越來越小。
四、實驗結果
總結
以上是生活随笔為你收集整理的【目标分类_长尾分布问题】BBN:Bilateral-Branch Network _ CVPR2020的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 控制台进程优化分析
- 下一篇: 【实例分割_SOLOv2】SOLOv2: