当前位置:   article > 正文

个人总结:常见的激活函数 梯度下降家族与BatchSize 梯度消失和梯度爆炸_有激活函数如何梯度下降

有激活函数如何梯度下降

激活函数

在普通的DNN中,如果不使用激活函数,相当于激活函数是f(x) = x。无论有多少隐藏层,输出的都是输入的线性组合,只能运用于线性分类。与没有隐藏层的效果相当,这就是原始的感知机。所以引入了非线性激活函数,增加神经网络的非线性。

常见激活函数:

(1)sigmoid函数

逻辑回归中使用的激活函数,

它的优点在于求导方便

但是有三大缺点:

1、容易出现gradient vanishing:可以看到sigmoid在很大或者很小的情况下梯度趋近于0。而神经网络的反向传播过程是一个链式法则,是当前层的导数是之前各层导数的乘积,结果可能会很接近0。同时,sigmoid的导数最大值为0.25,这可能在反向传播层数较多的情况下被压缩为极小的数值,这也导致模型收敛过慢。

2、不是zero-centered:导致输入下一层神经元的数值全为正。

由于的符号取决于的符号,这导致ω的梯度始终为正或者负,意味着ω一直朝着某个方向变化,这就是一个之字形(zig-zag)的更新走势,这导致收敛过程非常缓慢。比如ω1的梯度一直为正,ω2的梯度一直为负:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/677143
推荐阅读
相关标签
  

闽ICP备14008679号