训练的时候dropout的作用就是通过引入噪声,防止模型过拟合。所以其实测试的时候是不能关闭dropout的(关闭的话训练的模型和测试的模型就不同了)。
不关闭dropout,我们得到的就是一个随机的网络,给定x,得到的预测值y是服从一定的分布的。不关闭dropout的情况下,单次预测就是从这个分布中采样一次。多次采样就可以得到y的均值,也就是最终的预测值。但是多次采样会带来较大的计算开销。这时我们假设(这个假设在大多数情况下时成立的,但也有不成立的情况),平均参数(关闭dropout)得到的模型的预测值近似等于上面说的多次采样的平均值。
所以这个时候就有了训练开dropout,预测时关闭的做法。