Dropout操作需要用在激活函数之后,保持网络的非线性特性:
非线性特性: 激活函数(如ReLU)会引入非线性,使得模型可以学习和表示复杂的函数关系。如果在激活函数之前应用Dropout,由于某些神经元被随机丢弃,可能会导致一些线性变换无法传递激活信号,影响模型的学习效果。
随机性和稳定性: 先进行激活,再进行Dropout,可以保证激活函数的输出在进行Dropout操作时是已经被非线性处理过的,确保模型在训练时的稳定性和有效性。
Dropout 需要使用放缩的方式来保证网络剩余权重的期望与之前整体权重的期望一致: