神经网络中的Dropout
神经网络和深度学习 | ||
---|---|---|
上一篇 | 主目录 | 下一篇 |
文章结构
【前言】
过拟合是深度神经网(DNN)中的一个常见问题:模型只学会在训练集上分类,这些年提出的许多过拟合问题的解决方案,其中dropout具有简单性而且效果也非常良好。
相关论文:Hinton:《Improving neural networks by preventing co-adaptation of feature detectors》
1 dropout简介
- dropout 在深度学习中是一种防止过拟合的手段,具有很好的容错能力。
- dropout 是在深度学习的训练过程中,按照一定的概率将神经网络单元从网络中暂时丢弃。
- 对于梯度下降而言,在训练过程中是随机丢弃神经网络单元,所以每l轮次中每一个mini-batch都在训练不同的网络。
【注】其他防止过拟合的方法:
- 正则化 2.减小网络规模 3.增加训练样本数量
2 dropout作用方式
- 在每次训练的时候使用dropout,每个神经元有一定的概率被移除,这样可以使得一个神经元的训练不依赖于另外一个神经元,同样也就使得特征之间的协同作用被减弱。Hinton认为,过拟合可以通过阻止某些特征的协同作用来缓解。
-
dropout是多模型效果平均的方式。对于减少测试集中的错误,我们可以将多个不同神经网络的预测结果取平均,而因为dropout的随机性,我们每次dropout后,网络模型都可以看成是一个不同结构的神经网络,而此时要训练的参数数目却是不变的,这就解脱了训练多个独立的不同神经网络的时耗问题。在测试输出的时候,将输出权重除以二,从而达到类似平均的效果。
如果采用dropout,训练时间大大延长,但是对测试阶段没影响。
神经网络和深度学习系列笔记:传送门