
摘要
Dropout 是一种强大且广泛应用的深度神经网络训练正则化技术。本文提出一种基于 Dropout 的简单正则化策略——R-Drop,该方法在模型训练过程中强制由 Dropout 生成的不同子模型的输出分布保持一致。具体而言,对于每个训练样本,R-Drop 最小化两个通过 Dropout 随机采样得到的子模型输出分布之间的双向 KL 散度。理论分析表明,R-Drop 有效降低了模型参数的自由度,从而对 Dropout 起到了补充作用。在 5 类广泛使用的深度学习任务(共 18 个数据集)上的实验验证了 R-Drop 的普适有效性,涵盖神经机器翻译、摘要生成、语言理解、语言建模以及图像分类。尤其值得注意的是,R-Drop 在微调大规模预训练模型(如 ViT、RoBERTa-large 和 BART)时表现出显著提升,且在 WMT14 英语→德语翻译任务(原始 Transformer 模型,达到 30.91 BLEU)和 WMT14 英语→法语翻译任务(达到 43.95 BLEU)上取得了当前最优(SOTA)性能,甚至超越了使用大规模额外数据训练以及采用专家设计的先进 Transformer 变体模型的性能。相关代码已开源,可在 GitHub 上获取:https://github.com/dropreg/R-Drop。
代码仓库
fushengwuyu/R-Drop
pytorch
GitHub 中提及
btobab/R-Drop
paddle
GitHub 中提及
wzh326/R-Drop
paddle
cosmoquester/2021-dialogue-summary-competition
pytorch
GitHub 中提及
dropreg/R-Drop
官方
jax
GitHub 中提及
bojone/r-drop
tf
GitHub 中提及
zpc-666/Paddle-R-Drop
paddle
GitHub 中提及
zbp-xxxp/R-Drop-Paddle
paddle
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| abstractive-text-summarization-on-cnn-daily | BART + R-Drop | ROUGE-1: 44.51 ROUGE-2: 21.58 ROUGE-L: 41.24 |
| machine-translation-on-iwslt2014-german | Transformer + R-Drop | BLEU score: 37.25 |
| machine-translation-on-iwslt2014-german | Transformer + R-Drop + Cutoff | BLEU score: 37.90 |
| machine-translation-on-wmt2014-english-french | Transformer + R-Drop | BLEU score: 43.95 Hardware Burden: Operations per network pass: |
| machine-translation-on-wmt2014-english-german | Transformer + R-Drop | BLEU score: 30.91 Hardware Burden: 49G Operations per network pass: |