卷積神經網絡(cnn)在計算機視覺任務中表現出了出色的性能,尤其是分類任務。為了在真實場景中增加魯棒性或贏得Kaggle競賽,cnn通常會采用兩種實用策略:數據增強 和模型集成 。
數據增強可以減少過擬合并提升模型的泛化性。傳統的圖像增強是保留標簽的:例如翻轉、裁剪等。然而,最近的混合樣本數據增強(MSDA)改變了這種方式:多個輸入和它們的標簽按比例混合來創建人工樣本,代表工作有MixUp,CutMix等等。
模型集成證明了聚合來自多個神經網絡的不同預測能夠顯著提高了泛化能力,尤其是不確定性估計。從經驗上講,幾個小網絡的集成通常比一個大網絡性能更好。然而,在訓練和推理方面,集成在時間和顯存消耗方面都是昂貴的:這往往限制了模型集成的適用性。
在本文,作者提出了多輸入多輸出框架MixMo。為了解決傳統集成中出現的這些開銷,作者將M個獨立子網放入一個單一的base網絡中。這也是合理的,因為在模型集成時,“最終采納的網絡”其實就和整體的網絡表現差不多。
所以,現在最大的問題是如何在沒有結構差異的情況下加強subnet之間的多樣性。
如上圖,作者在訓練過程中同時考慮了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那樣直接相加 )。
這種不對稱的混合也會造成網絡特征中的信息不平衡的新問題,因此作者通過一個新的加權函數來解決多個分類訓練任務之間的不平衡問題。
該文提出一種簡單而有效的方法,無需任何tricks,它可以將標準ResNet50的Top1精度提升到80%+。該方法是基于作者之前MEAL(通過判別方式進行知識蒸餾集成)改進而來,作者對MEAL進行了以下兩點改進:
(1) 僅在最后的輸出部分使用相似性損失與判別損失;
(2) 采用所有老師模型的平均概率作為更強的監督信息進行蒸餾。
該文提到一個非常重要的發現:在蒸餾階段不應當使用one-hot方式的標簽編碼。這樣一種簡單的方案可以取得SOTA性能,且并未用到以下幾種常見漲點tricks:(1)類似ResNet50-D的架構改進;(2)額外訓練數據;(3) AutoAug、RandAug等;(4)cosine學習率機制;(5)mixup/cutmix數據增廣策略;(6) 標簽平滑。
在ImageNet數據集上,本文所提方法取得了80.67%的Top1精度(single crop@224),以極大的優勢超越其他同架構方案。該方法可以視作采用知識蒸餾對ResNet50漲點的一個新的基準,該文可謂首個在不改變網路架構、無需額外訓練數據的前提下將ResNet提升到超過80%Top1精度的方法。