当前位置:网站首页>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
推荐阅读:
边栏推荐
- 【面试:并发篇33:cas】原子更新器 原子累加器 缓存一致性问题
- [leetcode] 75. Color classification (medium) (double pointer, in-situ modification)
- 【openlayers】地图【二】
- Embedded system driver primary [1] - kernel module _ compilation method
- 云计算1+X之openstack篇
- DNA偶联二维过渡金属硫化物|DNA修饰贵金属纳米颗粒|使用方法
- 玻璃表面修饰DNA|DNA修饰的上转换纳米材料|DNA-UCNPs实验原理
- 很遗憾,没有一篇文章能讲清楚分布式事务
- 437. 路径总和 III ●●
- Mysql8.0新特性之详细版本
猜你喜欢
pnpm + workspace + changesets 构建你的 monorepo 工程
【MySQL系列】 MySQL表的增删改查(进阶)
访问公司内网
【openlayers】地图【一】
Mysql内外连接
MQTT over QUIC:下一代物联网标准协议为消息传输场景注入新动力
Design for failure常见的12种设计思想
「大厂必备」系列之Redis主从、持久化、哨兵
[leetcode] 75. Color classification (medium) (double pointer, in-situ modification)
Farmers on the assembly line: I grow vegetables in a factory
随机推荐
SAP UI5 FileUploader 的隐藏 iframe 设计明细
7.联合索引(最左前缀原则)
单片机ds1302时钟程序(51单片机液晶显示程序)
Topics in Dynamic Programming
devops学习(七) sonarqube 代码质检工具
Jsp使用<c:forEach>遍历List集合「建议收藏」
一个print函数,挺会玩啊?
The Sandbox 与 Gravity 达成合作,将《RO仙境传说》带入元宇宙
Any to Any 实时变声的实现与落地丨RTC Dev Meetup
devops学习(九) Helm工具--持续部署
暴力递归到动态规划 04 (数字字符串转化)
【leetcode】剑指 Offer II 006. 排序数组中两个数字之和(二分查找、双指针)
【leetcode】82. 删除排序链表中的重复元素 II(中等)
SAP ABAP Netweaver 容器化的一些前沿性研究工作分享
Implementation and implementation of Any to Any real-time voice change丨RTC Dev Meetup
The sequence table of the linear table (the dry goods are full of sharing ~ contains all the function codes of the sequence table~
Access Modbus TCP and Modbus RTU protocol devices using Neuron
【面试:并发篇29:多线程:volatile】原理
MQTT over QUIC:下一代物联网标准协议为消息传输场景注入新动力
【openlayers】地图【二】