本文从以下3点叙述神经网络中的dropout技术。
1、什么是dropout?
2、dropout的理论。
3、dropout的缺点。
1 什么是dropout
Dropout是由Professor Geoffrey Hinton 大神提出的一种防止神经网络过拟合的方法,又叫“丢弃学习”,“随机失活”。具体是指在神经网络训练的过程中,随机地丢弃掉部分神经元,所谓的丢弃就是使得神经元的输出为0,具体操作就是在神经元的激活函数之后有一定概率 p 的自乘0.
2、dropout的理论
以下是我搜集到的各种解释
1) 在训练过程中使用Dropout能够训练出不使用dropout时DNN的子网络集合,预测时平均整个集合的结果。这种解释很宏观,但很容易理解,是一种ensemble learning的思想。
2) 在标准的DNN中(不使用dropout)为了减少损失函数,每一个被训练的参数都会被它的导数指引来进行参数更新。这会出现一个问题,当误差并不主要是由某一参数路线的不合适引起时,该线路的参数也会被梯度指引进行更新,这是一种错误的修正。究其原因是标准的神经网络会使得各个神经元之间产生复杂的协作,联动,这反而会引起过拟合,因为这些协作、联动非常容易使网络学习到训练集的特性,而不是未知的数据的特性。这一思想简而言之就是:在训练阶段阻止了神经元之间的共适性/协同作用(co-adaptation)。被丢弃的神经元不工作,不被更新。
3 dropout的缺点
使用dropout后,模型的训练时间会变长。