丢弃法(dropout)
·
一、动机
- 一个好的模型需要对输入数据的扰动鲁棒,不管我们加入多少噪音都能看清
- 使用有噪音的数据等价于Tikhonov正则,正则就是使权重的值不要太大,可以避免一定的过拟合
- 丢弃法:不在输入加噪音,在层之间加入噪音
二、无偏差的加入噪音
假设x是上一层到下一层的输入,对x加入噪音得到x‘,我们希望:
![]()
即为虽然我们加入了噪音,但是不改变我们的期望。
丢弃法对每个元素进行如下扰动:

我们给定一个概率p,使得在概率p的情况下这个原始的输入都为0,在剩下的地方除以1-p(即把原始的输出变大),同时可以保持其期望不变。
三、使用dropout
dropout通常作用在隐藏全连接层的输出上(y也可以理解为作用在每层之间)

以上图为例,h是第一个隐藏层的输出,对第一个隐藏层作用dropout得到h’。
四、在推理(预测)中的丢弃法
- dropout是个正则项,只在训练中使用:他们影响模型参数的更新
- 在推理过程中,丢弃法直接返回输入:h=dropout(h)
- 这样能保证确定性的输出
五、总结
- dropout将一些输出项随机置0来控制模型复杂度
- 常作用在多层感知机的隐藏层输出上
- 丢弃概率p是控制模型复杂度的超参数
更多推荐




所有评论(0)