AI智能
改变未来

【深度学习学习笔记】4.前馈神经网络之一:激活函数(Sigmoid和ReLu)

@TOC

激活函数:一个非线性的函数

1.Sigmoid型激活函数:

Logistic函数:

11+exp(−x)\\frac{1}{1+exp(-x)}1+exp(−x)1​,值域(0,1)

Tahn函数:

exp(x)−exp(−x)exp(x)+exp(−x)\\frac{exp(x)-exp(-x)}{exp(x)+exp(-x)}exp(x)+exp(−x)exp(x)−exp(−x)​,值域(-1,1)

Hard Sigmoid函数:用分段函数近似Sigmoid函数

hard-logistic(x)

hard-logistic(x)= max(min(0.25x+0.5,1),0)

hard-tanh(x)

hard-tanh(x)= max(min(x,1),-1)

2.ReLU:修正线性单元,深层神经网络中常用的激活函数。

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

即输入<0,输出=0。输入>0,输出=输入。

优点:
左饱和函数,缓解了神经网络的梯度消失问题,加速梯度下降的收敛速度。

缺点:

  • 是非零中心化的:给后一层的神经网络引入偏置偏移,会影响梯度下降的效率。
  • 容易死亡: 如果参数在一次不恰当的更新后,第一个隐藏层中的某个ReLU神经元在所有的训练数据上都不能被激活,那么这个神经元自身参数的梯度永远都会是0, 在以后的训练过程中永远不能被激活。

ReLU的变种:

带泄露的ReLU:

LeakyReLU(x) = max(0, x) + γγγmin(0, x)
在输入 x < 0时,保持一个很小的梯度λ。
这样当神经元非激活时也能有一个非零的梯度可以更新参数,避免永远不能被激活。

当γγγ< 1时,带泄露的ReLU也可以写为LeakyReLU(x) = max(x, γγγx)

带参数的ReLU:

PReLU(x)= max(0, x) + γiγ_iγi​min(0, x)
引入一个可学习的参数,允许不同神经元有不同的参数。

指数线性单元:ELU

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 【深度学习学习笔记】4.前馈神经网络之一:激活函数(Sigmoid和ReLu)