神经元
一个神经元的结构如下:
用数学公式表示为:
\[\begin{aligned} a &=f(\sum_{d=1}^{D} w_{d} x_{d}+b) \\ &=f(\boldsymbol{w}^{\top} \boldsymbol{x}+b) \\ \end{aligned} \]激活函数
激活函数在神经元中非常重要的.为了增强网络的表示能力和学习能力,激活函数需要具备以下几点性质:
(1) 连续并可导(允许少数点上不可导)的非线性函数.可导的激活函数可以直接利用数值优化的方法来学习网络参数.
(2) 激活函数及其导函数要尽可能的简单,有利于提高网络计算效率.
(3) 激活函数的导函数的值域要在一个合适的区间内,不能太大也不能太小,否则会影响训练的效率和稳定性.
下面介绍几种在神经网络中常用的激活函数.
Sigmoid型函数
Sigmoid 型函数是指一类 S 型曲线函数,为两端饱和函数.
Logistic函数
\[\sigma(x)=\frac{1}{1+\exp (-x)} \]因为Logistic函数的性质,使得装备了Logistic激活函数的神经元具有以下两点性质:1)其输出直接可以看作概率分布,使得神经网络可以更好地和统计学习模型进行结合.2)其可以看作一个软性门(Soft Gate),用来控制其他神经元输出信息的数量.
Tanh函数
\[\tanh (x)=\frac{\exp (x)-\exp (-x)}{\exp (x)+\exp (-x)} \]Tanh 函数的输出是零中心化的,而 Logistic 函数的输出恒大于 0. 非零中心化的输出会使得其后一层的神经元的输入发生偏置偏移,并进一步使得梯度下降的收敛速度变慢.
以上两个函数的图像为:
Logistic函数和Tanh函数都是Sigmoid型函数,具有饱和性,但是计算开销较大.因为这两个函数都是在中间(0附近)近似线性,两端饱和.因此,这两个函数可以通过分段函数来近似.
Hard-Logistic函数和Hard-Tanh函数
\[\text { hard-logistic }(x)=\left\{\begin{array}{ll} 1 & g_{l}(x) \geq 1 \\ g_{l} & 0<g_{l}(x)<1 \\ 0 & g_{l}(x) \leq 0 \end{array}\right. \]\[\text{hard-tanh} (x) =\max (\min (x, 1),-1) \]ReLU函数
ReLU
目前深度神经网络中经常使用的激活函数.采用 ReLU 的神经元只需要进行加、乘和比较的操作,计算上更加高效.
\[\begin{aligned} \operatorname{ReLU}(x) &=\left\{\begin{array}{ll} x & x \geq 0 \\ 0 & x<0 \end{array}\right.\\ &=\max (0, x) \end{aligned} \]ReLU 函数的输出是非零中心化的,给后一层的神经网络引入偏置偏移,会影响梯度下降的效率.此外,ReLU 神经元在训练时比较容易“死亡”.在训练时,如果参数在一次不恰当的更新后,第一个隐藏层中的某个 ReLU 神经元在所有的训练数据上都不能被激活,那么这个神经元自身参数的梯度永远都会是0,在以后的训练过程中永远不能被激活.这种现象称为死亡 ReLU 问题,并且也有可能会发生在其他隐藏层.
带泄露的ReLU
带泄露的ReLU(Leaky ReLU)在输入
标签:函数,前馈,ReLU,神经网络,激活,mathrm,神经元 From: https://www.cnblogs.com/gxxtsz/p/16656537.html