"深度学习中Dropout优化的原理分析" 深度学习中Dropout优化的原理分析是深度学习领域中非常重要的一种优化方法,旨在解决过拟合现象。过拟合是指模型在训练数据上损失函数较小,预测准确率较高,但是在测试数据上损失函数较大,预测准确率较低。常用的防止过拟合的方法是正则化,即在模型的损失函数中,对模型的参数进行“惩罚”,使得这些参数不会太大,越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象。 Dropout是Hinton最近几年提出的,为了防止模型过拟合,Dropout可以作为一种trick供选择。在Hinton的论文摘要中指出,在每个训练批次中,通过忽略一半的特征检测器(让一半的隐层节点值为0),可以明显地减少过拟合现象。这种方法可以减少特征检测器间的相互作用,检测器相互作用是指某些检测器依赖其他检测器才能发挥作用。 Dropout方法的训练阶段可以分为两步: 1. 在标准的BP网络的结构上,使BP网络的隐层激活值以一定的概率v变为0,即:按照一定的概率v,随机地让一部分隐层节点失效。 2. 去掉权值惩罚项,取而代之的是限制权值的范围,给每个权值设置一个上限范围。如果在训练更新的过程中,权值超过了这个上限,则把权值设置为这个上限的值。这样处理,不论权值更新量有多大,权值都不会过大。 在测试阶段,需要对隐含层节点的输出值进行缩减,以便与训练阶段的输出结果保持一致。假设概率v=0.5,也就是在训练阶段以0.5的概率忽略隐层节点,假设隐层有80个节点,每个节点输出值为1,那么此时只有40个节点正常工作,也就是说总的输出为40个1和40个0,输出总和为40;而在测试阶段,由于我们的权值已经训练完成,此时就不再按照0.5的概率忽略隐层输出,假设此时每个隐层的输出还是1,那么此时总的输出为80个1,明显比dropout训练时输出大一倍(由于dropout概率为0.5),所以为了得到和训练时一样的输出结果,就缩减隐层输出为a(1-v),即此时输出80个0.5,总和也为40。 Dropout的原理分析可以看做是一种模型平均,所谓模型平均,就是把来自不同模型的估计或者预测通过一定的权重平均起来。在一些文献中也称为模型组合,它一般包括组合估计和组合预测。Dropout中哪里的“不同模型”;这个奥秘就是我们随机选择忽略隐层节点,在每个批次的训练过程中,由于每次随机忽略的隐层节点都不同,这样就使每次训练的网络都是不同的,每次训练都可以单做一个“新”的模型;此外,隐含节点都是以一定概率随机出现,因此不能保证每2个隐含节点每次都同时出现,这样权值的更新不再依赖于有固定关系隐含节点的共同作用,阻止了某些特征仅仅在其它特定特征下才有效果的情况。这样dropout过程就是一个非常有效的神经网络模型平均方法,通过训练大量的不同的网络,来平均预测概率。不同的模型在不同的训练集上训练(每个批次的训练数据都是随机选择),最后在每个模型用相同的权重来“融合”,有点类似boosting算法。 Dropout是一种非常有效的优化方法,可以防止过拟合现象,提高模型的泛化能力。通过随机忽略隐层节点,Dropout可以减少特征检测器间的相互作用,减少过拟合现象。同时,Dropout也可以看做是一种模型平均方法,通过训练大量的不同的网络,来平均预测概率。
- 粉丝: 30
- 资源: 1万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于ROS的旋转木马机器人系统.zip
- (源码)基于JSP的论坛系统.zip
- (源码)基于Arduino的温湿度监控与控制系统.zip
- (源码)基于STM32F103的正点原子战舰V3开发板系统.zip
- 基于HMMR隐马尔科夫模型的时间序列分割算法matlab仿真,包括程序,中文注释,仿真操作步骤
- (源码)基于Spring Boot和Vue的新生儿管理系统.zip
- (源码)基于Arduino的智能家居控制系统.zip
- (源码)基于数据库系统实现的聚集存储系统.zip
- (源码)基于Spring Boot和Vue的学生管理系统.zip
- (源码)基于Java Servlet的新闻发布系统.zip