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