博客專欄

EEPW首頁(yè) > 博客 > R-Drop:填補(bǔ)Dropout缺陷,簡(jiǎn)單又有效的正則方法

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

發(fā)布人:MSRAsia 時(shí)間:2021-07-22 來(lái)源:工程師 發(fā)布文章

編者按:深度神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)的基礎(chǔ),但其在訓(xùn)練模型時(shí)會(huì)出現(xiàn)過(guò)擬合的問(wèn)題,而簡(jiǎn)單易用的 Dropout 正則化技術(shù)可以防止這種問(wèn)題的發(fā)生。然而 Dropout 的操作在一定程度上會(huì)使得訓(xùn)練后的模型成為一種多個(gè)子模型的組合約束。

基于此,微軟亞洲研究院與蘇州大學(xué)提出了更加簡(jiǎn)單有效的正則方法 R-Drop(Regularized Dropout)。實(shí)驗(yàn)表明,R-Drop 在5個(gè)常用的包含 NLP(自然語(yǔ)言處理) 和 CV(計(jì)算機(jī)視覺(jué)) 的任務(wù)中都取得了當(dāng)前最優(yōu)的結(jié)果。本文將介紹 R-Drop 的實(shí)施方法、作用與效果,讓大家一窺 R-Drop 的玄機(jī)。

深度神經(jīng)網(wǎng)絡(luò)(DNN)近來(lái)已經(jīng)在各個(gè)領(lǐng)域都取得了令人矚目的成功。在訓(xùn)練這些大規(guī)模的 DNN 模型時(shí),正則化(regularization)技術(shù),如 L2 Normalization、Batch Normalization、Dropout 等是不可缺少的模塊,以防止模型過(guò)擬合(over-fitting),同時(shí)提升模型的泛化(generalization)能力。在這其中,Dropout 技術(shù)由于只需要簡(jiǎn)單地在訓(xùn)練過(guò)程中丟棄一部分的神經(jīng)元,而成為了被最廣為使用的正則化技術(shù)。

近日,微軟亞洲研究院與蘇州大學(xué)在 Dropout [1] 的基礎(chǔ)上提出了進(jìn)一步的正則方法:Regularized Dropout,簡(jiǎn)稱R-Drop。與傳統(tǒng)作用于神經(jīng)元(Dropout)或者模型參數(shù)(DropConnect [2])上的約束方法不同,R-Drop 作用于模型的輸出層,彌補(bǔ)了 Dropout 在訓(xùn)練和測(cè)試時(shí)的不一致性。簡(jiǎn)單來(lái)說(shuō)就是在每個(gè) mini-batch 中,每個(gè)數(shù)據(jù)樣本過(guò)兩次帶有 Dropout 的同一個(gè)模型,R-Drop 再使用 KL-divergence 約束兩次的輸出一致。所以,R-Drop 約束了由于 Dropout 帶來(lái)的兩個(gè)隨機(jī)子模型的輸出一致性。

與傳統(tǒng)的訓(xùn)練方法相比,R- Drop 只是簡(jiǎn)單增加了一個(gè) KL-divergence 損失函數(shù)項(xiàng),并沒(méi)有其他任何改動(dòng)。雖然該方法看起來(lái)很簡(jiǎn)單,但實(shí)驗(yàn)表明,在5個(gè)常用的包含 NLP 和 CV 的任務(wù)中(一共18個(gè)數(shù)據(jù)集),R-Drop 都取得了非常不錯(cuò)的結(jié)果提升,并且在機(jī)器翻譯、文本摘要等任務(wù)上取得了當(dāng)前最優(yōu)的結(jié)果。

1.jpg

論文鏈接:https://arxiv.org/abs/2106.14448

GitHub 鏈接:https://github.com/dropreg/R-Drop

R-Drop方法

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

2.png

圖1:R-Drop 框架,在訓(xùn)練時(shí)由 Dropout 帶來(lái)的兩次概率 P_1 和 P_2 的不同

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

3.png

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

4.png

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

5.png

其中 α 是用來(lái)控制 L_KL^i 的系數(shù),因此整個(gè)模型的訓(xùn)練非常簡(jiǎn)單。在實(shí)際實(shí)現(xiàn)中,數(shù)據(jù) x_i 不需要過(guò)兩次模型,而只需要把 x_i 在同一個(gè) batch 中復(fù)制一份即可。直觀地說(shuō),在訓(xùn)練時(shí),Dropout 希望每一個(gè)子模型的輸出都接近真實(shí)的分布,然而在測(cè)試時(shí),Dropout 關(guān)閉使得模型僅在參數(shù)空間上進(jìn)行了平均,因此訓(xùn)練和測(cè)試存在不一致性。而 R-Drop 則在訓(xùn)練過(guò)程中通過(guò)刻意對(duì)于子模型之間的輸出進(jìn)行約束,來(lái)約束參數(shù)空間,讓不同的輸出都能一致,從而降低了訓(xùn)練和測(cè)試的不一致性。另外,研究員們還從理論的角度出發(fā),闡述了 R-Drop 的約束項(xiàng)對(duì)于模型自由度的控制,從而更好地提升模型的泛化性能。

