Dropout:随机屏蔽激活怎样参与训练#
TL;DR#
本页内容7 个部分
1. 背景与问题#
网络可能依赖某些固定的激活组合拟合训练数据。Dropout 在训练时随机屏蔽部分激活,让后续计算不能总依赖同一组输入;评测时则使用确定的网络。要把这两种计算方式连接起来,先需说明随机 mask 与缩放的关系。[1]
2. 目标与定义#
设某层激活为 h,丢弃概率为 p∈[0,1),保留 mask 为 mi∼Bernoulli(1−p)。现代常用 inverted dropout:
h~i=1−pmihi.
训练目标对数据和 mask 同时取平均:E(x,y),m[ℓ(fθ,m(x),y)]。它改变了训练时的随机计算,不等于直接给 loss 增加一个固定 L2 项。
3. 方法与推导#
3.1 为什么训练时除以保留概率#
固定当前激活 hi,由于 E[mi]=1−p:
E[h~i∣hi]=1−phiE[mi]=hi.
因此评测时可直接使用 hi,无需额外缩放。传统写法在训练时不除 1−p,而在评测时乘 1−p;两者的缩放约定不同。
3.2 随机性还改变了什么#
用 mi2=mi 可得 E[h~i2∣hi]=hi2/(1−p),从而:
Var(h~i∣hi)=1−pphi2.
期望保持不变,但随机波动随丢弃率增大。后续存在非线性时,E[f(h~)] 一般不等于 f(E[h~]);确定性评测网络不能严格当作所有子网络预测的算术平均。
4. 计算过程#
设 h=(2,1,3,0.5)、p=0.5,本次 mask 为 (1,0,1,0)。先置零,再把保留项除以 0.5,得到 h~=(4,0,6,0)。
单看第一个坐标,它以一半概率取 4、一半概率取 0,平均为 2,方差为 0.5(4−2)2+0.5(0−2)2=4,恰好等于 ph12/(1−p)。评测时直接使用原激活 2。
训练中本次梯度只经保留位置传播,并包含同样的 1/(1−p) 因子;下一次前向重新采 mask。这是随机计算例子,不是泛化实验。
5. 比较与边界#
这些机制不能只按概率数字互换。Dropout 概率还要结合数据量、结构和训练预算选择;模型进入 eval 模式时需关闭相应随机分支。激活重算若含 Dropout,还应核对随机状态的一致性,见重算篇。
参考资料#
- Dropout: A Simple Way to Prevent Neural Networks from Overfitting(JMLR 2014). 原文:随机屏蔽、共适应与子网络解释;条件均值与方差由本文直接计算。