神经网络中选择的激活函数都是较为平滑的函数,如sigmod,tanh等,也有一些近似平滑的(仅在个别点处不可导,但是连续),如Relu。根据整理资料和一些个人的见解,整理几条原因以供大家参考。
- 激活值不存在像感知机那样的阶跃现象,比较容易收敛
- 很多平滑函数的引入,使得模型有了非线性因素,因此可以识别更加复杂的模式
- 平滑函数是可导的,这便于梯度的计算与更新。而对像感知机这样的激活函数,梯度的更新非常困难;如下图所示,两个激活值相同的点,从同一个点到另外一个点,似乎是没有很好的策略来更新梯度
- 可导,因此可以指定更加灵活的梯度更新规则,加速模型训练