深度学习神经网络有四种常用激活函数,分别为sigmod,tanh,softmax,relu.下面总结了他们的优缺点以及如何选择。
sigmod函数
函数形式
函数图像如下
对其求导有
tanh
函数形式:
图形为
其导函数为:
在隐藏层使用的效果优于sigmod
相同的缺点在x特别大或者特别小的时候,函数梯度会接近0,使得梯度下降的速度变慢。一般用在二分问题输出层,不在隐藏层中使用。
relu
公式
图形:
优点:
- 计算量小,速度快,相对于sigmod和tanh求导比较复杂,反向求导时会出现问题。
- Relu对SGD的训练有加速作用。
- Relu会使一部分神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生。
缺点:
学习率设计得过大会造成梯度为0,导致神经元死亡,并且是不可逆的。
PRelu
解决relu的缺点
softmax
小结:关于几个函数的特点以及使用在实际面试过程中很容易被问到,所以这里做一个总结。