神经网络之dropout层

摘要:
在过去两年中,通过暗示提出退学;为了防止模型过度拟合,可以选择Dropout作为trikc。三次脱落原理分析脱落可被视为模型平均值。所谓的模型平均值,顾名思义,就是将不同模型的估计值或预测值按一定的权重进行平均。在一些文献中,它也被称为模型组合,通常包括组合估计和组合预测。这样,退出过程是一种非常有效的神经网络模型平均方法,它通过训练大量不同的网络来平均预测概率。

一:引言

  因为在机器学习的一些模型中,如果模型的参数太多,而训练样本又太少的话,这样训练出来的模型很容易产生过拟合现象。在训练bp网络时经常遇到的一个问题,过拟合指的是模型在训练数据上损失函数比较小,预测准确率较高(如果通过画图来表示的话,就是拟合曲线比较尖,不平滑,泛化能力不好),但是在测试数据上损失函数比较大,预测准确率较低。

  常用的防治过拟合的方法是在模型的损失函数中,需要对模型的参数进行“惩罚”,这样的话这些参数就不会太大,而越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象。因此在添加权值惩罚项后,应用梯度下降算法迭代优化计算时,如果参数theta比较大,则此时的正则项数值也比较大,那么在下一次更新参数时,参数削减的也比较大。可以使拟合结果看起来更平滑,不至于过拟合。

  Dropout是hintion最近2年提出的;为了防止模型过拟合,Dropout可以作为一种trikc供选择。在hinton的论文摘要中指出,在每个训练批次中,通过忽略一半的特征检测器(让一半的隐层节点值为0),可以明显地减少过拟合现象。这种方式可以减少特征检测器间的相互作用,检测器相互作用是指某些检测器依赖其他检测器才能发挥作用。

二 Dropout方法

训练阶段:

  1.Dropout是在标准的bp网络的的结构上,使bp网的隐层激活值,以一定的比例v变为0,即按照一定比例v,随机地让一部分隐层节点失效;在后面benchmark实验测试时,部分实验让隐层节点失效的基础上,使输入数据也以一定比例(试验用20%)是部分输入数据失效(这个有点像denoising autoencoder),这样得到了更好的结果。

  2.去掉权值惩罚项,取而代之的事,限制权值的范围,给每个权值设置一个上限范围;如果在训练跟新的过程中,权值超过了这个上限,则把权值设置为这个上限的值(这个上限值得设定作者并没有说设置多少最好,后面的试验中作者说这个上限设置为15时,最好;为啥?估计是交叉验证得出的实验结论)。

  这样处理,不论权值更新量有多大,权值都不会过大。此外,还可以使算法使用一个比较大的学习率,来加快学习速度,从而使算法在一个更广阔的权值空间中搜索更好的权值,而不用担心权值过大。

测试阶段:

  在网络前向传播到输出层前时隐含层节点的输出值都要缩减到(1-v)倍;例如正常的隐层输出为a,此时需要缩减为a(1-v)。

  这里我的解释是:假设比例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可以看做是一种模型平均,所谓模型平均,顾名思义,就是把来自不同模型的估计或者预测通过一定的权重平均起来,在一些文献中也称为模型组合,它一般包括组合估计和组合预测。

  Dropout中哪里体现了“不同模型”;这个奥秘就是我们随机选择忽略隐层节点,在每个批次的训练过程中,由于每次随机忽略的隐层节点都不同,这样就使每次训练的网络都是不一样的,每次训练都可以单做一个“新”的模型;此外,隐含节点都是以一定概率随机出现,因此不能保证每2个隐含节点每次都同时出现,这样权值的更新不再依赖于有固定关系隐含节点的共同作用,阻止了某些特征仅仅在其它特定特征下才有效果的情况。

  这样dropout过程就是一个非常有效的神经网络模型平均方法,通过训练大量的不同的网络,来平均预测概率。不同的模型在不同的训练集上训练(每个批次的训练数据都是随机选择),最后在每个模型用相同的权重来“融合”,介个有点类似boosting算法。

http://m.blog.csdn.net/article/details?id=50890473

免责声明:文章转载自《神经网络之dropout层》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇react-native-baidu-map安装配置Agile PLM Engineering Collaboration SolidWorks Connector下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

李宏毅深度学习笔记04---RNN 循环神经网络01

1.RNN导出案例---Neural network needs memory 加入记忆元素的案例: 2.RNN的结构 当神经网络有了记忆后,由于存储在memory中的值不同,模型的输出也会不同。 当然,RNN的结构可以是深层的。 3.Bidirectional RNN 双向的循环神经网络 双向RNN的优点:例如填写完形填空时,读了这个句子中挖...

ONNX-开放式神经网络交换格式

以下内容根据个人理解整理而成,如有错误,欢迎指出,不胜感激。 1. ONNX简介 ONNX是一种针对机器学习所设计的开放式的文件格式,用于存储训练好的模型。它使得不同的人工智能框架(如Pytorch, MXNet)可以采用相同格式存储模型数据并交互。 ONNX的规范及代码主要由微软,亚马逊 ,Facebook 和 IBM 等公司共同开发,以开放源代码的方式...

前馈神经网络介绍

转自出处: http://blog.csdn.net/walilk/article/details/50278697 符号说明: 以如下图为例: 前面的网络结构对应二分类问题 后面的网络结构对应多分类问题 Layer层: 最左边的层为输入层(input layer),对应样本特征 最右边的层为输出层(output layer),对应预测结果 Node:...

【b301】神经网络

神经网络(NOIP2003第1题) Time Limit: 1 second Memory Limit: 50 MB 【问题背景】 人工神经网络(Artificial Neural Network)是一种新兴的具有自我学习能力的计算系统,在模式识别、函数逼近及贷款风险评估等诸多领域有广泛的应用。对神经网络的研究一直是当今的热门方向,兰兰同学在自学了一...

图卷积神经网络(GCN)入门

图卷积网络Graph Convolutional Nueral Network,简称GCN,最近两年大热,取得不少进展。不得不专门为GCN开一个新篇章,表示其重要程度。本文结合大量参考文献,从理论到实践,从由来到数学推导,讲述GCN的发展和应用。 综述 在扎进GCN的汪洋大海前,我们先搞清楚GCN是做什么的,有什么用。深度学习一直都是被几大经典模型给统治着...

吴恩达《卷积神经网络》课程笔记(1)-- 卷积神经网络基础

1. Computer Vision计算机视觉是深度学习应用的主要方向之一。一般的CV问题包括以下三类: Image Classification图像分类,Object detection目标检测,Neural Style Transfer图片风格迁移 下图展示了一个Neural Style Transfer的例子:   使用传统神经网络处理计算机视觉的一...