激活函数

什么是激活函数

激活函数是一个几乎处处可微的函数,在神经网络中,它的作用是给神经网络添加一些非线性因素,从而使得神经网络能够解决一些更加复杂的问题。
在某些情况下,数据是线性可分的,如下图所示:

1446497-20180810155932367-1692966507.png
图片来源于网络

而在另外一些情况下,数据是线性不可分的,如下图所示:

1446497-20180810160230069-182698481.png
图片来源于网络

这个时候,我们就需要通过激活函数添加一些非线性因素,从而更好地解决问题,如下图所示:

1446497-20180810160410401-629403644.png
图片来源于网络

常用的激活函数有哪些

1. Sigmoid函数

Sigmoid函数曾被广泛地使用,但是由于其自身的一些缺陷,现在已经很少被使用了。
Sigmoid函数的表达式为:
\[f(x)=\frac{1}{1+e^{-x}}\]
Sigmoid函数的图像为:

1446497-20180810162606576-1728187345.png
图片来源于网络

Sigmoid函数的优点为:(1)函数值在(0,1)之间,函数值范围小,单调连续,优化稳定,适合用于输出层;(2)容易求导。
Sgimoid函数的缺点为:(1)当x趋于正无穷或者负无穷时,其梯度趋近于0,容易产生梯度消失,导致训练出现问题;(2)输出并不是以0为中心。

2. tanh函数

现在,比起sigmoid函数,我们更倾向于使用tanh函数。Tanh函数的表达式如下:
\[tanh(x)=\frac{1-e^{-2x}}{1+e^{-2x}}\]
Tanh函数的图像如下:

1446497-20180810165540954-452694356.png
图片来源于网络

Tanh函数的优点:(1)相比于sigmoid函数收敛速度更快;(2)输出以0为中心。
Tanh函数的缺点为:和sigmoid函数一样,容易产生梯度消失的问题。

3. ReLU函数

ReLU函数近年来非常流行,其表达式为:
\[y= \left\{ \begin {matrix} 0(x\leqslant 0) \\ x(x>0) \end {matrix} \right\}\]
函数图像为:

1446497-20180810203018517-658227996.png
图片来源于网络

ReLU函数的优点:(1)收敛速度快;(2)缓解了梯度消失的问题;(3)在无监督预训练的时候也有较好的表现。
ReLU函数的缺点:可能会出现神经元死亡,权重无法更新的情况。

Reference

  1. http://www.cnblogs.com/rgvb178/p/6055213.html

转载于:https://www.cnblogs.com/wumh7/p/9455631.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值