当前位置:网站首页>R-Drop:更强大的Dropout正则方法
R-Drop:更强大的Dropout正则方法
2022-04-23 11:07:00 【研究生不迟到】
写在前面:本文学习引用微软研究院AI头条、“肉丸先生呀”的博文“R-Drop——更强大的Dropout”
1 背景介绍
1.1 Dropout技术
深度神经网络(DNN)近来已经在各个领域都取得了令人瞩目的成功。在训练这些大规模的 DNN 模型时,正则化(regularization)技术,如 L2 Normalization、Batch Normalization、Dropout 等是不可缺少的模块,以防止模型过拟合(over-fitting),同时提升模型的泛化(generalization)能力。在这其中,Dropout 技术由于只需要简单地在训练过程中丢弃一部分的神经元,而成为了被最广为使用的正则化技术。
正则化技术 regularization : L2 Normalization、Batch Normalization、Dropout 等等
- 然而 Dropout 的操作,在一定程度上会使得训练后的模型成为一种多个子模型的组合约束。 因此,提出了
R-Drop

1.2 Regularized Dropout (R-Drop)技术
微软亚洲研究院与苏州大学 在 Dropout 的基础上提出了进一步的正则方法:Regularized Dropout,简称R-Drop。
与传统作用于神经元(Dropout)或者模型参数(DropConnect )上的约束方法不同,R-Drop 作用于模型的输出层,弥补了 Dropout 在训练和测试时的不一致性。
简单来说就是在每个 mini-batch 中,每个数据样本过两次带有 Dropout 的同一个模型,R-Drop 再使用 KL-divergence 约束两次的输出一致。所以,R-Drop 约束了由于 Dropout 带来的两个随机子模型的输出一致性。【这里有些晦涩难懂,后面会继续介绍】
与传统的训练方法相比,R- Drop 只是简单增加了一个 KL-divergence 损失函数项,并没有其他任何改动。虽然该方法看起来很简单,但实验表明,在5个常用的包含 NLP 和 CV 的任务中(一共18个数据集),R-Drop 都取得了非常不错的结果提升,并且在机器翻译、文本摘要等任务上取得了当前最优的结果。
2 R-Dropout的原理介绍
由于DNN非常容易过拟合,因此采用Dropout方法,随机丢弃每层的部分神经元,以此来避免在训练过程中的过拟合问题。
而正是因为随机丢弃,导致了每次丢弃后产生的子模型都不一样,所以Dropout的操作在一定程度上使得训练后的模型是一种多个子模型的组合约束。
基于 Dropout 的这种特殊方式对网络带来的随机性,研究员们提出了 R-Drop 来进一步对(子模型)网络的输出预测进行了正则约束。
增加一个 KL-divergence 损失函数项
- 总体框架如下:


2.1 模型解释
- 论文提出的模型是上图中右侧模型。可以看到,同一个数据在两次计算中,使用了随机dropout后,得到了两个不同的子模型,图中 P 1 ( y ∣ x ) P_1(y|x) P1(y∣x)和 P 2 ( y ∣ x ) P_2(y|x) P2(y∣x)是两个子模型的分布情况。(两个子模型是因为,Dropout丢失的神经元不同)
- 因此,对于相同的输入数据 P 1 w ( y ∣ x ) P_1^w(y|x) P1w(y∣x)和 P 2 w ( y ∣ x ) P_2^w(y|x) P2w(y∣x)的分布是不同的。
- 因此,在训练步骤中,R-Dropout方法,尝试通过最小化同一样本的这两个输出分布之间的双向 K u l l b a c k − L e i b l e r ( K L ) Kullback−Leibler(KL) Kullback−Leibler(KL) 散度来正则化模型预测。
3 总结
-
Dropout的缺陷很明显:预测和训练的不一致性,这也是很直观的。
-
而R-D通过增加一个正则项,来强化模型对Dropout的鲁棒性,使得不同的Dropout下模型的输出基本一致,因此能降低这种不一致性,促进“模型平均”与“权重平均”的相似性,从而使得简单关闭Dropout的效果等价于多Dropout模型融合的结果,提升模型最终性能。
-
总的来说,R-D形式简洁,效果出色,是一个非常具有创新点的想法。但是针对R-D为什么可以做到如此出色的效果,以及如何引导模型找到合适的R-D也是非常值得探究的。
版权声明
本文为[研究生不迟到]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_42521185/article/details/124359544
边栏推荐
- Using El popconfirm and El backtop does not take effect
- Visualization Road (10) detailed explanation of segmentation canvas function
- Learning Notes 6 - Summary of several deep learning convolutional neural networks
- Simple thoughts on the design of a microblog database
- Solution architect's small bag - 5 types of architecture diagrams
- Solutions to common problems in visualization (IX) background color
- 采用百度飞桨EasyDL完成指定目标识别
- Mba-day5 Mathematics - application problems - engineering problems
- CUMCM 2021-B:乙醇偶合制備C4烯烴(2)
- 关于JUC三大常用辅助类
猜你喜欢

Excel · VBA array bubble sorting function

26. 删除有序数组中的重复项

Ueditor -- limitation of 4m size of image upload component

Manjaro installation and configuration (vscode, wechat, beautification, input method)

Visual common drawing (V) scatter diagram

Structure of C language (Advanced)

Typora operation skill description (I) md

Jupyter Lab 十大高生产力插件

MIT:用无监督为世界上每个像素都打上标签!人类:再也不用为1小时视频花800个小时了

CUMCM 2021-b: preparation of C4 olefins by ethanol coupling (2)
随机推荐
More reliable model art than deep learning
Mysql中一千万条数据怎么快速查询
MBA-day6 逻辑学-假言推理练习题
精彩回顾|「源」来如此 第六期 - 开源经济与产业投资
About the three commonly used auxiliary classes of JUC
colab
CUMCM 2021-B:乙醇偶合制备C4烯烃(2)
Derivation and regularization
Cygwin 中的 rename 用法
Using El popconfirm and El backtop does not take effect
《Neo4j权威指南》简介,求伯君、周鸿袆、胡晓峰、周涛等大咖隆重推荐
MySQL Router重装后重新连接集群进行引导出现的——此主机中之前已配置过的问题
Hikvision face to face summary
Facing the global market, platefarm today logs in to four major global platforms such as Huobi
An interesting interview question
一个微博数据库设计带来的简单思考
Source insight 4.0 FAQs
Pytorch implementation of transformer
SWAT - Introduction to Samba web management tool
vm设置静态虚拟机