Dropout是
Srivastava
等人在
2014
年发表的一篇论文中,提出了一种针对神经网络模型的正则化方法Dropout
(
A Simple Way to Prevent Neural Networks from Overfitting)。
Dropout的实现方法:Dropout正确的做法是在训练的过程中按照一定的比例(比例参数可设置)随即忽略一些或者屏蔽一些神经元。这些神经元会被随机抛弃,也即是说他们在正向传播中对于下游的神经元贡献效果暂时消失了;反向传播时该神经元也不会有更新更新;所以,通过传播过程,Dropout将产生和L2范数相同的收缩效果;
随着神经网络模型的不断学习,神经元的权值会与整个网络的上下文相 匹配。神经元的权重针对某些特征进行调优,进而产生一些特殊化。周围的神经元则会依赖于这种特殊化,但如果过于特殊化,模型会因为对训练数据的过拟合而变得脆弱不堪。神经元在训练过程中的这种依赖于上下文的现象 被称为复杂的协同适应;
加入了
Dropout
以后,输入的特征都是有可能会被随机清除的,所以该 神经元不会再特别依赖于任何一个输入特征,也就是说不会给任何一个输入 设置太大的权重。由于网络模型对神经元特定的权重不那么敏感。这反过来又提升了模型的泛化能力,不容易对训练数据过拟合。