激活函数的选择

深度学习神经网络有四种常用激活函数,分别为sigmod,tanh,softmax,relu.下面总结了他们的优缺点以及如何选择。

sigmod函数

函数形式

δ ( x ) = 1 1 + e x

函数图像如下
这里写图片描述

对其求导有

δ ( x ) = δ ( x ) ( 1 δ ( x ) )

tanh

函数形式:

g ( x ) = t a n h ( x ) = e x e x e x + e x

图形为

这里写图片描述

其导函数为:
这里写图片描述

在隐藏层使用的效果优于sigmod
相同的缺点在x特别大或者特别小的时候,函数梯度会接近0,使得梯度下降的速度变慢。一般用在二分问题输出层,不在隐藏层中使用。

relu

公式

f ( x ) = m a x ( 0 , x )

图形:
这里写图片描述
优点:

  • 计算量小,速度快,相对于sigmod和tanh求导比较复杂,反向求导时会出现问题。
  • Relu对SGD的训练有加速作用。
  • Relu会使一部分神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生。

缺点:
学习率设计得过大会造成梯度为0,导致神经元死亡,并且是不可逆的。

PRelu

解决relu的缺点

f ( x ) = m a x ( 0 , a x )

softmax

这里写图片描述

小结:关于几个函数的特点以及使用在实际面试过程中很容易被问到,所以这里做一个总结。

猜你喜欢

转载自blog.csdn.net/gzj_1101/article/details/80488098