# 激活函数总结

* **非线性**: 导数不是常数. 保证多层网络不退化成单层线性网络, 激活函数的意义所在
* **可微性**: 保证了在优化中梯度的可计算性. 虽然有的激活函数存在有限个点处不可微(如ReLU), 但应保证处处存在次梯度(subgradient), 以代替梯度
* **计算简单**: 复杂的激活函数需要进行复杂的计算, 而复杂的计算会明显拖长训练的时间, 以及降低预测时效性. 因此`ReLU`这种分段线性函数的时间性能会比带有`Exp`指数计算的更好
* **非饱和性**(saturation): 饱和指的是在某些区间梯度接近于零, 使得参数无法继续更新, 导致**梯度消失**
* 单调性(monotonic): 导数符号不变. 当激活函数是单调的时候, 单层网络能够保证是凸函数. 因此单调性并不是硬性条件, 因为神经网络本来就是非凸的
* **超参数少**: 大部分激活函数都是没有超参数的. 超参数带来对应的选择问题
