神经元和激活函数

教材
https://www.bilibili.com/video/BV13b4y1177W

符号 含义
\(d\) 维数
\(b\) 偏置项

1.神经元模型

\(z=\sum_{i=1}^{d}w_ix_i +b = w^T x +b\)

2.激活函数

性质

连续并可导(允许少数点上不可导)的非线性函数。

可导的激活函数可以直接利用数值优化的方法来学习网络参数。

激活函数及其导函数要尽可能的简单

有利于提高网络计算效率。

激活函数的导函数的值域要在一个合适的区间内

不能太大也不能太小,否则会影响训练的效率和稳定性。

单调递增

常见激活函数

S型函数

logistic函数

\(\sigma(x)=\frac{1}{1+e^{-x}}\)

tanh函数

\(tanh(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}} ,值域[-1,1]\)
\(tanh(x)=2\sigma(2x)-1\)
神经元和激活函数

性质:

都是饱和函数-两端导数接近于0,中间是类似线性的直线
Tanh函数是零中心化的,而logistic函数的输出恒大于0
\(\color{red}{非零中心化的输出会使得其后一层的神经元的输入发生偏置偏移(bias\ shift),并进一步使得梯度下降的收敛速度变慢。}\)
\(比如y=f(w\cdot \sigma(x))\)
\(求导\frac{\partial y}{\partial w}=f^{'}\cdot \sigma(x),f^{'}是标量,而sigma(x)是高维的,意味着所有分量都要么一起>0.要么一起<0,优化的时候会变成之字形的优化路线,优化效率差\)
\(方法1.归一化到0中心,2.增加偏置项\sigma(x)+b\)

斜坡函数

ReLU函数-修正的线性单元

\(ReLU(x)=max(0,x)\)

性质

计算上更加高效
生物学合理性
单侧抑制、宽兴奋边界
在一定程度上缓解梯度消失问题

死亡ReLU问题(Dying ReLU Problem)

函数的左边输出都是0,如果参数的Relu=0,那么梯度=0,没法更新参数了,一直处于不激活状态
解决方法,初始化的时候尽量小心,或者用LeakyRelu

Leaky Relu

\(LeakyRelu(x)=\begin{cases} x & x >0\\ \gamma x & x\le 0\\ \end{cases}=max(0,x)+\gamma min(0,x)\)

ELU-近似的零中心化的非线性函数

\(ELU(x)=\begin{cases} x & x >0\\ \gamma(e^x-1) & x\le 0\\ \end{cases}=max(0,x)+min(0,\gamma(e^x-1) )\)

softplus

\(Softplus(x)=log(1+e^x)\)
神经元和激活函数

复合函数

Swish函数:张一红自门控(Self-Gated)激活函数

\(swish(x)=x\sigma(\beta x),\beta 允许多少信息通过,\beta越大,越逼近Relu,\beta=0就是线性函数\)

神经元和激活函数

高斯误差线性单元 (Gaussina Error Linear Unit,GELU)

和Swish函数比较类似
\(GELU(x)=xP(X\le x)\)
\(其中P(X \le x)是高斯分布N(\mu,\sigma^2 )的累积分布函数\)
\(其中\mu,\sigma为超参数,一般设\mu = 0,\sigma = 1即可\)
没有解析函数,用其他函数近似
由于高斯分布的累积分布函数为S型函数,因此GELU可以用Tanh函数或Logistic函数来近似
\(GELU(x)\approx 0.5 x(1+tanh(\sqrt{\frac{2}{\pi}}(x+0.044715 x^3)))\)
\(GELU(x)\approx x\sigma(1.702 x)\)

简单总结

激活函数 函数 导数
Logistic函数 \(f(x)=\frac{1}{1+e^{-x}}\)                                    \(f'(x)=f(x)(1-f(x))\)                                   
Tanh函数 \(f(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}}\) \(f'(x)=1-f(x)^2\)
ReLU函数 \(max(0,x)\) \(f'(x)=I(x>0)\)
ELU函数 \(max(0,x)+min(0,\gamma(e^x-1) )\) \(f'(x)=I(x>0)+I(x\le 0)\cdot \gamma e^x\)
SoftPlus \(f(x)=log(1+e^x)\) \(f'(x)=\frac{1}{1+e^{-x}}\)
上一篇:WARNING: Heavy swapping observed on system in last 5 mins.


下一篇:支持向量机算法如何调参(有哪些参数可调,调参总结)