mixup: Beyond Empirical Risk Minimization


這篇論文MIT和FAIR的工作,主要是提出了一種mixup的方式。(感覺是一種產生hard sample的方法,是一種新的、更有效的數據增強。)

1 Introduction

大網絡需要大數據,目前CV領域的任務逐漸采用大模型來解決。這些大模型有兩個共同特點:①經驗風險最小化(ERM),在訓練集上需要訓練出比較好的性能,也就是擬合訓練數據;②模型規模與數據集規模線性增長,才有可能訓出比較好的模型,作者舉了幾個任務中的模型與數據集來說明這個問題。

可是矛盾的是,眾所周知:當模型規模不隨着訓練數據增加而增加時,ERM才會得到保證。(此處不太明白是啥意思...)

這一矛盾挑戰了ERM在神經網絡訓練中的適用性。一方面ERM會讓網絡記住訓練數據(而不是泛化),即便做了很強的正則化;另一方面,當測試樣本取自於訓練數據分布之外時,網絡的推測會發生劇變(比如對抗樣本)。這些都說明了ERM是不利於泛化的。

以上,作者對ERM作了一番批判,主要還是強調overfitting的問題。

 

接着作者引入了data augmentation,從VRM理論角度描述了一下data augmentation是個啥,也就是使訓練數據的特征空間{X}的點更豐富,在原始樣本附近,按某一分布產生新樣本點。隨后又告訴大家,目前的data augmentation有兩個毛病:①生成的相似樣本是屬於同一類的(文中描述為data augmentation assumes that the examples in the vicinity share the same class);②不同類的樣本之間的關系沒有被建模。(我覺得,大概就是為了后面說mixup做鋪墊,目前的data augmentation產生的樣本是增強了各個類的樣本數量,而沒有強化不同類之間的樣本區別。)

 

通過以上論述可知,最初的ERM是沒有數據增強的,對訓練樣本完全信賴,並且盡可能擬合之,這就是ERM principle,可是會帶來過擬合,顯而易見。VRM是產生近鄰virtual sample,也就是做了data augmentation,由此一定程度緩解了過擬合,但是也只是一定程度上,因為仍然是ERM原則,因此還是會有過擬合。同時還存在一些其他問題:生成的virtual sample是通過某一個training sample產生的,並且和該training sample共享同一標簽,也就是沒有不同類、不同training sample之間的互動。由此引出了一種更好的data augmentation方法,也就是通過mixup的方式來產生virtual sample。

 

 2 From Empirical Risk Minimization to mixup

首先從數據分布角度給出期望風險的形式化定義:feature vector X和target vector Y滿足聯合分布P(X, Y),那么期望風險就是所有(X, Y)的Loss function對P(X, Y)的積分。

不幸的是,期望風險是可望而不可即的,只能用經驗風險代替。由於各種場景的測試數據的聯合分布P是不可知的,只能使用訓練數據的分布代替,稱為經驗分布,使用以各個樣本點為中心的Dirac function的平均來計算。那么經驗風險所有樣本的Loss對經驗分布的積分,也即所有樣本的Loss直接求平均。對經驗風險進行優化,就是ERM(Empirical Risk Minimization)。

由此引出了ERM,為了實現ERM,就要對每一個樣本降Loss,因此模型會盡力擬合盡可能多的樣本,作者稱之為“Memorize”,這和“Generalize”相對。由此導致了訓練出來的X與Y之間的映射f在training data之外的表現不好。

為了緩解在原始訓練集上ERM帶來的過擬合問題,出現了data augmentation,對此的理論解釋是VRM。神經網絡的本質是特征提取+分類,訓練過程是在做兩件事:①調節extractor的參數用來提取對分類最有效的特征,②調節classifier的參數用來實現特征空間到target空間的最佳映射。過擬合問題就是:網絡對於見過的數據,能夠有很大把握分類正確,可是沒見過的數據很有可能分類錯誤,也就是——feature空間到target空間的映射還有Achilles‘ heel。通過data augmentation,可以減少一部分盲區。而VRM就是描述feature空間中樣本點附件的空間應該如何划分的問題,VRM通過按照某一分布在真實樣本點附近構造virtual sample。

 

鑒於ERM的過擬合嚴重,VRM還不夠general,作者提出了一種數據增強的方式——mixup。其形式非常顯然,唯一的包裝是vicinal distribution的描述,但是其本質還是很清楚簡單的,這就是作者說的Occam's razor。

在實現上,作者提供了一些深入思考:

  • 更多數量的樣本進行mixup不會帶來更多收益。
  • 作者的實驗是在同一個minibatch中進行mixup,但是注意需要shuffle。
  • 同類樣本的mixup不會帶來收益。

接着在What is mixup doing?部分,作者mixup會讓模型behave linearly in-between training examples,這種線性的組合方式會抑制模型做預測時的波動,

 

λ~B(α,α),作者實驗發現,α∈[0.1, 0.4]會使得模型性能相比較ERM提升,過大的α會導致欠擬合。由於mixup后樣本數量會增加,因此訓練時間要放長,才能使模型得到收斂,性能穩定提升。

 

作者給出了一副很形象的示意圖,ERM會在各個類之間形成明確的決策邊界,而mixup在樣本點附近是漸變的,是一種線性過渡。

 

神經網絡訓練的最終目標是:網絡對任何輸入數據都能給出正確的預測。這意味着,對於任意的未知數據,網絡都要保持魯棒。如果能夠達到這個目的,即使網絡在訓練集上表現不好也沒關系。但是,往往,一個好的模型,在任意輸入上表現都好,因此對於訓練數據的表現也應該好。訓練過程中肯定存在這種問題:網絡對訓練數據表現越來越好,但訓練過程中我們不知道網絡有沒有出現過擬合。因此,需要一些技術,來預防模型在訓練集上出現過擬合,比如regularization、dropout、data augmentation等,mixup的提出也是為了防止過擬合。

 

Previews:

Joint distribution (https://blog.csdn.net/tiankong_/article/details/78332666),

Dirac function (https://zh.wikipedia.org/zh-cn/%E7%8B%84%E6%8B%89%E5%85%8B%CE%B4%E5%87%BD%E6%95%B0),

Beta distribution (https://www.zhihu.com/question/30269898)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM