R-Drop:填補(bǔ)Dropout缺陷,簡單又有效的正則方法

極市導(dǎo)讀
近日,微軟亞洲研究院與蘇州大學(xué)在 Dropout的基礎(chǔ)上提出了進(jìn)一步的正則方法:Regularized Dropout,簡稱R-Drop。與傳統(tǒng)作用于神經(jīng)元或者模型參數(shù)上的約束方法不同,R-Drop 作用于模型的輸出層,彌補(bǔ)了 Dropout 在訓(xùn)練和測試時的不一致性。 >>加入極市CV技術(shù)交流群,走在計算機(jī)視覺的最前沿
編者按:深度神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)的基礎(chǔ),但其在訓(xùn)練模型時會出現(xiàn)過擬合的問題,而簡單易用的 Dropout 正則化技術(shù)可以防止這種問題的發(fā)生。然而 Dropout 的操作在一定程度上會使得訓(xùn)練后的模型成為一種多個子模型的組合約束。
基于此,微軟亞洲研究院與蘇州大學(xué)提出了更加簡單有效的正則方法 R-Drop(Regularized Dropout)。實(shí)驗(yàn)表明,R-Drop 在5個常用的包含 NLP(自然語言處理) 和 CV(計算機(jī)視覺) 的任務(wù)中都取得了當(dāng)前最優(yōu)的結(jié)果。本文將介紹 R-Drop 的實(shí)施方法、作用與效果,讓大家一窺 R-Drop 的玄機(jī)。
深度神經(jīng)網(wǎng)絡(luò)(DNN)近來已經(jīng)在各個領(lǐng)域都取得了令人矚目的成功。在訓(xùn)練這些大規(guī)模的 DNN 模型時,正則化(regularization)技術(shù),如 L2 Normalization、Batch Normalization、Dropout 等是不可缺少的模塊,以防止模型過擬合(over-fitting),同時提升模型的泛化(generalization)能力。在這其中,Dropout 技術(shù)由于只需要簡單地在訓(xùn)練過程中丟棄一部分的神經(jīng)元,而成為了被最廣為使用的正則化技術(shù)。
近日,微軟亞洲研究院與蘇州大學(xué)在 Dropout [1] 的基礎(chǔ)上提出了進(jìn)一步的正則方法:Regularized Dropout,簡稱R-Drop。與傳統(tǒng)作用于神經(jīng)元(Dropout)或者模型參數(shù)(DropConnect [2])上的約束方法不同,R-Drop 作用于模型的輸出層,彌補(bǔ)了 Dropout 在訓(xùn)練和測試時的不一致性。簡單來說就是在每個 mini-batch 中,每個數(shù)據(jù)樣本過兩次帶有 Dropout 的同一個模型,R-Drop 再使用 KL-divergence 約束兩次的輸出一致。所以,R-Drop 約束了由于 Dropout 帶來的兩個隨機(jī)子模型的輸出一致性。
與傳統(tǒng)的訓(xùn)練方法相比,R- Drop 只是簡單增加了一個 KL-divergence 損失函數(shù)項(xiàng),并沒有其他任何改動。雖然該方法看起來很簡單,但實(shí)驗(yàn)表明,在5個常用的包含 NLP 和 CV 的任務(wù)中(一共18個數(shù)據(jù)集),R-Drop 都取得了非常不錯的結(jié)果提升,并且在機(jī)器翻譯、文本摘要等任務(wù)上取得了當(dāng)前最優(yōu)的結(jié)果。

論文鏈接:https://arxiv.org/abs/2106.14448
GitHub鏈接:https://github.com/dropreg/R-Drop
R-Drop方法
由于深度神經(jīng)網(wǎng)絡(luò)非常容易過擬合,因此 Dropout 方法采用了隨機(jī)丟棄每層的部分神經(jīng)元,以此來避免在訓(xùn)練過程中的過擬合問題。正是因?yàn)槊看坞S機(jī)丟棄部分神經(jīng)元,導(dǎo)致每次丟棄后產(chǎn)生的子模型都不一樣,所以 Dropout 的操作一定程度上使得訓(xùn)練后的模型是一種多個子模型的組合約束?;?Dropout 的這種特殊方式對網(wǎng)絡(luò)帶來的隨機(jī)性,研究員們提出了 R-Drop 來進(jìn)一步對(子模型)網(wǎng)絡(luò)的輸出預(yù)測進(jìn)行了正則約束。

圖1:R-Drop 框架,在訓(xùn)練時由 Dropout 帶來的兩次概率 P_1 和 P_2 的不同
具體來說,當(dāng)給定訓(xùn)練數(shù)據(jù) D={x_i,y_i }_(i=1)^n 后,對于每個訓(xùn)練樣本 x_i,會經(jīng)過兩次網(wǎng)絡(luò)的前向傳播,從而得到兩次輸出預(yù)測:P_1 (y_i│x_i ), P_2 (y_i |x_i)。由于 Dropout 每次會隨機(jī)丟棄部分神經(jīng)元,因此 P_1 和 P_2 是經(jīng)過兩個不同的子網(wǎng)絡(luò)(來源于同一個模型)得到的不同的兩個預(yù)測概率(如圖1所示)。R-Drop 利用這兩個預(yù)測概率的不同,采用了對稱的 Kullback-Leibler (KL) divergence 來對 P_1 和 P_2 進(jìn)行約束:

