如果激活函数的输出不是以零为中心的,为什么会出现问题?
人工智能
反向传播
激活函数
乙状结肠
坡度
2021-10-24 17:27:44
1个回答
是的,如果网络的激活函数不是以零为中心的,总是积极的或总是消极的。因此,层的输出总是被移动到正值或负值。因此,权重向量需要更多更新才能正确训练,并且网络训练所需的epoch数也会增加。这就是为什么以零为中心的属性很重要,尽管它不是必需的。
以零为中心的激活函数确保平均激活值在零附近。这个属性在深度学习中很重要,因为经验表明,在归一化数据上运行的模型——无论是输入还是潜在激活——都具有更快的收敛速度。
不幸的是,零中心激活函数(如在其渐近线处tanh
饱和) ——该区域内的梯度随着时间的推移变得越来越小,导致训练信号微弱。
ReLU
避免了这个问题,但它不是以零为中心的。因此全正或全负激活函数对于基于梯度的优化sigmoid
是否ReLU
困难。因此,为了解决这个问题,深度学习从业者发明了无数的归一化层(批量范数、层范数、权重范数等)。我们可以提前将数据归一化为以零为中心,就像批量/层归一化一样。
参考: