目录
4.4 ELU(Exponential Linear Units) 函数
激活函数(Activation Function),有的也称为激励函数,就是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。
1 激活函数的作用
引入激活函数是为了增加神经网络模型的非线性,从而更好地模拟真实的场景。
如果不用激活函数,在这种情况下每一层输出都是上层输入的线性函数。容易验证,无论神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机(Perceptron)了。因此引入非线性函数作为激活函数,这样深层神经网络就有意义了(不再是输入的线性组合,可以逼近任意函数)。
2 激活函数的位置
生物学上的神经元结构如下:

通常是一个神经细胞都有树突,轴突,细胞核等组成。树突接收其他神经元传递过来的信号,单信号足够强大的时候,就会激活该神经细胞,产生新的信号,通过轴突传递到下一个神经元。
抽象成数学模型,就是如下:

xi:神经元的树突输入,表示从前面一个神经元接受到的信号;
wi:表示权重,即表示这个输入对输出有多大的影响;
:细胞核上,每个输入型号和权重之间的共同作用之后,加上一个偏置。
f:激活函数,表示神经元对于信号的处理过程。
output axon:输出到下一个神经元的信号;
3 激活函数分类
常见的激活函数可以分成饱和激活函数和非饱和激活函数。
3.1 饱和激活函数
3.1.1 右饱和
假设h(x)是一个激活函数。
当我们的n趋近于正无穷,激活函数的导数趋近于0,那么我们称之为右饱和。
![]()
3.1.2 左饱和
当我们的n趋近于负无穷,激活函数的导数趋近于0,那么我们称之为左饱和。
![]()
3.1.3 饱和
当一个函数既满足左饱和又满足右饱和的时候我们就称之为饱和,典型的函数有Sigmoid,Tanh函数。
3.1.4 硬饱和
对于任意的x,如果存在常数c,当x>c时,恒有
=0,则称其为右硬饱和。如果对于任意的x,如果存在常数c,当x<c时,恒有
=0,则称其为左硬饱和。既满足左硬饱和又满足右硬饱和的我们称这种函数为硬饱和。
3.1.5 软饱和
对于任意的x,如果存在常数c,当x>c时,恒有
趋近于0,则称其为右软饱和。如果对于任意的x,如果存在常数c,当x<c时,恒有
趋近于0,则称其为左软饱和。既满足左软饱和又满足右软饱和的我们称这种函数为软饱和。
3.2 非饱和激活函数
显然,不满足饱和激活函数的,我们称之为非饱和激活函数。使用“非饱和激活函数”的优势在于两点:
1)能够解决“梯度消失”问题;
2)能够加速收敛
4 常见激活函数
4.1 Sigmoid函数

4.2 tanh函数

4.3 ReLU函数及其变形
4.3.1 ReLU

4.3.2 Leaky-ReLU

4.3.3 P-ReLU

4.3.4 R-ReLU

4.4 ELU(Exponential Linear Units) 函数
论文:https://arxiv.org/pdf/1511.07289v5.pdf


ELU也是为解决ReLU存在的问题而提出,显然,ELU有ReLU的基本所有优点,以及:
- 不会有Dead ReLU问题
- 输出的均值接近0,zero-centered
它的一个小问题在于计算量稍大。类似于Leaky ReLU,理论上虽然好于ReLU,但在实际使用中目前并没有好的证据ELU总是优于ReLU。
4.5 MaxOut
5 如何选择激活函数
这个问题目前没有确定的方法,凭一些经验吧。
1)深度学习往往需要大量时间来处理大量数据,模型的收敛速度是尤为重要的。所以,总体上来讲,训练深度学习网络尽量使用zero-centered数据 (可以经过数据预处理实现) 和zero-centered输出。所以要尽量选择输出具有zero-centered特点的激活函数以加快模型的收敛速度。
2)可以从ReLU函数开始,如果ReLU函数没有提供最优结果,再尝试其他激活函数。如果使用 ReLU,那么一定要小心设置 learning rate,而且要注意不要让网络出现很多 “dead” 神经元,如果这个问题不好解决,那么可以试试 Leaky ReLU、PReLU 或者 Maxout.
3)最好不要用 sigmoid,你可以试试 tanh,不过可以预期它的效果会比不上 ReLU 和 Maxout.
参考文献:
【1】https://baike.baidu.com/item/%E6%BF%80%E6%B4%BB%E5%87%BD%E6%95%B0/2520792?fr=aladdin
【2】https://blog.csdn.net/qq_34638161/article/details/81902989
【3】https://blog.csdn.net/qq_23304241/article/details/80300149
【4】激活函数中的硬饱和,软饱和,左饱和和右饱和,https://blog.csdn.net/donkey_1993/article/details/81662065
【5】常用激活函数(激励函数)理解与总结https://blog.csdn.net/tyhj_sf/article/details/79932893
【6】各种激活函数的比较https://blog.csdn.net/piaodexin/article/details/77162766
本文深入探讨激活函数在神经网络中的作用、位置及分类,详细介绍了Sigmoid、tanh、ReLU及其变形、ELU和MaxOut等常见激活函数,并提供了选择激活函数的经验建议。

575

被折叠的 条评论
为什么被折叠?



