《一种防止过拟合的方法.ppt》由会员分享,可在线阅读,更多相关《一种防止过拟合的方法.ppt(23页珍藏版)》请在三一办公上搜索。
1、一种防止过拟合的方法Dropout的介绍,College of Information Engineering,贺 敏,November 12,2015,Company Logo,Outline,Dropout的背景及产生动机Dropout模型的描述 Dropout的部分实验结果进一步了解Dropout总结,Company Logo,Dropout的背景及产生动机,背景:深度神经网络具有多层非线性的隐含层,这使得它可以学习输入输出之间复杂的关系,然而在有限的训练数据,这将会产生采样噪音,即使训练数据和实际数据属于相同的分布,但是数据模型在训练集里表现非常满意,但是一旦应用到真实业务实践时,效果
2、大打折扣。这就是过拟合,Company Logo,Dropout的背景及产生动机,如何处理过拟合:early stopping、数据集扩增(Data augmentation)、L1 RegularizationL2 regularizationdropout,Company Logo,Dropout的背景及产生动机,几种方法的区别:L1、L2正则化是通过修改代价函数来实现的Dropout则是通过修改神经网络本身来实现的Data augmentation是通过修改数据实现的,Company Logo,Dropout的背景及产生动机,产生动机:来源于有性繁殖基因的选择增加了随机性,在进化过程中,
3、基因不能依赖于其他的基因,也就增强了健壮性同理,随机的删掉隐含层的一些节点后,同样也会增强其他节点提取特征的能力,Company Logo,Dropout的模型描述,Dropout是指在模型训练时随机让网络某些隐含层节点的权重不工作,不工作的那些节点可以暂时认为不是网络结构的一部分,但是它的权重得保留下来(只是暂时不更新而已),因为下次样本输入时它可能又得工作了.,Company Logo,Dropout的模型描述,如图所示,在训练时,节点按照概率P决定是否工作。在测试时,不使用Dropout,但是要按比例的缩放权重,如上图b所示,这样才能保证预期输出与实际输出一致。,Company Logo
4、,Dropout的模型描述,假设一个神经网络有L个隐含层l1,2.L标准的前向神经网络是:,其中激活函数,Company Logo,Dropout的模型描述,使用Dropout后:,在测试时的权重进行缩放,Company Logo,Dropout率的选择与训练过程,经过交叉验证,隐含节点dropout率等于0.5的时候效最好,原因是0.5的时候dropout随机生成的网络结构最多。dropout也可以被用作一种添加噪声的方法,直接对input进行操作。输入层设为更接近1的数。使得输入变化不会太大(0.8),Company Logo,Dropout率的选择与训练过程,对参数w的训练进行球形限制,
5、对dropout的训练非常有用。球形半径c是一个需要调整的参数。可以使用验证集进行参数调优。这就叫 max-norm regularization,可以提高随机梯度下降效果使用pretraining方法也可以帮助dropout训练参数,在使用dropout时,要将所有参数都乘以1/p。这样可以保证dropout的输出与预训练的输出一致,Company Logo,Dropout的部分实验结论,论文中采用的数据集是:MNIST:手写体数据 TIMIT:语音识别的标准语音基因 CIFAR-10 and CIFAR-100:自然图像 Street View House Numbers data set
6、(SVHN):谷歌街景的房子 ImageNet:图像数据库 Reuters-RCV1:新闻文章的数据库,Company Logo,Dropout的部分实验结论,这里我们只看MNIST,训练集有60000个 测试集为10000个 维度是784(28*28 grayscale),所有采用Dropout的网络中隐含层:P=0.5输入层:P=0.8,Company Logo,Dropout的部分实验结论,论文中给出的结果,Company Logo,Dropout的部分实验结论,没用Dropout时:测试样本错误率:15.500%使用Dropout时:测试样本错误率:13.000%可以看出使用Dropo
7、ut后,测试样本的错误率降低了,说明Dropout的泛化能力不错,可以防止过拟合。,训练样本2000个,测试样本1000个结构是784-100-10,Company Logo,Dropout的部分实验结论,通过调用工具箱中的函数,数据集采用的是手写体数据:1.训练集2000,测试集1000,使用dropout的错误率是1.07%,而没有使用的是1.26%;2.训练集10000,测试集1000,使用dropout的错误率是0.095,时间是1.339s,没有使用的错误率是0.101,时间是1.2623.训练集60000,测试集10000,使用dropout的错误率是0.069,时间是10.03s
8、,没有使用的错误率是0.047,时间是7.77,Company Logo,Dropout的部分实验结论,dropout、max-normalization、large decaying learning rates and high momentum组合起来效果更好。论文中指出 dropout 与 max-norm regularization 结合可以有更小的泛化误差,Company Logo,进一步了解Dropout,dropout RBM,Company Logo,进一步了解Dropout,Marginalizing Dropout对于线性回归:这使得正则常数依赖于P,P减小,正则常数变大对于Logistic回归:其dropout相当于加了一个正则化项。,Company Logo,进一步了解Dropout,Bayesian neural network对稀疏数据特别有用,论文中指出,相比于贝叶斯神经网络,Dropout处理稀疏数据的效果不太好,但是,相比于其他方法却是很好。,dropout是一种防止过拟合的技术。核心思想是把一个容易过拟合的大型网络,依照一定 的概率抽样,训练子模型。dropout的缺点是会增加训练时间。,总结,谢 谢,总结,