激活函数总结(十六):激活函数补充
- 1 引言
- 2 激活函数
- 2.1 S-shaped Rectified Linear Activation Unit(SReLU)激活函数
- 2.2 Bipolar Rectified Linear Unit (BReLU)激活函数
- 3. 总结
1 引言
在前面的文章中已经介绍了介绍了一系列激活函数 (Sigmoid
、Tanh
、ReLU
、Leaky ReLU
、PReLU
、Swish
、ELU
、SELU
、GELU
、Softmax
、Softplus
、Mish
、Maxout
、HardSigmoid
、HardTanh
、Hardswish
、HardShrink
、SoftShrink
、TanhShrink
、RReLU
、CELU
、ReLU6
、GLU
、SwiGLU
、GTU
、Bilinear
、ReGLU
、GEGLU
、Softmin
、Softmax2d
、Logsoftmax
、Identity
、LogSigmoid
、Bent Identity
、Absolute
、Bipolar
、Bipolar Sigmoid
、Sinusoid
、Cosine
、Arcsinh
、Arccosh
、Arctanh
、LeCun Tanh
、TanhExp
、Gaussian
、GCU
、ASU
、SQU
、NCU
、DSU
、SSU
)。在这篇文章中,会接着上文提到的众多激活函数继续进行介绍,给大家带来更多不常见的激活函数的介绍。这里放一张激活函数的机理图:
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(x−tl),x,tr+ar(x−tr),if x≤tlif tl<x<trtr≤x
优点:
- 解决死亡神经元问题: 与 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
优点:
- 非线性变换: 在输入为偶数的情况下,Bipolar ReLU 具有线性变换的性质,有助于网络学习
适应性特征
。 - 零输出: 在输入为奇数的情况下,Bipolar ReLU 的输出为零,这有助于网络对某些特定模式进行
完全抑制
,可能在某些任务中有用。 - 引入多样性: Bipolar ReLU 可以在不同的输入值下引入
多样性
的激活模式,这可能在某些模型
和任务中具有一定的优势。
缺点:
- 缺乏连续性: Bipolar ReLU 在奇数输入下的输出为零,这可能导致
不连续性
,可能影响梯度计算和反向传播的稳定性。 - 信息丢失: 在输入为奇数的情况下,Bipolar ReLU 完全抑制了输出,可能导致一些
信息丢失
,从而影响模型的表现能力。 - 参数选择: Bipolar ReLU 引入了一个额外的参数,即
模数
,需要根据任务和数据进行调整,可能需要更多的实验来找到最佳参数。
依据其特性,当前状况下不建议使用。。。除了某些特殊任务!!!
3. 总结
到此,使用 激活函数总结(十六) 已经介绍完毕了!!! 如果有什么疑问欢迎在评论区提出,对于共性问题可能会后续添加到文章介绍中。如果存在没有提及的激活函数
也可以在评论区提出,后续会对其进行添加!!!!
如果觉得这篇文章对你有用,记得点赞、收藏并分享给你的小伙伴们哦😄。