多伦多大学Hinton组
http://www.cs.toronto.edu/~rsalakhu/papers/srivastava14a.pdf
一、目的
降低overfitting的风险
二、原理
在网络的BP迭代训练过程中,每一次迭代的网络都结构不同(用dropout对网络剪枝,得到thinned网络),样本也不同(因为是SGD,每次一个样本)。
生物学解释(有性繁殖):从生物学角度而言,dropout能够提高每个神经元的个体鲁棒性,使得其有更强的自我工作能力,以及与任意随机的其他神经元的适应协同工作能力。
三、使用的方法
1、使用了带mini-batch的SGD,而每次SGD迭代(只使用一个样本)所训练的网络都使用了dropout对网络结构进行了剪纸。
2、这样一来,每次迭代就是不同的网络结构;同时因为SGD每次样本不尽相同,那么每个网络的训练样本也不一样。
3、测试的时候使用完整的网络,但每个神经元(unit)的输出都需乘以dropout概率。
注意:dropout是用于训练神经网络的一个trick,当网络训练完成后,最终使用的模型是不需要加入dropout的(即使用完整的网络)。
四、illustration
1、dropout核心做法
其中每个节点的剪枝概率为p,自己设定。