博客專欄

        EEPW首頁 > 博客 > ICCV 2021|“白嫖”性能的MixMo,一種新的數據增強or模型融合方法

        ICCV 2021|“白嫖”性能的MixMo,一種新的數據增強or模型融合方法

        發布人:計算機視覺工坊 時間:2021-08-16 來源:工程師 發布文章

        本文作者提出了一種新的多輸入多輸出深度子網學習廣義框架MixMo,MixMo可以作為一種集成方法或一種新的混合樣本數據增強方法進行分析,同時仍然與兩種研究方向的工作保持互補。

        寫在前面

        最近的工作提出的不用額外計算的集成方法,大多是在一個網絡中同時設置不同的subnet。訓練時。每個subnet只學習分類多個輸入數據中的其中一個。然而,如何更好地混合這些多個輸入的問題迄今尚未被研究。

        在本文,作者提出了一種新的多輸入多輸出深度子網學習廣義框架MixMo。作者的Motivation是用一個更合適的混合機制來代替先前方法中求和導致的次優操作。受到混合樣本數據增強的啟發,作者發現特征的混合可以使subnet更強,使得數據更加多樣,進而提高模型performance。

        基于MixMo,作者提升了CIFAR-100和Tiny ImageNet數據集上的SOTA性能。

        1. 論文和代碼地址

        1.jpg

        論文地址:https://arxiv.org/abs/2103.06132

        代碼地址:https://github.com/alexrame/mixmo-pytorch

        2. Motivation

        卷積神經網絡(cnn)在計算機視覺任務中表現出了出色的性能,尤其是分類任務。為了在真實場景中增加魯棒性或贏得Kaggle競賽,cnn通常會采用兩種實用策略:數據增強 和模型集成 。

        數據增強可以減少過擬合并提升模型的泛化性。傳統的圖像增強是保留標簽的:例如翻轉、裁剪等。然而,最近的混合樣本數據增強(MSDA)改變了這種方式:多個輸入和它們的標簽按比例混合來創建人工樣本,代表工作有MixUp,CutMix等等。

        模型集成證明了聚合來自多個神經網絡的不同預測能夠顯著提高了泛化能力,尤其是不確定性估計。從經驗上講,幾個小網絡的集成通常比一個大網絡性能更好。然而,在訓練和推理方面,集成在時間和顯存消耗方面都是昂貴的:這往往限制了模型集成的適用性。

        在本文,作者提出了多輸入多輸出框架MixMo。為了解決傳統集成中出現的這些開銷,作者將M個獨立子網放入一個單一的base網絡中。這也是合理的,因為在模型集成時,“最終采納的網絡”其實就和整體的網絡表現差不多。

        所以,現在最大的問題是如何在沒有結構差異的情況下加強subnet之間的多樣性。

        2.jpg

        如上圖,作者在訓練過程中同時考慮了M個輸入,M個輸入被M個參數不共享的Encoder編碼到共享空間中,然后將特征送到核心網絡,核心網絡最終分成M個分支;這個M個分支用來預測不同輸入信息的label。在inference的時候,同一圖像重復M次:通過平均M個預測獲得“免費”的集成效果。

        與現有的MSDA相比,MixMo最大的不同就是multi-input mixing block。如果合并是一個基本的求和,MixMo將變成到MIMO[1]。作者對比了大量的MSDA的工作,設計了更合適的混合塊,因此作者采用binary masking的方法來確保子網絡的多樣性。(如上圖所示,作者對不同樣本采用了一個binary masking方法,這一點就類似CutMix,而不是像MIMO那樣直接相加 )。

        這種不對稱的混合也會造成網絡特征中的信息不平衡的新問題,因此作者通過一個新的加權函數來解決多個分類訓練任務之間的不平衡問題。

        3. 方法

        3.jpg

        MixMo的整體結構如上圖所示

        3.1. General overview

        image.png

        核心網絡C需要同時處理兩種輸入的特征表示。然后多層的網絡D,通過這個mix的特征,再一次把各自樣本的類別識別出來。(個人理解這個網絡是一個“分-總-分”的結構,首先,這個網絡對不同輸入的樣本進行分別編碼,這是第一個“分”的過程;然后這些被編碼的特征通過Mixing Block融合,這是“總”的過程;最后不同的層再根據這個混合的特征,識別出各自樣本的類別,這是最后一個“分”的過程 )

        訓練過程中的損失函數為各自樣本的交叉熵損失函數之和(分別乘上各自的權重,權重的計算見下文):

        4.jpg

        在inference的時候,同一個輸入x被輸入到不同的分支中,核心網絡C的輸入為image.png的和,這最大的保留了來自兩種編碼信息。然后,最終的預測結果為將不同分支的預測平均值image.png。這使得模型可以在一次前向傳播的過程中享受模型融合的結果。

        3.2. Mixing block

        Mixing block 是MixMo的核心,它將兩個輸入組合成一個共享表示。受MSDA混合方法的啟發,MixMo通用框架包含了更廣泛的變化。

        作者提出的第一個變體是 Linear-MixMo,借鑒了MixUp的思想,直接將兩張圖片通過一個透明度疊在一起:

        5.jpg

        接著,作者受到MixCut的啟發,提出了 Cut-MixMo :

        6.jpg

        與Linear-MixMo不同,這里并不是將整張圖片相加,而是像MixCut一樣,每次都是加了一個patch。

        Cut-MixMo比其他策略表現更好。具體來說,Cut-MixMo中的binary mixing取代了MIMO和 Linear-MixMo中的線性插值,使子網絡更加精確和多樣化。

        為什么Cut-MixMo會比 Linear-MixMo要更好?

        1)基于CutMix優于Mixup的相同原因,M中的binary mixing訓練了更強的單個子網。此外通過binary mixing,模擬了常見的物體遮擋問題。

        2)線性插值從根本上不適合誘導多樣性,因為兩個輸入都保留了完整的信息。CutMix通過交替選擇的圖像patch,顯式地增加了數據集的多樣性。

        3.3. Loss weighting

        Mixing機制中的不對稱可能導致一種輸入蓋過另一種輸入。當時,權重更大的輸入可能更容易預測。因此,作者定義了一個權重函數來平衡多個損失函數的重要性。這種加權調整了有效學習率、梯度在網絡中的流動方式以及混合信息在特征中表示的方式。

        加權函數具體表示如下:

        7.jpg

        其中是一個超參數,的曲線如下圖所示:

        8.jpg

        3.4. From manifold mixing to MixMo

        相比于其他MSDA方法,MixMo使用兩個獨立的編碼器(每個編碼器輸入一個數據),并且它輸出是兩個預測而不是一個。

        而其他MSDA方法使用一個單一的分類器,該分類器針對一個唯一的軟標簽,通過線性插值反映不同的類。相反,MixMo選擇充分利用混合樣本的復合特性,訓練分離的dense層,d0和d1,在測試時能夠在沒有額外計算的情況下,達到模型集成的效果。

        4.實驗

        4.1. Main results on CIFAR-100 and CIFAR-10

        9.jpg

        上表展示了MixMo在CIFAR10和CIFAR100上的結果,可以看出相比于原始的網絡,MixMo對于性能的提升非常明顯。

        10.jpg

        從上圖可以看出,隨著寬度w的增加,MixMo比DE(綠色曲線)的性能提升更加明顯。

        4.2. Training time

        11.jpg

        可以看出,在相同的訓練時間內,Cut-MixMo的表現優于DE。

        4.3. The mixing block

        12.jpg

        上表比較幾個mix block的性能,可以看出無論形狀如何,binary mixing的性能都優于線性混合。

        4.4. Weighting function

        13.jpg

        上圖比較了加權函數不同r下的性能,r在[3,6]范圍內達到了很好的trade-off。

        4.5. Multiple encoders and classifiers

        14.jpg

        上表的實驗結果表明,2個編碼器和2個分類器對于實驗結果是比較好的。

        4.6. Pushing MixMo further: Tiny ImageNet

        15.jpg

        在更大的規模和更多樣的64 × 64圖像上,Cut-MixMo在Tiny ImageNet上達到了70.24%的新水平,如上表所示。

        5. 總結

        在本文中,作者提出了MixMo,一個多輸入多輸出策略的框架。MixMo可以作為一種集成方法或一種新的混合樣本數據增強方法進行分析,同時仍然與兩種研究方向的工作保持互補。此外,作者引入了一個新的權重函數,以平衡訓練時的損失。最終,作者通過實驗證明了MixMo的有效性。

        參考文獻

        [1]. Marton Havasi, Rodolphe Jenatton, Stanislav Fort,Jeremiah Liu, Jasper Roland Snoek, Balaji Lakshminarayanan, Andrew Mingbo Dai, and Dustin Tran. Training independent subnetworks for robust prediction. In ICLR,2021.

        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: 深度學習

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 甘谷县| 延安市| 沾益县| 永丰县| 海宁市| 南投县| 浮山县| 从江县| 镇安县| 故城县| 沙田区| 游戏| 溧阳市| 长葛市| 漳浦县| 南昌市| 辽源市| 盘山县| 阿勒泰市| 察隅县| 泰安市| 水富县| 汝南县| 扬中市| 虞城县| 达日县| 桦甸市| 伊宁县| 奉节县| 肇东市| 海丰县| 宁武县| 禹州市| 拉萨市| 汝南县| 革吉县| 柯坪县| 玉门市| 西青区| 定边县| 伊宁县|