当前位置:网站首页>Dropout回顾
Dropout回顾
2022-07-29 23:05:00 【GY-赵】

深度学习中,当参数过多而训练样本比较少的情况下,模型容易过拟合,具体表现为训练集上准确率高,测试集上准确率大幅降低,因此出现了各种正则化方法,用于防止过拟合。在2012年,Hinton在其论文《Improving neural networks by preventing co-adaptation of feature detectors》中提出Dropout。Dropout可以有效缓解模型过拟合,可以视为为一种正则化方法。
工作原理:在训练时,每个神经元以概率P保留,即1-P的概率停止工作,每次前向传播保留的神经元都不相同,这样使得模型不依赖于某些局部特征,泛化性能更强。而测试的时候,为了保证与训练时的输出期望一致,每个参数都要乘P。另一种改进的方法,可以避免在推理阶段进行rescale处理,称作inverted Dropout,原来的操作称为Vanilla Dropout,在训练时将保留下的神经元乘以 1 P \frac{1}{P} P1,这样推理时就不需要在改变权重。
Deep Learning 书中提到:
将其视为Bagging的的一种,Bagging是通过集合几个模型降低泛化误差的技术,主要想法是通过分别训练几个不同的模型,然后让所有模型表决测试样例的输出,这是机器学习中常规策略的一个例子,被称为模型平均(model averaging),采用这种策略的技术被称为集成方法。模型破平均有效的原因是不同模型通常不会再测试集上产生完全相同的误差。
Dropout提供了正则化一大类模型的方法,计算方便但是功能强大,可以被认为是集成大量深层神经网络的使用bagging方法。Dropout训练与Bagging训练还不一样,在Bagging情况下,所有模型是独立的,在Dropout情况下,所有模型共享参数,每个模型都继承了父神经网络参数的不同子集,参数共享使得在有限可用的内存下表示指数级数量的模型变得可能。
需要注意以下几点:
- 只有极少数训练样本可用时,Dropout不会很有效,Dropout通常用在容量很大的模型中。
- 使用Dropout训练的随机性不是这个方法成功的必要条件,随机性对于Dropout的正则化效果不是必要的,也不是充分的。他仅仅是近似模型总和的一个方法,只有当随机抽样的集成成员相互独立的训练好之后,才能达到Bagging集成的正则化效果。可以人为是一种参数共享的Bagging形式。
- Droopout强大的大部分原因来自于施加到隐藏单元的掩码噪声,了解这一事实是重要的,这可以看作是对输入内容的信息高度智能化、自适应化的一种形式,而不是对输入原始值的破坏。
另一种深度学习算法-BatchNorm,在训练时向隐藏单元引入加性和乘性噪声重新参数化模型,BN的主要目的是改善优化,是噪声具有正则化效果。
pytorch代码:

可以发现具体DL中实现与理论是有点区别的,在pytorch中P的意义是元素置零的概率,具体操作就是通过N次伯努利分布实验,也就是二项分布,生成与输入具有相同shape的0,1序列,与参数相乘即可将某些权重参数置0.
伯努利分布与二项分布


性质:https://www.cnblogs.com/bigmonkey/p/12112512.html
推荐阅读:
边栏推荐
猜你喜欢

@Autowired与@Resource区别

【面试:并发篇33:cas】原子更新器 原子累加器 缓存一致性问题

【openlayers】地图【二】

HRNet-Facial-Landmark-Detection 训练自己数据集

BGP联邦综合实验

In 2022, the latest Gansu construction staff (material staff) mock exam questions and answers

玻璃表面修饰DNA|DNA修饰的上转换纳米材料|DNA-UCNPs实验原理

devops学习(七) sonarqube 代码质检工具

DNA修饰碳纳米管|DNA修饰单层二硫化钼|DNA修饰二硫化钨(注意事项)

A print function, very good at playing?
随机推荐
【面试:并发篇29:多线程:volatile】原理
WSDM‘22推荐系统论文梳理
什么是色选机(color sorter)?
文档贡献与写作必读-OpenHarmony开发者文档风格指南
kaniko --customPlatform参数:支持不同平台的镜像构建(如:arm等)
The Sandbox 与 Gravity 达成合作,将《RO仙境传说》带入元宇宙
[C] list explanation (headless ChanXiangFei cycle)
【leetcode】50. Pow(x, n)(中等)(快速幂)
Raspberry pie wiringPi 2.6 installed on solving gpio readall command mistakes
Design for failure 12 common design ideas
在树莓派上安装 PyCharm
MQTT over QUIC:下一代物联网标准协议为消息传输场景注入新动力
卧槽,2行代码,让接口性能提升10倍
新版微信小程序发布指南
【leetcode】剑指 Offer II 002. 二进制加法
BGP Federal Comprehensive Experiment
子无序测试
Single chip ds1302 clock program (51 single chip liquid crystal display program)
真offer收割机 第一弹~大厂如何考察候选人?(附答案详解)
y81.第四章 Prometheus大厂监控体系及实战 -- 监控扩展(十二)