R-Drop:填補Dropout缺陷,簡單又有效的正則方法
編者按:深度神經(jīng)網(wǎng)絡是深度學習的基礎,但其在訓練模型時會出現(xiàn)過擬合的問題,而簡單易用的 Dropout 正則化技術可以防止這種問題的發(fā)生。然而 Dropout 的操作在一定程度上會使得訓練后的模型成為一種多個子模型的組合約束。
基于此,微軟亞洲研究院與蘇州大學提出了更加簡單有效的正則方法 R-Drop(Regularized Dropout)。實驗表明,R-Drop 在5個常用的包含 NLP(自然語言處理) 和 CV(計算機視覺) 的任務中都取得了當前最優(yōu)的結(jié)果。本文將介紹 R-Drop 的實施方法、作用與效果,讓大家一窺 R-Drop 的玄機。
深度神經(jīng)網(wǎng)絡(DNN)近來已經(jīng)在各個領域都取得了令人矚目的成功。在訓練這些大規(guī)模的 DNN 模型時,正則化(regularization)技術,如 L2 Normalization、Batch Normalization、Dropout 等是不可缺少的模塊,以防止模型過擬合(over-fitting),同時提升模型的泛化(generalization)能力。在這其中,Dropout 技術由于只需要簡單地在訓練過程中丟棄一部分的神經(jīng)元,而成為了被最廣為使用的正則化技術。
近日,微軟亞洲研究院與蘇州大學在 Dropout [1] 的基礎上提出了進一步的正則方法:Regularized Dropout,簡稱R-Drop。與傳統(tǒng)作用于神經(jīng)元(Dropout)或者模型參數(shù)(DropConnect [2])上的約束方法不同,R-Drop 作用于模型的輸出層,彌補了 Dropout 在訓練和測試時的不一致性。簡單來說就是在每個 mini-batch 中,每個數(shù)據(jù)樣本過兩次帶有 Dropout 的同一個模型,R-Drop 再使用 KL-divergence 約束兩次的輸出一致。所以,R-Drop 約束了由于 Dropout 帶來的兩個隨機子模型的輸出一致性。
與傳統(tǒng)的訓練方法相比,R- Drop 只是簡單增加了一個 KL-divergence 損失函數(shù)項,并沒有其他任何改動。雖然該方法看起來很簡單,但實驗表明,在5個常用的包含 NLP 和 CV 的任務中(一共18個數(shù)據(jù)集),R-Drop 都取得了非常不錯的結(jié)果提升,并且在機器翻譯、文本摘要等任務上取得了當前最優(yōu)的結(jié)果。
論文鏈接:https://arxiv.org/abs/2106.14448
GitHub 鏈接:https://github.com/dropreg/R-Drop
R-Drop方法
由于深度神經(jīng)網(wǎng)絡非常容易過擬合,因此 Dropout 方法采用了隨機丟棄每層的部分神經(jīng)元,以此來避免在訓練過程中的過擬合問題。正是因為每次隨機丟棄部分神經(jīng)元,導致每次丟棄后產(chǎn)生的子模型都不一樣,所以 Dropout 的操作一定程度上使得訓練后的模型是一種多個子模型的組合約束?;?Dropout 的這種特殊方式對網(wǎng)絡帶來的隨機性,研究員們提出了 R-Drop 來進一步對(子模型)網(wǎng)絡的輸出預測進行了正則約束。
圖1:R-Drop 框架,在訓練時由 Dropout 帶來的兩次概率 P_1 和 P_2 的不同
具體來說,當給定訓練數(shù)據(jù) D={x_i,y_i }_(i=1)^n 后,對于每個訓練樣本 x_i,會經(jīng)過兩次網(wǎng)絡的前向傳播,從而得到兩次輸出預測:P_1 (y_i│x_i ), P_2 (y_i |x_i)。由于 Dropout 每次會隨機丟棄部分神經(jīng)元,因此 P_1 和 P_2 是經(jīng)過兩個不同的子網(wǎng)絡(來源于同一個模型)得到的不同的兩個預測概率(如圖1所示)。R-Drop 利用這兩個預測概率的不同,采用了對稱的 Kullback-Leibler (KL) divergence 來對 P_1 和 P_2 進行約束:
再加上傳統(tǒng)的最大似然損失函數(shù):
最終的訓練損失函數(shù)即為:
其中 α 是用來控制 L_KL^i 的系數(shù),因此整個模型的訓練非常簡單。在實際實現(xiàn)中,數(shù)據(jù) x_i 不需要過兩次模型,而只需要把 x_i 在同一個 batch 中復制一份即可。直觀地說,在訓練時,Dropout 希望每一個子模型的輸出都接近真實的分布,然而在測試時,Dropout 關閉使得模型僅在參數(shù)空間上進行了平均,因此訓練和測試存在不一致性。而 R-Drop 則在訓練過程中通過刻意對于子模型之間的輸出進行約束,來約束參數(shù)空間,讓不同的輸出都能一致,從而降低了訓練和測試的不一致性。另外,研究員們還從理論的角度出發(fā),闡述了 R-Drop 的約束項對于模型自由度的控制,從而更好地提升模型的泛化性能。
NLP+CV實驗
為了驗證 R-Drop 的作用,研究員們在5個不同的 NLP 以及 CV 的任務:機器翻譯、文本摘要、語言模型、語言理解、圖像分類,總計包含18個數(shù)據(jù)集上,進行了實驗驗證。
1. 在機器翻譯任務上,基于最基礎的Transformer [3]模型,R-Drop 的訓練在 WMT14英語->德語以及英語->法語的任務上取得了最優(yōu)的 BLEU 分數(shù)(30.91/43.95),超過了其他各類復雜、結(jié)合預訓練模型、或更大規(guī)模模型的結(jié)果:
表1:R-Drop 在 WMT14 英語->德語與英語->法語機器翻譯上的結(jié)果
2. 在圖像分類任務上,基于預訓練好的 Vision Transformer(ViT)[4] 為骨架網(wǎng)絡,R-Drop 在 CIFAR-100 數(shù)據(jù)集以及 ImageNet 數(shù)據(jù)集上微調(diào)之后,ViT-B/16 和 ViT-L/16 的模型均取得了明顯的效果提升:
表2:R-Drop 基于 Vision Transformer 在 CIFAR-100、ImageNet 微調(diào)后圖像分類的結(jié)果
3. 在NLU 語言理解任務上,R-Drop 在預訓練 BERT-base [5] 以及 RoBERTa-large [6] 的骨架網(wǎng)絡上進行微調(diào)之后,在 GLEU 基礎數(shù)據(jù)集上輕松取得了超過1.2和0.8個點的平均分數(shù)提升:
表3:R-Drop 在 GLUE 語言理解的驗證集上的微調(diào)結(jié)果
4. 在文本摘要任務上,R-Drop 基于 BART [7] 的預訓練模型,在 CNN/Daily Mail 數(shù)據(jù)上微調(diào)之后也取得了當前最優(yōu)的結(jié)果:
表4:R-Drop 基于 BART 模型在 CNN/Daily Mail 文本摘要上微調(diào)的結(jié)果
5. 在語言模型任務上,基于原始 Transformer 以及 Adaptive Transformer [8],R-Drop 的訓練在 Wikitext-103 數(shù)據(jù)集上取得了1.79和0.80的 ppl 提升:
表5:R-Drop 在 Wikitext-103 數(shù)據(jù)上的語言模型結(jié)果
可以看到,R-Drop 雖然很簡單,但效果非常出眾,取得了很多任務上的最優(yōu)結(jié)果,并且在文本、圖像等不同的領域都能通用。除此之外,研究員們還進行了各類的分析實驗,包括訓練復雜度,k 步的 R-Drop、m 次的 R-Drop 等等,更進一步對 R-Drop 進行了全面的剖析。
結(jié)語與展望
R-Drop 的提出基于 Dropout 的隨機性,簡單有效。在該工作中,目前只對于有監(jiān)督的任務進行了研究,未來在無監(jiān)督、半監(jiān)督學習中,以及更多不同數(shù)據(jù)類型的任務中,也值得更為深入地探索。歡迎大家使用 R-Drop 訓練技術在各類實際的場景中進行應用。期待 R-Drop 的思想能啟發(fā)更多好的工作。
相關分享:
又是Dropout兩次!這次它做到了有監(jiān)督任務的SOTA
https://kexue.fm/archives/8496
參考文獻:
[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)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。
led燈相關文章:led燈原理