[Neural Networks] Dropout阅读笔记

时间:2023-03-09 04:20:05
[Neural Networks] Dropout阅读笔记

多伦多大学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核心做法

[Neural Networks] Dropout阅读笔记

其中每个节点的剪枝概率为p,自己设定。