激活函数的选择

1、sigmoid函数:\frac{1}{1+e^{-x}}

特点:输出值落于0-1的连续区间内,sigmoid函数的导数位于0-0.25的连续区间内,其在0处取得导数最大值为0.25。

局限性:在逆向传播中使用链式求导法则对神经网络模型中的权重调整幅度进行计算时,多个较小的梯度相乘后,会严重影响神经网络参数的调整,第一层的初始权重很难通过反向传播发生变化,容易出现梯度消失的状况。另外sigmoid函数在进行指数计算时需要消耗较多的算力资源,因此在平时的神经网络中较少使用sigmoid激活函数。

2、Tanh激活函数:\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}}

特点:输出值落于-1到1的连续区间内,tanh函数的导数位于0到1的连续区间内,其在0处取得导数最大值为1。由于导数取值区间大于sigmoid函数,因此tanh函数能够相对缓解梯度消失的问题。在平时激活函数的选择上,tanh是优于sigmoid函数的。

3、ReLU激活函数:max(0,x)

特点:在大于0时展现的线性特征能够很好地解决梯度下降的问题。在计算过程中也能够更加高效。而其整体的非线性又能够在神经网络中拟合任何复杂的连续函数。

局限性:当输入值为负数时,其输出值和导数值均为零,这意味着该神经元此时会处于熄灭状态,且在反向传播参数调整中不会产生梯度调整值。

4、Leaky ReLU激活函数:max(0.1x,x)

特点:在输入值在负数区间内时,通过添加一个较小斜率的线性部分,使得负数区间内也能产生梯度调整值。在继承普通的ReLU激活函数的优点时,即时输入值为负数,该神经元也不会熄灭。

总结:在隐藏层中使用激活函数优先考虑后两种,其次是Tanh函数,最后才是sigmoid函数。但是Tanh和sigmoid函数在RNN和其变种模型中还是有其一席用武之地的,这部分内容待后面再进行学习。

输出层的激活函数的选择要以业务要求进行选择,具体业务要求要进行具体分析。比如二分类问题常常使用sigmoid函数作为输出层的激活函数,多分类问题则常常使用softmax函数作为输出层的激活函数,线性回归问题可以直接使用线性函数作为激活函数。

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值