启用函式小结
什么是启用函式
如下图,在神经元中,输入的 inputs 通过加权,求和后,还被作用了一个函式,这个函式就是启用函式 Activation Function。
为什么要用
如果不用激励函式,每一层输出都是上层输入的线性函式,无论神经网络有多少层,输出都是输入的线性组合。如果使用的话,启用函式给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函式,这样神经网络就可以应用到众多的非线性模型中。
每个启用函式的输入都是一个数字,然后对其进行某种固定的数学操作。启用函式给神经元引入了非线性因素,如果不用启用函式的话,无论神经网络有多少层,输出都是输入的线性组合。
启用函式的发展经历了Sigmoid -> Tanh -> ReLU -> Leaky ReLU -> Maxout这样的过程,还有一个特殊的启用函式Softmax,因为它只会被用在网络中的最后一层,用来进行最后的分类和归一化。本文简单来梳理这些启用函式是如何一步一步演变而来的。
总结如下:

Sigmoid
sigmoid非线性函式的数学公式是
函式影象如下图所示。它输入实数值并将其“挤压”到0到1范围内,适合输出为概率的情况,但是现在已经很少有人在构建神经网络的过程中使用sigmoid。

存在问题:
Sigmoid函式饱和使梯度消失。当神经元的启用在接近0或1处时会饱和,在这些区域梯度几乎为0,这就会导致梯度消失,几乎就有没有讯号通过神经传回上一层。Sigmoid函式的输出不是零中心的。因为如果输入神经元的资料总是正数,那么关于w的梯度在反向传播的过程中,将会要么全部是正数,要么全部是负数,这将会导致梯度下降权重更新时出现z字型的下降。
Tanh
数学公式:Tanh非线性函式的数学公式是

Tanh非线性函式影象如下图所示,它将实数值压缩到[-1,1]之间。

存在问题:
Tanh解决了Sigmoid的输出是不是零中心的问题,但仍然存在饱和问题。
为了防止饱和,现在主流的做法会在启用函式前多做一步batch normalization,尽可能保证每一层网络的输入具有均值较小的、零中心的分布。
ReLU
数学公式:
ReLU非线性函式影象如下图所示。相较于sigmoid和tanh函式,ReLU对于随机梯度下降的收敛有巨大的加速作用;sigmoid和tanh在求导时含有指数运算,而ReLU求导几乎不存在任何计算量。
对比sigmoid类函式主要变化是:
1)单侧抑制;
2)相对宽阔的兴奋边界;
3)稀疏启用性。

存在问题:
ReLU单元比较脆弱并且可能“死掉”,而且是不可逆的,因此导致了资料多样化的丢失。通过合理设定学习率,会降低神经元“死掉”的概率。
Leaky ReLU
数学公式:函式公式是

其中 e是很小的负数梯度值,比如0.01,Leaky ReLU非线性函式影象如下图所示。这样做目的是使负轴资讯不会全部丢失,解决了ReLU神经元“死掉”的问题。更进一步的方法是PReLU,即把 e当做每个神经元中的一个引数,是可以通过梯度下降求解的。

Maxout

Maxout出现在ICML2013上,作者Goodfellow将maxout和dropout结合后,号称在MNIST, CIFAR-10, CIFAR-100, SVHN这4个数据上都取得了start-of-art的识别率。
数学公式:
f i (x)=m ax j ∈[1 ,k] z i j
假设 w 是2维,那么有:

Maxout是对ReLU和leaky ReLU的一般化归纳,可以注意到,ReLU 和 Leaky ReLU 都是它的一个变形(比如, w 1 ,b 1 =0 的时候,就是 ReLU).
Maxout的拟合能力是非常强的,它可以拟合任意的的凸函式。作者从数学的角度上也证明了这个结论,即只需2个maxout节点就可以拟合任意的凸函数了(相减),前提是”隐含层”节点的个数可以任意多.

所以,Maxout 具有 ReLU 的优点(如:计算简单,不会 saturation),同时又没有 ReLU 的一些缺点 (如:容易 go die)。不过呢,还是有一些缺点的嘛:就是把引数double了。
Softmax
数学公式:Softmax用于多分类神经网络输出,目的是让大的更大。函式公式是

示意图如下。

Softmax是Sigmoid的扩充套件,当类别数k=2时,Softmax回归退化为Logistic回归。
还有其他一些启用函式,请看下表:


怎么选择启用函式呢?
如果你使用 ReLU,那么一定要小心设定 learning rate,而且要注意不要让你的网络出现很多 “dead” 神经元,如果这个问题不好解决,那么可以试试 Leaky ReLU、PReLU 或者 Maxout.还有,通常来说,很少会把各种启用函式串起来在一个网络中使用的。
参考资料:
https://zhuanlan.zhihu.com/p/32610035
https://juejin.im/entry/5a2a3a786fb9a044fa19c5e9