激活函数总结(十六):激活函数补充(SReLU、BReLU)

激活函数总结(十六):激活函数补充

  • 1 引言
  • 2 激活函数
    • 2.1 S-shaped Rectified Linear Activation Unit(SReLU)激活函数
    • 2.2 Bipolar Rectified Linear Unit (BReLU)激活函数
  • 3. 总结

1 引言

在前面的文章中已经介绍了介绍了一系列激活函数 (SigmoidTanhReLULeaky ReLUPReLUSwishELUSELUGELUSoftmaxSoftplusMishMaxoutHardSigmoidHardTanhHardswishHardShrinkSoftShrinkTanhShrinkRReLUCELUReLU6GLUSwiGLUGTUBilinearReGLUGEGLUSoftminSoftmax2dLogsoftmaxIdentityLogSigmoidBent IdentityAbsoluteBipolarBipolar SigmoidSinusoidCosineArcsinhArccoshArctanhLeCun TanhTanhExpGaussianGCUASUSQUNCUDSUSSU)。在这篇文章中,会接着上文提到的众多激活函数继续进行介绍,给大家带来更多不常见的激活函数的介绍。这里放一张激活函数的机理图:
在这里插入图片描述

2 激活函数

2.1 S-shaped Rectified Linear Activation Unit(SReLU)激活函数

论文链接:https://arxiv.org/pdf/1512.07030.pdf

SReLU 是一种非线性激活函数,它是对传统的 ReLU(Rectified Linear Unit)的一种扩展和变体。SReLU 激活函数引入了偏移斜率参数,使得它在一些场景中可能表现得更好。其数学表达式为和数学图像分别如下所示:
S R e L U ( x ) = { t l + a l ( x − t l ) , if  x ≤ t l x , if  t l < x < t r t r + a r ( x − t r ) , t r ≤ x SReLU(x) = \begin{cases} t_l + a_l (x-t_l), & \text{if } x \leq t_l \\ x, & \text{if } t_l < x < t_r \\ t_r + a_r (x-t_r), & t_r \leq x \\ \end{cases} SReLU(x)= tl+al(xtl),x,tr+ar(xtr),if xtlif tl<x<trtrx激活函数总结(十六):激活函数补充(SReLU、BReLU)_第1张图片
优点:

  • 解决死亡神经元问题: 与 ReLU 不同,SReLU引入了平移参数,使得在输入为负时也有非零输出,从而减少了死亡神经元问题的出现。这有助于提高网络的稳定性和收敛速度。
  • 平滑和非线性: SReLU 在其 S 字形区域内是平滑且非线性的,可以更好地捕获数据中的复杂模式,这对于模型的性能至关重要。
  • 自适应性: 通过调整 SReLU 的平移参数,您可以根据数据的分布和任务需求对激活函数进行微调,使其适应不同的数据特性。
  • 不敏感的参数: SReLU 不太受初始化参数的影响,因此初始化网络时不太容易出现问题。这使得训练过程更加稳定。
  • 避免饱和现象: 在 SReLU 的 S 形区域,梯度不会变得非常小,因此可以减少梯度消失问题。

缺点:

  • 计算复杂性: 与一些简单的激活函数(如 ReLU)相比,SReLU 涉及更多的参数和计算,可能在一些情况下导致计算复杂性增加。
  • 参数调整: SReLU 需要调整四个额外的参数:平移参数斜率。这可能需要更多的实验和调整,以找到最佳参数设置。

当前该系列激活函数很少使用。。。

2.2 Bipolar Rectified Linear Unit (BReLU)激活函数

论文链接: https://arxiv.org/pdf/1709.04054.pdf

Bipolar Rectified Linear Unit 是一种非线性激活函数,也称为 BReLU。与传统的 ReLU 及其变种不同,BReLU引入了极性反转来产生负值的输出。其数学表达式为和数学图像分别如下所示:
B R e L U ( x ) = { R e L U ( x i ) if  i  mod  2 = 0 − R e L U ( − x i ) if  i  mod  2 ≠ 0 BReLU(x) = \begin{cases} ReLU(x_i) & \text{if } i \text{ mod } 2 = 0 \\ -ReLU(-x_i) & \text{if } i \text{ mod } 2 \neq 0 \\ \end{cases} BReLU(x)={ReLU(xi)ReLU(xi)if i mod 2=0if i mod 2=0激活函数总结(十六):激活函数补充(SReLU、BReLU)_第2张图片
优点:

  • 非线性变换: 在输入为偶数的情况下,Bipolar ReLU 具有线性变换的性质,有助于网络学习适应性特征
  • 零输出: 在输入为奇数的情况下,Bipolar ReLU 的输出为零,这有助于网络对某些特定模式进行完全抑制,可能在某些任务中有用。
  • 引入多样性: Bipolar ReLU 可以在不同的输入值下引入多样性的激活模式,这可能在某些模型和任务中具有一定的优势。

缺点:

  • 缺乏连续性: Bipolar ReLU 在奇数输入下的输出为零,这可能导致不连续性,可能影响梯度计算和反向传播的稳定性。
  • 信息丢失: 在输入为奇数的情况下,Bipolar ReLU 完全抑制了输出,可能导致一些信息丢失,从而影响模型的表现能力。
  • 参数选择: Bipolar ReLU 引入了一个额外的参数,即模数,需要根据任务和数据进行调整,可能需要更多的实验来找到最佳参数。

依据其特性,当前状况下不建议使用。。。除了某些特殊任务!!!

3. 总结

到此,使用 激活函数总结(十六) 已经介绍完毕了!!! 如果有什么疑问欢迎在评论区提出,对于共性问题可能会后续添加到文章介绍中。如果存在没有提及的激活函数也可以在评论区提出,后续会对其进行添加!!!!

如果觉得这篇文章对你有用,记得点赞、收藏并分享给你的小伙伴们哦。

你可能感兴趣的:(深度学习,机器学习,深度学习,python,激活函数)