NLP+CV實(shí)驗(yàn)

為了驗(yàn)證 R-Drop 的作用,研究員們?cè)?個(gè)不同的 NLP 以及 CV 的任務(wù):機(jī)器翻譯、文本摘要、語(yǔ)言模型、語(yǔ)言理解、圖像分類,總計(jì)包含18個(gè)數(shù)據(jù)集上,進(jìn)行了實(shí)驗(yàn)驗(yàn)證。

1. 在機(jī)器翻譯任務(wù)上,基于最基礎(chǔ)的Transformer [3]模型,R-Drop 的訓(xùn)練在 WMT14英語(yǔ)->德語(yǔ)以及英語(yǔ)->法語(yǔ)的任務(wù)上取得了最優(yōu)的 BLEU 分?jǐn)?shù)(30.91/43.95),超過(guò)了其他各類復(fù)雜、結(jié)合預(yù)訓(xùn)練模型、或更大規(guī)模模型的結(jié)果:

6.png

表1:R-Drop 在 WMT14 英語(yǔ)->德語(yǔ)與英語(yǔ)->法語(yǔ)機(jī)器翻譯上的結(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 的模型均取得了明顯的效果提升:

7.png

表2:R-Drop 基于 Vision Transformer 在 CIFAR-100、ImageNet 微調(diào)后圖像分類的結(jié)果

3. 在NLU 語(yǔ)言理解任務(wù)上,R-Drop 在預(yù)訓(xùn)練 BERT-base [5] 以及 RoBERTa-large [6] 的骨架網(wǎng)絡(luò)上進(jìn)行微調(diào)之后,在 GLEU 基礎(chǔ)數(shù)據(jù)集上輕松取得了超過(guò)1.2和0.8個(gè)點(diǎn)的平均分?jǐn)?shù)提升:

8.png

表3:R-Drop 在 GLUE 語(yǔ)言理解的驗(yàn)證集上的微調(diào)結(jié)果

4. 在文本摘要任務(wù)上,R-Drop 基于 BART [7] 的預(yù)訓(xùn)練模型,在 CNN/Daily Mail 數(shù)據(jù)上微調(diào)之后也取得了當(dāng)前最優(yōu)的結(jié)果:

9.png

表4:R-Drop 基于 BART 模型在 CNN/Daily Mail 文本摘要上微調(diào)的結(jié)果

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

10.png

表5:R-Drop 在 Wikitext-103 數(shù)據(jù)上的語(yǔ)言模型結(jié)果

可以看到,R-Drop 雖然很簡(jiǎn)單,但效果非常出眾,取得了很多任務(wù)上的最優(yōu)結(jié)果,并且在文本、圖像等不同的領(lǐng)域都能通用。除此之外,研究員們還進(jìn)行了各類的分析實(shí)驗(yàn),包括訓(xùn)練復(fù)雜度,k 步的 R-Drop、m 次的 R-Drop 等等,更進(jìn)一步對(duì) R-Drop 進(jìn)行了全面的剖析。

結(jié)語(yǔ)與展望

R-Drop 的提出基于 Dropout 的隨機(jī)性,簡(jiǎn)單有效。在該工作中,目前只對(duì)于有監(jiān)督的任務(wù)進(jìn)行了研究,未來(lái)在無(wú)監(jiān)督、半監(jiān)督學(xué)習(xí)中,以及更多不同數(shù)據(jù)類型的任務(wù)中,也值得更為深入地探索。歡迎大家使用 R-Drop 訓(xùn)練技術(shù)在各類實(shí)際的場(chǎng)景中進(jìn)行應(yīng)用。期待 R-Drop 的思想能啟發(fā)更多好的工作。

相關(guān)分享:

又是Dropout兩次!這次它做到了有監(jiān)督任務(wù)的SOTA

https://kexue.fm/archives/8496

參考文獻(xiàn):

[1] Srivastava, Nitish, et al. "Dropout: a simple way to prevent neural networks from overfitting." The journal of machine learning research 15.1 (2014): 1929-1958.

[2] Wan, Li, et al. "Regularization of neural networks using dropconnect." International conference on machine learning. PMLR, 2013.

[3] Vaswani, Ashish, et al. "Attention is all you need." Advances in neural information processing systems. 2017.

[4] Dosovitskiy, Alexey, et al. "An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale." International Conference on Learning Representations. 2020.

[5] Kenton, Jacob Devlin Ming-Wei Chang, and Lee Kristina Toutanova. "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding." Proceedings of NAACL-HLT. 2019.

[6] Liu, Yinhan, et al. "Roberta: A robustly optimized bert pretraining approach." arXiv preprint arXiv:1907.11692 (2019).

[7] Lewis, Mike, et al. "BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension." Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. 2020.

[8] Baevski, Alexei, and Michael Auli. "Adaptive Input Representations for Neural Language Modeling." International Conference on Learning Representations. 2018.

*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。

led燈相關(guān)文章:led燈原理




關(guān)鍵詞: 深度學(xué)習(xí)

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