非零中心激活函数技术问询:cs231n中Sigmoid的特性影响
Sigmoid激活函数的非零中心坑点
咱先把事儿说透:Sigmoid函数的输出范围是(0,1),完全不是零中心的——也就是说它吐出来的值永远是正数。这在神经网络训练里可不是个小问题,会直接拖慢梯度下降的收敛速度。
为啥会这样?原因很直接:
- 当后续层的神经元拿到这种全是正数的输入时,比如计算线性变换
f = w^Tx + b时,输入x的每一个元素都大于0。 - 这时候反向传播算权重
w的梯度时,所有w的梯度符号会完全绑定在一起——要么全是正的,要么全是负的。 - 结果就是梯度下降的更新路径会变成绕圈的“之字形”,而不是直直地朝着最优参数走,训练效率自然就低了。
对比一下就更清楚了:像Tanh这种输出范围是(-1,1)的激活函数,输出是零中心的,就不会有这个问题;哪怕是ReLU,虽然也不是零中心,但它至少有一半输出是0,梯度符号不会完全一致,所以这个问题的影响也没Sigmoid这么严重。
内容的提问来源于stack exchange,提问作者Supreeth Narasimhaswamy
相关产品推荐
相关产品推荐

