AAAI 2019 Oral | 把Cross Entropy梯度分布拉‘平’,就能轻松超越Focal Loss
單階段物體檢測(One-stage Object Detection)方法在模型訓練過程中始終面臨著樣本分布嚴重不均衡的問題,來自香港中文大學的研究者們在論文 Gradient Harmonized Single-stage Detector 提出了一個新的視角——梯度分布上看待樣本數(shù)量和難易不均衡。直接把 cross entropy 產(chǎn)生的 gradient distribution 標準化到 uniform 就可以輕松訓練單階段物體檢測模型。
該論文已經(jīng)被 AAAI 2019 會議接受為 Oral 論文,基于 PyTorch+MMDet 的代碼已經(jīng)放出。
作者丨Lovely Zeng
學校丨CUHK
研究方向丨Detection
引言
物體檢測的方法主要分為單階段與兩階段兩大類。雖然兩階段的物體檢測器在準確率上的表現(xiàn)往往更優(yōu),但單階段檢測器因其簡潔的結構和相對更快的速度同樣得到了研究者們的重視。
在 2017 年,Focal Loss 的作者指出了單階段檢測器中樣本類別(前景與背景)嚴重不均衡(class imbalance)的問題,并通過設計一個新的損失函數(shù)來抑制大量的簡單背景樣本對模型訓練的影響,從而改善了訓練效果。
而在這篇論文中,研究者對樣本不均衡的本質影響進行了進一步探討,找到了梯度分布這個更為深入的角度,并以此入手改進了單階段檢測器的訓練過程。?
實際上,不同類別樣本數(shù)不同并不是影響單階段檢測器的訓練的本質問題,因為背景樣本雖然大部分非常容易識別(well classified),但其中也會存在著比較像某類物體的難樣本(hard negative),而前景類中也有許多網(wǎng)絡很容易正確判斷的樣本(easy positive)。所以產(chǎn)生本質影響的問題是不同難度樣本的分布不均衡。
更進一步來看,每個樣本對模型訓練的實質作用是產(chǎn)生一個梯度用以更新模型的參數(shù),不同樣本對參數(shù)更新會產(chǎn)生不同的貢獻。
在單階段檢測器的訓練中,簡單樣本的數(shù)量非常大,它們產(chǎn)生的累計貢獻就在模型更新中就會有巨大的影響力甚至占據(jù)主導作用,而由于它們本身已經(jīng)被模型很好的判別,所以這部分的參數(shù)更新并不會改善模型的判斷能力,也就使整個訓練變得低效。
基于這一點,研究者對樣本梯度的分布進行了統(tǒng)計,并根據(jù)這個分布設計了一個梯度均衡機制(Gradient Harmonizing mechanism),使得模型訓練更加高效與穩(wěn)健,并可以收斂到更好的結果(實驗中取得了好于 Focal Loss 的表現(xiàn))。
梯度均衡機制
首先我們要定義統(tǒng)計對象——梯度模長(gradient norm)。考慮簡單的二分類交叉熵損失函數(shù)(binary cross entropy loss):
其中 p=sigmoid(x) 為模型所預測的樣本類別的概率,p* 是對應的監(jiān)督。則其對 x 的梯度(導數(shù))為:
于是我們可以定義一個梯度模長,g=|p-p*|。
對一個交叉熵損失函數(shù)訓練收斂的單階段檢測模型,樣本梯度模長的分布統(tǒng)計如下圖:
可以看到,絕大多數(shù)樣本都是十分容易預測的(well-classified),這些可以被準確預測的樣本所占的比重非常大,正因如此圖中采用對數(shù)坐標來更清楚地展示分布。
此外,還可以發(fā)現(xiàn)在 g 接近 1 的時候,樣本比例也相對較大,研究者認為這是一些離群樣本(outlier),可能是由于數(shù)據(jù)標注本身不夠準確或是樣本比較特殊極難學習而造成的。對一個已收斂的模型來說,強行學好這些離群樣本可能會導致模型參數(shù)的較大偏差,反而會影響大多數(shù)已經(jīng)可以較好識別的樣本的判斷準確率。
基于以上現(xiàn)象與分析,研究者提出了梯度均衡機制,即根據(jù)樣本梯度模長分布的比例,進行一個相應的標準化(normalization),使得各種類型的樣本對模型參數(shù)更新有更均衡的貢獻,進而讓模型訓練更加高效可靠。
由于梯度均衡本質上是對不同樣本產(chǎn)生的梯度進行一個加權,進而改變它們的貢獻量,而這個權重加在損失函數(shù)上也可以達到同樣的效果,此研究中,梯度均衡機制便是通過重構損失函數(shù)來實現(xiàn)的。
為了清楚地描述新的損失函數(shù),我們需要先定義梯度密度(gradient density)這一概念。仿照物理上對于密度的定義(單位體積內(nèi)的質量),我們把梯度密度定義為單位取值區(qū)域內(nèi)分布的樣本數(shù)量。
具體來說,我們將梯度模長的取值范圍劃分為若干個單位區(qū)域(unit region)。對于一個樣本,若它的梯度模長為 g,它的密度就定義為處于它所在的單位區(qū)域內(nèi)的樣本數(shù)量除以這個單位區(qū)域的長度 ε:
而梯度密度的倒數(shù)就是樣本計算 loss?后要乘的權值:
這里乘樣本數(shù)量 N,是為了保證均勻分布或只劃分一個單位區(qū)域時,該權值為 1,即 loss 不變。?
由于這個損失函數(shù)是為分類設計的,所以記為 GHM-C Loss。下面我們通過與傳統(tǒng)交叉熵算是函數(shù)以及 Focal Loss 的比較,來進一步解釋 GHM 的作用:
左圖為樣本梯度模長的分布。中圖為不同損失函數(shù)對樣本梯度產(chǎn)生的作用,橫坐標為在交叉熵(CE)損失函數(shù)下樣本的梯度模長,縱坐標為新的損失函數(shù)下同樣的樣本新的梯度模長,由于范圍較大所以依然采用對數(shù)坐標展示。其中淺藍色的線為交叉熵函數(shù)本身,作為參考線。
可以看到,Focal Loss 本質上是對簡單樣本進行相對的抑制,越簡單的樣本受抑制的程度越大,這一點和 GHM-C 所做的均衡是十分相似的。此外,GHM-C 還對一些離群樣本進行了相對的抑制,這可以使得模型訓練更具穩(wěn)定性。
右圖為不同損失函數(shù)下,各種難度樣本的累計貢獻大小。由此可以看出,梯度均衡機制的作用就是讓各種難度類型的樣本有均衡的累計貢獻。
在分類之外,研究者還對于候選框的回歸問題做了類似的統(tǒng)計并設計了相應的 GHM-R Loss。
需要指出的是,由于常用的 Smooth L1 Loss 是個分段函數(shù),在 L1 的這部分倒數(shù)的模長恒定為 1,也就是偏差超過臨界值的樣本都會落到 g=1 這一點上,沒有難度的區(qū)分,這樣的統(tǒng)計并不合理。為了解決這個問題,研究者引入了 ASL1 Loss:
在此基礎上對梯度模長的分布進行統(tǒng)計并實施均衡化的操作。
實驗結果
在 COCO 的 minival 集上,GHM-C Loss 與標準 Cross Entropy Loss,使用 OHEM 采樣下 Cross Entropy,以及 Focal Loss 的比較如下:
GHM-R 與 Smooth L1 Loss 以及 ASL1 Loss 的 baseline 比較如下:
在 COCO test 集上,GHM 與其他 state-of-the-art 的方法比較如下:
此外,在 AAAI 2019 的演示文稿中,研究者還展示了在 pascal voc 2007 這樣的小數(shù)據(jù)集上,GHM 相對于 Focal Loss 不需要過多的 warmup iteration 就可以保持訓練的穩(wěn)定:
討論
這篇研究的主要貢獻是提供了一個新視角,較為深入地探討了單階段檢測中樣本分布不均衡所產(chǎn)生的影響及解決方案。
此研究對梯度模長的分布進行統(tǒng)計并劃分單位區(qū)域的方式,實際上可以看作是依據(jù)梯度貢獻大小對樣本進行聚類的過程。而這里的梯度只是模型頂部獲得的偏導數(shù)的大小,并不是全部參數(shù)對應的梯度向量,所以聚類依據(jù)可能有更嚴謹更有區(qū)分度的選取方式,然而統(tǒng)計整體參數(shù)的梯度分布會極大增加計算量,所以本研究中的統(tǒng)計方式仍是一種快速且有效的選擇。
此研究進行均衡化操作實際上是以各梯度模長的樣本產(chǎn)生均勻的累計貢獻為目標的,但是這個目標是否就是最優(yōu)的梯度分布,暫時無法給出理論上的證明。從實驗結果上,我們可以認為這個目標是明顯優(yōu)于無均衡的分布的。然而研究者認為,真正的最優(yōu)分布難以定義,并需要后續(xù)的深入研究。
點擊以下標題查看更多往期內(nèi)容:?
自動機器學習(AutoML)最新綜述
圖神經(jīng)網(wǎng)絡綜述:模型與應用
近期值得讀的10篇GAN進展論文
自然語言處理中的語言模型預訓練方法
從傅里葉分析角度解讀深度學習的泛化能力
兩行代碼玩轉Google BERT句向量詞向量
AI Challenger 2018 機器翻譯參賽總結
TensorSpace:超酷炫3D神經(jīng)網(wǎng)絡可視化框架
深度長文:NLP的巨人肩膀(上)
NLP的巨人肩膀(下):從CoVe到BERT
#投 稿 通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優(yōu)質內(nèi)容以更短路徑到達讀者群體,縮短讀者尋找優(yōu)質內(nèi)容的成本呢? 答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優(yōu)質內(nèi)容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
??來稿標準:
? 稿件確系個人原創(chuàng)作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發(fā),請在投稿時提醒并附上所有已發(fā)布鏈接?
? PaperWeekly 默認每篇文章都是首發(fā),均會添加“原創(chuàng)”標志
? 投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發(fā)送?
? 請留下即時聯(lián)系方式(微信或手機),以便我們在編輯發(fā)布時和作者溝通
?
現(xiàn)在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
▽ 點擊 |?閱讀原文?| 下載論文 & 源碼
總結
以上是生活随笔為你收集整理的AAAI 2019 Oral | 把Cross Entropy梯度分布拉‘平’,就能轻松超越Focal Loss的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里巴巴虾米的机器学习与深度学习进阶记
- 下一篇: 知识图谱最新论文清单,高阶炼丹师为你逐一