激活函数总结(二十三):激活函数补充
- 1 引言
- 2 激活函数
- 2.1 Piecewise Linear Unit激活函数
- 2.2 Complementary Log-Log (CLL)激活函数
- 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
、SReLU
、BReLU
、PELU
、Phish
、RBF
、SQ-RBF
、ISRU
、ISRLU
、SQNL
、PLU
、APL
、Inverse Cubic
、Soft Exponential
、ParametricLinear
)。在这篇文章中,会接着上文提到的众多激活函数继续进行介绍,给大家带来更多不常见的激活函数的介绍。这里放一张激活函数的机理图:
2 激活函数
2.1 Piecewise Linear Unit激活函数
论文链接:https://arxiv.org/abs/2104.03693
Piecewise Linear Unit分段激活函数,通过公式设计
+可学习参数
的方式,来达到算法SOTA
的结果。其数学表达式和数学图像分别如下所示:
{
(
x
−
B
L
)
∗
K
L
+
Y
P
0
,
if
x
<
B
L
(
x
−
B
R
)
∗
K
R
+
Y
P
N
,
if
x
≥
B
R
(
x
−
B
i
d
x
)
∗
K
i
d
x
+
Y
P
i
d
x
,
if
B
L
≤
x
<
B
R
\begin{cases} (x-B_L)*K_L+Y_P^0, & \text{if } x<B_L \\ (x-B_R)*K_R+Y_P^N, & \text{if } x \geq B_R \\ (x-B_{idx})*K_{idx}+Y_P^{idx}, & \text{if }B_L \leq x < B_R\\ \end{cases}
⎩
⎨
⎧(x−BL)∗KL+YP0,(x−BR)∗KR+YPN,(x−Bidx)∗Kidx+YPidx,if x<BLif x≥BRif BL≤x<BR
其中,在
[
B
L
,
B
R
]
[B_L, B_R]
[BL,BR] 间被划分为 N 段,每一段都有其自己的斜率。
特性:(参考自:Piecewise Linear Unit:分段线性激活函数)
- PWLU可以表示任意
连续
,有边界
的scalar function - PWLU变换
连续
,利于求导 - 可以
最大限度
利用可学习参数 - 由于我们划分段是N等分的,所以在计算,
推理
中是efficient的
优点:
- 灵活性: “Piecewise Linear” 激活函数允许在
不同区间
内使用不同的线性函数,从而适应
不同的数据模式和分布。 - 逼近复杂性: 通过
合理设置
划分区间和线性函数的参数,这种激活函数能够逼近
一些复杂的非线性特性。 - 可解释性: 由于它由多个线性段组成,其行为相对
容易解释
,参数的含义也相对明确。
缺点:
- 参数设置: 需要仔细
选择划分
区间、斜率和截距参数,以获得良好的性能。不恰当的参数设置可能会导致模型表现不佳。 - 有限的表达能力: 尽管能够逼近一些非线性特性,但在某些
复杂
问题中,可能仍然无法捕捉到更深层次的非线性模式。 - 计算开销: 需要根据划分区间的数量执行不同的线性函数计算,可能在计算上
增加
一定的开销
。
虽然作者提出Piecewise Linear Unit是为了让激活函数逼近
和表达
出各种性质且表现出了很好的性质
,但是论文代码仍为开源,当前仍未广泛使用。。。。。
2.2 Complementary Log-Log (CLL)激活函数
论文链接:Gomes, Gecynalda S. da S., and Teresa B. Ludermir. “Complementary log-log and probit: activation functions implemented in artificial neural networks.” In 2008 Eighth International Conference on Hybrid Intelligent Systems, pp. 939-942. IEEE, 2008.
Complementary Log-Log(CLL)激活函数是一种非常特殊
的激活函数,通常用于极端稀疏数据
的建模。它在广义线性
模型(Generalized Linear Models,GLMs)和某些神经网络中被用作连接函数(link function),用于将线性输出映射到正实数
范围。其数学表达式和数学图像分别如下所示:
f
(
x
)
=
1
−
e
−
e
x
f(x)=1-e^{-e^x}
f(x)=1−e−ex
优点:
- 适用于极端稀疏数据: CLL 激活函数适用于具有
极端稀疏性
的数据,这种情况下其他激活函数可能表现不佳。 - 连接函数: 在广义线性模型(GLMs)和某些神经网络中,CLL 可以作为
连接函数
,将线性输出
映射到正实数
范围。 - 处理极值问题: CLL 可以对输入进行
适当的转换
,从而处理极值
情况,使得模型更稳定
。
缺点:
- 局限性: CLL 激活函数在
特定
场景下表现出色,但并不适用
于所有问题。它在非稀疏数据和其他类型的模型中可能表现不佳
。 - 数值计算开销: 由于涉及
指数
,CLL 激活函数可能在计算上较为昂贵。
总的来说,CLL激活函数可能在极端情况下会表现更为优秀。。。。。
3. 总结
到此,使用 激活函数总结(二十三) 已经介绍完毕了!!! 如果有什么疑问欢迎在评论区提出,对于共性问题可能会后续添加到文章介绍中。如果存在没有提及的激活函数
也可以在评论区提出,后续会对其进行添加!!!!
如果觉得这篇文章对你有用,记得点赞、收藏并分享给你的小伙伴们哦😄。