激活函数区别和作用
本质:
激活函数是来向神经网络中引入非线性因素,通过激活函数,神经网络就可以拟合各种曲线。
在神经网络中,我们经常可以看到对于某一个隐藏层的节点,该节点的激活值计算一般分为两步:
1.输入该节点的值为x1,x2 时,在进入这个隐藏节点后,会先进行一个线性变换,计算出值 ,上标 [1]表示第 1 层隐藏层。
2.再进行一个非线性变换,也就是经过非线性激活函数,计算出该节点的输出值(激活值) ,其中 为非线性函数。
常见的激活函数
在深度学习中,常用的激活函数主要有:sigmoid函数、tanh函数、ReLU函数和softmax函数。下面我们将一一介绍。
1.sigmoid函数
sigmoid函数是将的数映射到之间。sigmoid函数的公式以及图形如下:
sigmoid函数作为非线性激活函数,但其很少被使用,因为又以下几个缺点:
1.sigmoid极容易导致梯度消失问题。sigmoid神经元在值为0或1的时候接近饱和,在这些区域梯度将接近于0,使得梯度更新十分缓慢,即梯度消失;
2.计算费时;
a.计算sigmoid函数中,幂计算会导致耗时增加;
b. 函数的输出不是以0为均值,将不便于下层的计算;
3. sigmoid函数不是关于原点中心对称的(zero-centered),Sigmoid函数的输出值恒大于0,这会导致模型训练的收敛速度变慢。
2.tanh函数
tanh函数相较于sigmoid函数要常见一些,tanh函数将取值为(-∞,+∞)的数映射到(-1,1)之间。tanh函数在0附近很短的一段区域可以近似看作线性。tanh函数均值为0,弥补了sigmoid函数均值为0.5的缺点,解决了sigmoid中的zero-centered问题,但同样也存在着梯度消失的问题。tanh函数的公式以及图形如下:
特征其实与sigmoid激活函数相似,解决了sigmoid函数的zero-centered问题,但仍然存在梯度消失的问题。
3.ReLU函数
ReLU函数又称为修正线性单元(Rectified Linear Unit),是一种分段线性函数,其弥补了sigmoid函数以及tanh函数的梯度消失问题。ReLU函数的公式以及图形如下:
ReLU函数的优点:
1. 在输入为正数的时候,解决了梯度消失问题;
2. 计算速度非常快,只需要判断输入是否大于0,只有线性关系,不管是前向传播还是反向传播,都比sigmoid和tanh要快很多(sigmoid和tanh要计算指数);
3. 收敛速度远快于sigmoid和tanh
虽然ReLU很不错,但依旧有一些缺点:
1. ReLU的输出不是zero-centered
2. 当输入为负时,产生梯度消失。Dead ReLU Problem,由于ReLU在小于0时梯度为0,导致其相应的参数永远不能被更新,这以为这某些神经元可能永远不会被激活。
尽管ReLU激活函数存在一些问题,但它目前仍然是最常用的Activation Function,在构建人工神经网络的时候推荐优先尝试。
4.Leaky-ReLU函数
为了解决ReLU函数的Dead ReLU Problem,人们提出了将ReLU函数的前半段设为固定值α,这就是Leaky-ReLU函数。Leaky-ReLU函数的公式以及图形如下:
理论上来讲,Leaky-ReLU具有ReLU函数的所有有点,也克服了Dead ReLU Problem。
5.PReLU函数(Parametric Rectified Linear Unit)
参数化修正线性单元(Parameteric Rectified Linear Unit,PReLU)属于 ReLU 修正类激活函数的一员。它和 RReLU 以及 Leaky ReLU 有一些共同点,即为负值输入添加了一个线性项。而最关键的区别是,这个线性项的斜率实际上是在模型训练中学习到的。
如果α=0,那么PReLU退化为ReLU;如果α是一个很小的固定值(如α=0.01),则PReLU退化为Leaky ReLU(LReLU)。PReLU是通过在训练中,根据数据自学习参数得到α。 有实验证明,与ReLU相比,LReLU对最终的结果几乎没什么影响。
6.ELU (Exponential Linear Units)
ELU也是为解决ReLU存在的问题而提出,显然,ELU有ReLU的基本所有优点,以及:
- 融合了sigmoid和ReLU,左侧具有软饱和性,右侧无饱和性;
- 右侧线性部分使得ELU能够缓解梯度消失,而左侧软饱能够让ELU对输入变化或噪声更鲁棒,不会有Dead ReLU问题;
- ELU的输出均值接近于零,所以收敛速度更快。
它还有的一个小问题在于计算量稍大。类似于Leaky ReLU,理论上虽然好于ReLU,但在实际使用中目前并没有好的证据ELU总是优于ReLU。
总结
summary.png收集与:
https://www.cnblogs.com/lliuye/p/9486500.html
https://zhuanlan.zhihu.com/p/44398148
https://liam.page/2018/04/17/zero-centered-active-function/
https://zhuanlan.zhihu.com/p/25110450
https://www.cnblogs.com/jins-note/p/9646602.html
https://blog.csdn.net/zrh_CSDN/article/details/81266188
网友评论