再加上傳統(tǒng)的最大似然損失函數(shù):

最終的訓(xùn)練損失函數(shù)即為:

其中 α 是用來控制 L_KL^i 的系數(shù),因此整個模型的訓(xùn)練非常簡單。在實(shí)際實(shí)現(xiàn)中,數(shù)據(jù) x_i 不需要過兩次模型,而只需要把 x_i 在同一個 batch 中復(fù)制一份即可。直觀地說,在訓(xùn)練時,Dropout 希望每一個子模型的輸出都接近真實(shí)的分布,然而在測試時,Dropout 關(guān)閉使得模型僅在參數(shù)空間上進(jìn)行了平均,因此訓(xùn)練和測試存在不一致性。而 R-Drop 則在訓(xùn)練過程中通過刻意對于子模型之間的輸出進(jìn)行約束,來約束參數(shù)空間,讓不同的輸出都能一致,從而降低了訓(xùn)練和測試的不一致性。另外,研究員們還從理論的角度出發(fā),闡述了 R-Drop 的約束項(xiàng)對于模型自由度的控制,從而更好地提升模型的泛化性能。
NLP+CV實(shí)驗(yàn)
為了驗(yàn)證 R-Drop 的作用,研究員們在5個不同的 NLP 以及 CV 的任務(wù):機(jī)器翻譯、文本摘要、語言模型、語言理解、圖像分類,總計包含18個數(shù)據(jù)集上,進(jìn)行了實(shí)驗(yàn)驗(yàn)證。
1. 在機(jī)器翻譯任務(wù)上,基于最基礎(chǔ)的Transformer [3]模型,R-Drop 的訓(xùn)練在 WMT14英語->德語以及英語->法語的任務(wù)上取得了最優(yōu)的 BLEU 分?jǐn)?shù)(30.91/43.95),超過了其他各類復(fù)雜、結(jié)合預(yù)訓(xùn)練模型、或更大規(guī)模模型的結(jié)果:

2. 在圖像分類任務(wù)上,基于預(yù)訓(xùn)練好的 Vision Transformer(ViT)[4] 為骨架網(wǎng)絡(luò),R-Drop 在 CIFAR-100 數(shù)據(jù)集以及 ImageNet 數(shù)據(jù)集上微調(diào)之后,ViT-B/16 和 ViT-L/16 的模型均取得了明顯的效果提升:

3. 在NLU 語言理解任務(wù)上,R-Drop 在預(yù)訓(xùn)練 BERT-base [5] 以及 RoBERTa-large [6] 的骨架網(wǎng)絡(luò)上進(jìn)行微調(diào)之后,在 GLEU 基礎(chǔ)數(shù)據(jù)集上輕松取得了超過1.2和0.8個點(diǎn)的平均分?jǐn)?shù)提升:
4. 在文本摘要任務(wù)上,R-Drop 基于 BART [7] 的預(yù)訓(xùn)練模型,在 CNN/Daily Mail 數(shù)據(jù)上微調(diào)之后也取得了當(dāng)前最優(yōu)的結(jié)果:

5. 在語言模型任務(wù)上,基于原始 Transformer 以及 Adaptive Transformer [8],R-Drop 的訓(xùn)練在 Wikitext-103 數(shù)據(jù)集上取得了1.79和0.80的 ppl 提升:

可以看到,R-Drop 雖然很簡單,但效果非常出眾,取得了很多任務(wù)上的最優(yōu)結(jié)果,并且在文本、圖像等不同的領(lǐng)域都能通用。除此之外,研究員們還進(jìn)行了各類的分析實(shí)驗(yàn),包括訓(xùn)練復(fù)雜度,k 步的 R-Drop、m 次的 R-Drop 等等,更進(jìn)一步對 R-Drop 進(jìn)行了全面的剖析。
結(jié)語與展望
R-Drop 的提出基于 Dropout 的隨機(jī)性,簡單有效。在該工作中,目前只對于有監(jiān)督的任務(wù)進(jìn)行了研究,未來在無監(jiān)督、半監(jiān)督學(xué)習(xí)中,以及更多不同數(shù)據(jù)類型的任務(wù)中,也值得更為深入地探索。歡迎大家使用 R-Drop 訓(xùn)練技術(shù)在各類實(shí)際的場景中進(jìn)行應(yīng)用。期待 R-Drop 的思想能啟發(fā)更多好的工作。
參考文獻(xiàn):
本文亮點(diǎn)總結(jié)
如果覺得有用,就請分享到朋友圈吧!
公眾號后臺回復(fù)“ICCV2021”獲取最新論文合集~

# CV技術(shù)社群邀請函 #

備注:姓名-學(xué)校/公司-研究方向-城市(如:小極-北大-目標(biāo)檢測-深圳)
即可申請加入極市目標(biāo)檢測/圖像分割/工業(yè)檢測/人臉/醫(yī)學(xué)影像/3D/SLAM/自動駕駛/超分辨率/姿態(tài)估計/ReID/GAN/圖像增強(qiáng)/OCR/視頻理解等技術(shù)交流群
每月大咖直播分享、真實(shí)項(xiàng)目需求對接、求職內(nèi)推、算法競賽、干貨資訊匯總、與 10000+來自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺開發(fā)者互動交流~

