激活函数总结

激活函数在神经网络中引入非线性因素,解决复杂问题。常见激活函数包括Sigmoid、Tanh、ReLU及其变体,如LReLU、PReLU和RReLU。Sigmoid和Tanh有梯度消失问题,ReLU解决了此问题但可能造成神经元死亡,LReLU等变体则尝试缓解这一问题。ELU在保持收敛速度的同时,对输入变化更鲁棒。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

激活函数的作用

  在神经网络中,激活函数的作用是能够给神经网络加入一些非线性因素,使得神经网络可以更好地解决较为复杂的问题。
  先举一个简单的例子,在做二分类时,我们的预测值 y ^ = w T x + b \widehat{y}=w^{T}x+b y =wTx+b,其中w和b为参数,我们希望得到一个范围是(0,1)的概率值,而如果直接使用上式进行计算会导致预测值大于1或小于0,因此我们就需要套接一个激活函数,例如sigmoid函数,其值为(0,1)范围。
  再比如下面这个问题中:
在这里插入图片描述

  如上图所示,这是一个简单的线性分类问题,只需要一条直线就可以很好地分类。当我们碰到下图问题时,无法通过一条直线将样本分类出来,需要我们加入非线性因素才可以将样本分类好,而我们的激活函数就是我们要加入的非线性因素。
在这里插入图片描述

激活函数的软饱和、硬饱和、左饱和、右饱和

  假设h(x)是一个激活函数。
  1.当我们的n趋近于正无穷,激活函数的导数趋近于0,那么我们称之为右饱和。
   lim ⁡ n → + ∞ h ′ ( x ) = 0 \lim _{n\rightarrow +\infty }h'\left( x\right) =0 limn+h(x)=0
  2.当我们的n趋近于负无穷,激活函数的导数趋近于0,那么我们称之为左饱和。
   lim ⁡ n → − ∞ h ′ ( x ) = 0 \lim _{n\rightarrow -\infty }h'\left( x\right) =0 limnh(x)=0
  当一个函数既满足左饱和又满足右饱和的时候我们就称之为饱和,典型的函数有Sigmoid,Tanh函数。
  3.对于任意的x,如果存在常数c,当x>c时,恒有 h ′ ( x ) = 0 h'(x)=0 h(x)=0,则称其为右硬饱和。如果对于任意的x,如果存在常数c,当x<c时,恒有 h ′ ( x ) = 0 h'(x)=0 h(x)=0,则称其为左硬饱和。既满足左硬饱和又满足右硬饱和的我们称这种函数为硬饱和。
  4.对于任意的x,如果存在常数c,当x>c时,恒有 h ′ ( x ) h'(x) h(x)趋近于0,则称其为右软饱和。如果对于任意的x,如果存在常数c,当x<c时,恒有 h ′ ( x ) h'(x) h(x)趋近于0,则称其为左软饱和。既满足左软饱和又满足右软饱和的我们称这种函数为软饱和。

常见的激活函数

a) Sigmoid函数

Sigmoid函数:
在这里插入图片描述

Sigmoid导数:
在这里插入图片描述

  Sigmoid函数的优点:1.求导容易。 2.Sigmoid函数的输出映射在(0,1)之间,单调连续输出范围有限,优化稳定可以用作输出层。
  缺点:1.由于其软饱和性,容易造成梯度消失问题。2.其输出没有以0为中心。

b) Tanh函数

Tanh函数:
   tanh ⁡ ( z ) = e z − e − z e z + e − z \tanh \left( z\right) =\dfrac{e^{z}-e^{-z}}{e^{z}+e^{-z}} tanh(z)=ez+ezezez
在这里插入图片描述

Tanh函数导数:
   tanh ⁡ ′ ( z ) = 1 − ( tanh ⁡ ( z ) ) 2 \tanh '\left( z\right) =1-( \tanh\left( z\right) ) ^{2} tanh(z)=1(tanh(z))2
在这里插入图片描述

  Tanh函数的优点:1.收敛速度比Sigmoid函数快。 2. 其输出以0为中心。
  缺点:还是出现软饱和现象,梯度消失问题并没有解决。

c)Relu函数

Relu函数:
   g ( x ) = max ⁡ ( 0 , x ) g\left( x\right) =\max \left( 0,x\right) g(x)=max(0,x)
在这里插入图片描述

Relu导数:
   g ′ ( x ) = { 0 x < 0 1 x ≥ 0 g'\left( x\right) =\begin{cases}0\quad x <0\\ 1\quad x\geq 0\end{cases} g(x)={0x<01x0
在这里插入图片描述

  Relu函数的优点:1.在SGD(随机梯度下降算法)中收敛速度够快。2.不会出现像Sigmoid那样梯度消失问题。3.提供了网络稀疏表达能力。4.在 无监督训练中也有良好的表现。
  缺点:1.不以0为中心。2.前向传导(forward pass)过程中,如果 x < 0,则神经元保持非激活状态,且在后向传导(backward pass)中「杀死」梯度。这样权重无法得到更新,网络无法学习。神经元死亡是不可逆的。

d)LReLU、PReLU与RReLU函数

在这里插入图片描述

  LRelu函数:抑制负的输入,原样输出正值。
LRelu函数:
   g ( x ) = max ⁡ ( 0.01 x , x ) g\left( x\right) =\max \left( 0.01x,x\right) g(x)=max(0.01x,x)
LRelu导数:
   g ′ ( x ) = { 0.01 x < 0 1 x ≥ 0 g'\left( x\right) =\begin{cases}0.01\quad x <0\\ 1\quad\quad x\geq 0\end{cases} g(x)={0.01x<01x0
  LRelu的优点:缓解了Relu神经元死亡的问题。

PRelu函数:
公式:
   g ( x ) = max ⁡ ( α x , x ) g\left( x\right) =\max \left( \alpha x,x\right) g(x)=max(αx,x)
  这里引入了一个随机的超参数α,它可以被学习,因为你可以对它进行反向传播。这使神经元能够选择负区域最好的梯度,有了这种能力,它们可以变成 ReLU 或 Leaky ReLU。负值部分的斜率是根据数据来定的,而非预先定义的。

RRelu函数:
在这里插入图片描述

  RReLU也是Leaky ReLU的一个变体。在RReLU中,负值的斜率在训练中是随机的,在之后的测试中就变成了固定的了。RReLU的亮点在于,在训练环节中,aji是从一个均匀的分布U(I,u)中随机抽取的数值。
  RReLU中的aji是一个在一个给定的范围内随机抽取的值,这个值在测试环节就会固定下来。

e)ELU激活函数:

   f ( x ) = { x x ≥ 0 α ( e x − 1 ) x < 0 f\left( x\right) =\begin{cases}x \quad\quad\quad\quad\quad x\geq 0\\ \alpha \left( e^{x}-1\right)\quad x <0\end{cases} f(x)={xx0α(ex1)x<0

在这里插入图片描述
  右侧的线性部分能够缓解梯度消失,左侧的软饱和能够对于输入变化鲁棒.而且收敛速度更快.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值