ECCV 2022 Oral|自反饋學習的mixup訓練框架AutoMix
來源丨h(huán)ttps://zhuanlan.zhihu.com/p/550300558編輯丨極市平臺 導讀
本工作嘗試并實現(xiàn)了一種具有“閉環(huán)自反饋”的學習框架(AutoMix)以解決“數(shù)據(jù)-模型”動態(tài)系統(tǒng)中的復雜度和準確性的權(quán)衡問題。作者將眾多mixup相關的方法實現(xiàn)在他們的開源框架OpenMixup中,支持多種主流網(wǎng)絡架構(gòu)、各類實驗設定和常用數(shù)據(jù)集,并提供了常用數(shù)據(jù)集上mixup benchmark。
論文:https://arxiv.org/abs/2103.13027
代碼:https://github.com/Westlake-AI/openmixup
我們將眾多mixup相關的方法實現(xiàn)在我們的開源框架OpenMixup中,支持多種主流網(wǎng)絡架構(gòu)(CNNs, ViTs, etc.)、各類實驗設定和常用數(shù)據(jù)集 (CIFAR, ImageNet, CUB-200, etc.),我們提供了常用數(shù)據(jù)集上mixup benchmark。同時,OpenMixup支持了主流自監(jiān)督學習算法(對比學習和Masked Image Modeling),歡迎大家試用和關注。
我們發(fā)表于ECCV2022 (Oral)的工作嘗試并實現(xiàn)了一種具有“閉環(huán)自反饋”的學習框架(AutoMix)以解決“數(shù)據(jù)-模型”動態(tài)系統(tǒng)中的復雜度和準確性的權(quán)衡問題。具體來講這是一個數(shù)據(jù)隨模型變化,模型隨數(shù)據(jù)更新的雙層優(yōu)化問題。不同于固定的數(shù)據(jù)增廣策略的模式(獨立于模型的優(yōu)化),AutoMix將參數(shù)化后的mixup數(shù)據(jù)增廣策略融入到判別模型中,形成一個完整的數(shù)據(jù)與模型相互學習的閉環(huán)系統(tǒng),即同時學習mixup樣本的(1)生成任務和 (2)判別任務。(1)是根據(jù)判別模型的狀態(tài)自適應的學習精確的數(shù)據(jù)生成策略;(2)則是基于所學習的增廣策略來增強模型對數(shù)據(jù)中重要特征的判別能力。這兩種子任務服務于一個相同的優(yōu)化目標,具有自一致性。大量實驗也表明,判別式模型在AutoMix的閉環(huán)自學習系統(tǒng)(自一致性+閉環(huán)反饋)中具有更高效學習效率和明顯的性能提升。
2. Background神經(jīng)網(wǎng)絡模型(DNNs)的泛化性能在機器學習領域一直受到廣泛的關注和研究,DNNs能兼具高性能和泛化性通常需要滿足兩個條件:1)過參數(shù)化的模型。2)充足的訓練樣本。但是,在數(shù)據(jù)量不足或DNNs模型復雜度過高的情況下,模型容易出現(xiàn)過擬合現(xiàn)象,導致性能和泛化能力明顯下降。
數(shù)據(jù)增強(Data Augmentation, DA)算法作為一種DNNs正則化手段能夠顯著提升模型的泛化性能,而基于數(shù)據(jù)混合(Data Mixing)的一系列數(shù)據(jù)增強算法,兼顧了樣本和標簽?;诨旌系脑鰪V算法通過凸性組合(Convex Combination)來生成虛擬樣本和標簽,達到擴充樣本量和提高數(shù)據(jù)分布多樣性的目的。
樣本混合增強算法的核心問題是如何生成合理的混合樣本以及對應的混合標簽,在圖像分類任務中,一般固定混合標簽的生成方式,改進混合圖像的生成算法。如下圖所示,CutMix將一張圖像的局部區(qū)域隨機替換為另一張圖像的對應區(qū)域,并根據(jù)混合圖像上不同像素的面積比例生成混合標簽。但是由于CutMix在原圖上選取局部區(qū)域的位置和尺寸均是隨機選擇,可能出現(xiàn)被切割的區(qū)域不包含分類任務相關目標的現(xiàn)象,這將導致混合標簽與混合圖像中目標的語義不匹配而誤導模型的優(yōu)化。
為了解決該問題,PuzzleMix和Co-Mixup等基于圖像顯著性區(qū)域(Saliency Region)和組合優(yōu)化算法設計了較為精確的樣本混合策略,使得類別相關的區(qū)域在混合后的樣本中保留下來。但是這種間接優(yōu)化方式引入了大量的額外運算開銷,這對于追求高效的數(shù)據(jù)增廣方法而言是極為不利的。因此,該工作主要討論了以下兩個問題:
- 如何設計一個準確的混合策略來提升目標任務性能?
- 如何高效的解決mixup生成和分類的雙層優(yōu)化問題?
為了解決這兩個問題,我們先對mixup問題進行了重定義并提出了“閉環(huán)自反饋”框架:automatic mixup(AutoMix)。如下圖所示,AutoMix不僅可以精確定位目標區(qū)域并準確生成混合樣本,而且在一定程度上減少了額外計算成本,提高了訓練效率。
對于輸入樣本 和其對應的標簽 。我們通過 cross-entropy (CE) loss來學習一個分類器 :
基于以上, 我們進一步考慮mixup classification|問題: 給定樣本混合函數(shù) , 標簽混合函數(shù) , 和從 中采樣的混合比例 。我們可以得到混合后的樣本 和標簽 . 與上式相似, 我們可以通過mixup crossentropy (MCE) loss來學習一個新的分類器 :
3.2 Mixup reformulation通過 我們可以發(fā)現(xiàn)mixup training有以下兩種特征 (1) 需要設計額外樣本和標簽的混合函 數(shù) 和 。(2) 的分類性能取決于混合函數(shù)的設計。因此, 我們很自然的把mixup訓練 拆分成兩個互相接收互益反饋的子任務(i) 混合樣本生成 (ii) 混合樣本分類。我們最終的目的是訓練 一個好的分類器, 故mixup樣本生成是服務于分類任務的輔助任務。一般情況下, 我們會使用onehot形式對標簽進行編碼, 基于這種信息固定且無序的標簽編碼方式, 標簽混合函數(shù) 會直接采 用線性揷值的方式對標簽進行混合:
而樣本混合函數(shù) 的設計便成為決定模型性能的關鍵。通過定義一個參數(shù)化的樣本混合函數(shù) , 我們可以把mixup training的訓練目標寫成一個統(tǒng)一的優(yōu)化目標:
3.3 Offline mixup limits the power of mixup為了優(yōu)化上述函數(shù), 現(xiàn)有的方法主要采用非參數(shù)化的方式將單獨做離線優(yōu)化設計?;诓煌?先驗假設, 先前的mixup方法主要側(cè)重在以非參數(shù)化的方式手動設計 , 比如最大化混合樣本 中與標簽相關的saliency信息, 而這樣設計的 是脫離了最終優(yōu)化目標的。如下圖所示, 左圖 中手工設計的mixup所對應對的混合樣本生成是獨立于混合樣本分類任務的, 所以他們所生成出的 混合樣本可能與最終優(yōu)化目標無關因此存在冗余甚至降低訓練效率。為了解決該問題, 我們提出了 具有閉環(huán)自學習性質(zhì)的AutoMix, 如右側(cè)子圖所示, 成功把這兩個子任務動態(tài)得聯(lián)系了起來。
參數(shù)化的mixup policy 不僅可以與主干網(wǎng)絡同時更新, 而且擺脫計算顯著性信息的額外開 銷。為了形成閉環(huán)反饋, 我們使用中間層的特征作為 的輸入。在給定樣本特征 和 和混 合比例 的條件下, AutoMix的混合函數(shù)可以寫成以下形式:
其中 是逐元素點乘, 為嵌入了 信息的 層特征。我們選擇的 嵌入方式也非常簡單有 效, ?;谶@樣的設計, 樣本混合效果如下圖所示 。
的目標是生成一個像素級的掩碼 , 用于混合輸入空間的樣本對 和 。由于 是計 算樣本對之間的關系并且在輸入空間使用, 所以參數(shù)化的混合函數(shù)中需要包含相似度矩陣 的計 算和上采樣函數(shù) 。此外, 由于mixup的對稱性, 。以 為例子, 的計算過程如下:
為線性變換矩陣; 是矩陣乘; 是將輸出的掩碼歸一到0到1之間的Sigmoid激活函數(shù)。得 到 之后, 對于 的掩碼則利用對稱性便可得到, 。由于 需要根據(jù) 計算 和 樣本對之間像素級的相對關系, 所以我們提出cross-attention mechanism來達到這個目的:
其中, 是共享參數(shù)的線性變換矩陣, 是歸一化因子。綜上所述, Mix Block的設計如下圖 所示:
在Mix Block的端到端的訓練方面, 我們提出了一個輔助損失函數(shù) , 用于幫助Mix Block在訓練 早期生成與 成比例的混合掩碼:
是一個隨著訓練漸變?yōu)?的損失權(quán)重, 初始值為 。此外, 我們在使用MCE loss的同時也加入了 標準的CE loss, 主要是為了加速主干網(wǎng)絡的學習以提供穩(wěn)定的特征給Mix Block生成新的混合樣 本。AutoMix的最終優(yōu)化目標可以總結(jié)為:
但是我們發(fā)現(xiàn), 在一次梯度反傳中同時更新 和 兩套參數(shù)的方式會帶來不穩(wěn)定性, 如下圖所 示, Mix Block很容易陷入Trivial solution (vanilla mixup)。為了更好在一套框架下同時優(yōu)化兩套參 數(shù) (bi-level optimization), 我們進一步引入了Momentum Pipeline (MP) 用于解耦合兩套參數(shù) 的訓練, 在穩(wěn)定了訓練過程的同時也加快了收斂速度。
受自監(jiān)督學習中解決特征塌縮(feature collapse)問題的啟發(fā), 我們也嘗試通過使用stop gradient操作和孿生網(wǎng)絡(Siamese)來解決Mix Block塌縮點問題, 從而穩(wěn)定AutoMix訓練。如上 圖所示, 綠色的計算流通過使用凍結(jié)的encoder 來專注訓練Mix Block, 而藍色則固定Mix Block 參數(shù)只訓練encoder , 這種解耦合的計算流是通過stop gradient操作來實現(xiàn)的。值得注意多是被 凍結(jié)的encoder的參數(shù)是通過 和EMA (exponential moving average)的策略進行更新的:
在MP的加持下,我們可以能看到最直接的效果就是Mix Block的訓練變得穩(wěn)定且收斂快速。如下圖所示,Mix Block在前幾個epoch就可以為主干網(wǎng)絡提供高質(zhì)量的混合樣本。
我們對AutoMix做了全面的評估,主要分為以下三個方面:(1)多場景下的圖像分類問題,(2)基于對抗樣本的魯棒性測試和(3)遷移到其他下游任務的性能表現(xiàn)。AutoMix均表現(xiàn)突出,達到最佳性能。
5.1 Image Classification在圖像分類的經(jīng)典benchmark上進行大量測試,主要測試數(shù)據(jù)為CIFAR、Tiny ImageNet和ImageNet。在小分辨率數(shù)據(jù)集上,我們基于ResNet、ResNeXt和Wide-ResNet對比了主流mixup算法。
ImageNet: 在ImageNet上,我們基于不同參數(shù)量的ResNet和主流Transformer架構(gòu)對比了更多實用的mixup算法。有一個比較有趣的現(xiàn)象是其他mixup方法在基于ResNet-18網(wǎng)絡在ImageNet上訓練時都起到了負面效果,一個可能的解釋是mixup方法所生成的混合樣本過大的增加了學習難度。而AutoMix生成的樣本盡可能與語意保持一致,更貼切真實數(shù)據(jù)分布,適當增加了數(shù)據(jù)的豐富程度。
Fine-grained and Scene Classification: 此外,我們也做了全面的細粒度分類能力測試,包括經(jīng)典的CUB-200和FGVC-Aircraft和更具有挑戰(zhàn)性的大規(guī)模數(shù)據(jù)集iNaturalist17/18。同時,我們在Place205上測試了場景分類性能。在各類場景上,AutoMix均取得最佳性能。
Calibration: mixup方法可以對分類模型過度自信的(over-confident)預測起到矯正的作用,即分類準確度和置信度應該保持線性的對應關系,我們既不希望模型對預測錯誤的樣本有過高的置信度,也不希望對預測正確的樣本是低置信的。如下圖所示,AutoMix更加貼近紅色虛線,起到了最佳的矯正效果。
我們使用人造數(shù)據(jù)集CIFAR-C和對抗攻擊手段FGSM來測試模型的魯棒性。
與其他mixup方法一致,我們分別在CUB-200和COCO2017數(shù)據(jù)集上對弱監(jiān)督目標定位和目標檢測這兩個常見的下游任務做了測試。效果如下:
Weakly supervised object localization (WSOL)
Object Detection
5.4 Ablation Study消融實驗主要分析了三個問題:(1)Mix Block中所提出的模塊是否有效?(2)如果去掉EMA和CE loss,模型性能會受多少影響?(3)AutoMix中的超參數(shù)應該如何選擇?
上面的兩個表格回答問題(1)和(2)。左邊的表驗證了cross attention模塊、 \lambda\lambda embedding和輔助損失的重要性。右邊的表格將設計的Mix Block與MixUp和CutMix做橫向?qū)Ρ?,我們可以看出MP的設計對Mix Block是非常關鍵的,而EMA和CE loss只是起到incremental的增益效果。下圖回答了問題(3),AutoMix的超參數(shù)包括 BetaBeta 分布中的 \alpha\alpha 值和特征圖的層數(shù),我們通過實驗測試將他們分別定為 \alpha=2\alpha=2 和 l=3l=3 。這種設置是通用且高效的,無需額外調(diào)整。
本文僅做學術(shù)分享,如有侵權(quán),請聯(lián)系刪文。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。