![深度学习与神经网络](https://wfqqreader-1252317822.image.myqcloud.com/cover/351/46418351/b_46418351.jpg)
2.2.2 常用激活函数
人工神经元模型采用不同的变换函数,用来执行对该神经元获得的网络输入的变换,这个就是激活函数,也称为激励函数、活化函数,使神经元具有不同的信息处理特征。用φ表示为y=φ(v),利用诱导局部域v定义神经元的输出。下面介绍几种常用的激活函数。
(1)阈值函数。
阈值函数又叫阶跃函数,图2-3(a)所示为常用的单极性阈值函数,用下式定义:
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_53_2.jpg?sign=1738832679-IyWNKkXRCSBjMOEkX4uJw0QKYjN9M6b1-0-ed11fe8372ac405d4dfa14581ca14a9d)
有时还将式(2-9)中的0变为-1,此时就变成了双极形式,如图2-3(b)所示,定义为
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_53_3.jpg?sign=1738832679-1hWTHsISdztM4esvxl5uKqSV0386jmFS-0-52b7c6e3bca3ccce490103db2ef5067c)
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_53_4.jpg?sign=1738832679-LmhTm0eK7GDsm3743VeKWDZi8qJ0aPNX-0-4c522a43442a2a27fdb0fab71f11525f)
图2-3 阈值函数
(2)Sigmoid函数。
Sigmoid函数图形是S形的,称为S型函数,又叫压缩函数,是严格递增函数。它对信号有较好的增益控制,当v的值比较小时,φ(v)有较大的增益;当v的值比较大时,φ(v)有较小的增益,这为防止网络进入饱和状态提供了良好的支持。常用下面两种形式。
① logistic函数。
logistic函数叫逻辑特斯函数,应用非常广泛,其一般形式为
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_54_1.jpg?sign=1738832679-1liNc8GufIga0kthTC8ym6jzz3V0PIF8-0-307aba0cbd18e62409aa84c8194b126b)
其中,a是Sigmoid函数的倾斜参数。实际上,它在原点的倾斜度等于a/4,其值域是[0,1],其图形如图2-4(a)所示。
② tanh函数。
tanh函数也称为双曲正切函数,定义为
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_54_2.jpg?sign=1738832679-DyxmH7CG70oC1j37NWvyOwmdyeA2rEB8-0-284a006c32a9359c431da033609c6126)
tanh函数的值域是[-1,1],其图形如图2-4(b)所示。
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_54_3.jpg?sign=1738832679-bhCGFfyqbboVJyGGbFrNjaYGkcsE9oHj-0-c584e3449a752c3eed0de717747281e3)
图2-4 Sigmoid函数图形
③ 分段线性函数。
分段线性函数也称为非线性斜面函数,是简单的非线性函数,在一定区间内满足线性关系。单极性分段线性函数表达式为
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_54_4.jpg?sign=1738832679-woeJBlRPmy06smw23PtZkwtmTKShbNwf-0-f778c71b27c32c56786545b0d65dbd64)
其中,k为线性段的斜率,图2-5(a)给出了该函数的曲线。而双极性分段线性函数的曲线如图2-5(b)所示,其表达式如下:
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_54_5.jpg?sign=1738832679-pQrOsnI4VPmRYDVJ7dENCa2FDWl7VS3Q-0-c67419516077d72d59758b3242eb4be8)
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_55_1.jpg?sign=1738832679-Hi2KNyCeQuylPeYMaqZwhKQ0dgDrNqXP-0-b010158177b2767bfbef267a012d7a04)
图2-5 分段线性函数图形
④ 概率型激活函数。
概率型激活函数的神经元模型的输入与输出之间的关系是不确定的,需要一个随机函数来描述其输出状态为1或0的概率。设神经元模型输出为1的概率为
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_55_2.jpg?sign=1738832679-EyIk1Quf5sNYf40BFnvrkA4h3I3BDLPD-0-73d93df7e4d0c101b2d767f9c7518cc1)
其中,T为温度参数。由于该函数的神经元模型的输出状态分布与热力学中的玻尔兹曼(Boltzmann)分布相类似,因此这种神经元模型也称为热力学模型。
(3)ReLU函数。
ReLU(Rectified Linear Unit,修正线性单元)函数也叫Rectifier函数,是目前深度神经网络中经常使用的激活函数。ReLU函数实际上是一个斜坡函数,定义为
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_55_3.jpg?sign=1738832679-KuQ89L1tNQLVqqdld0XZ9NCW7aftzliF-0-72ae338caea330a0e9cf10e163ad0dbd)
在实际使用中,为了避免上述情况,有几种ReLU函数的变种也会被广泛使用。
① 带泄漏的ReLU(Leaky ReLU)函数。
在输入x<0时,保持一个很小的梯度γ。这样,当神经元处于非激活状态时,也能有一个非零的梯度可以更新参数,避免永远不能被激活。带泄漏的ReLU函数的定义如下:
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_55_4.jpg?sign=1738832679-lEzLOMVyi3Qbn9ngQES4Lr3OO9QudC68-0-2fec361a0b8ae867a8563c5f68a2fcfa)
其中,γ是一个很小的常数,如0.01。当γ<1时,带泄漏的ReLU函数也可以写为
LeakyReLU (x)=max (x,γx)
② 带参数的ReLU函数。
带参数的ReLU(Parametric ReLU,PReLU)函数引入一个可学习的参数,不同神经元可以有不同的参数。对于第i个神经元,其PReLU函数的定义为
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_56_1.jpg?sign=1738832679-cJPejD1Ft3utuRY3Xr7ScMCMBt7PWSoL-0-262a22f478d49d706e0e8d628ce230b6)
其中,γi为x≤0时函数的斜率。因此,PReLU是非饱和函数,如果γi=0,那么PReLU函数就退化为ReLU函数;如果γi为一个很小的常数,则PReLU函数可以看作带泄漏的ReLU函数。PReLU函数可以允许不同神经元具有不同的参数,也可以一组神经元共享一个参数。
③ ELU函数。
ELU(Exponential Linear Unit,指数线性单元)是一个近似的零中心化非线性函数,其定义为
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_56_2.jpg?sign=1738832679-1AyfOBZrqEH7UQHfmXRAYwx4wJHNylLf-0-ece9d991640d348495bb6e749450e6c4)
其中,γ≥0,是一个超参数,决定x≤0时的饱和曲线,并调整输出均值在0附近。
④ Softplus函数。
Softplus函数可以看作ReLU函数的平滑版本,其定义为
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_56_3.jpg?sign=1738832679-fg7RpXTQWdROSFx9ut4LvySiZpsQQstu-0-d5a4bb77da6e675ebca13f1a8413c7c9)
Softplus函数的导数刚好是logistic函数。Softplus函数虽然也具有单侧抑制、宽兴奋边界的特性,却没有稀疏激活性。
图2-6给出了ReLU、Leaky ReLU、ELU及Softplus函数的示例。
![](https://epubservercos.yuewen.com/2D541D/25638820209150006/epubprivate/OEBPS/Images/44429_56_4.jpg?sign=1738832679-UhsCKyIzUNzYedOIbffeVu9BrL1nhoWn-0-edde18cd1fc971c8510749086472148b)
图2-6 ReLU、Leaky ReLU、ELU及Softplus函数的示例