激活函数总结(四十):激活函数补充
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、Piecewise Linear Unit、CLL、SquaredReLU、ModReLU、CosReLU、SinReLU、Probit、Smish、Multiquadratic、InvMultiquadratic、PSmish、ESwish、CoLU、ShiftedSoftPlus、Logit、Softsign、ELiSH、Hard ELiSH、Serf、FReLU、QReLU、m-QReLU、FReLU、CReLU、KAF、Siren、ARiA、m-arcsinh、PAU、DELU、PDELU、CosLU、NFN、Hermite)。在这篇文章中,会接着上文提到的众多激活函数继续进行介绍,给大家带来更多不常见的激活函数的介绍。这里放一张激活函数的机理图:

2 激活函数
2.1 AHAF激活函数
论文链接:Adaptive hybrid activation function for deep neural networks
Adaptive hybrid activation function(AHAF)自适应混合活化函数结合了整流单元 (rectifier units)和压扁 (squashing) 函数的特性。其数学表达式和数学图像分别如下所示:
ψ
j
(
u
j
)
=
β
j
u
j
σ
(
γ
j
u
j
)
=
β
j
u
j
1
+
e
−
γ
j
u
j
\psi_j(u_j)=\beta_j u_j \sigma(\gamma_ju_j)=\frac{\beta_j u_j}{1+e^{-\gamma_ju_j}}
ψj(uj)=βjujσ(γjuj)=1+e−γjujβjuj

其中,
β
j
\beta_j
βj 和
γ
j
\gamma_j
γj 是在训练过程中与突触权重一起训练的参数。
优点:
- 不受梯度消失的影响:提出的该激活函数克服了
σ
(
x
)
\sigma(x)
σ(x) 激活函数中产生的
梯度消失的影响。 - 可训练参数:在AHAF激活函数中,众多参数都是可训练的,可以在算法运行过程中
自适应训练合适的参数。仅仅当 u j < < 0 u_j<<0 uj<<0 时,才会产生较小的振幅值。此时,可以通过调节增益参数γ j \gamma_j γj 来补偿。
缺点:
- 参数众多,难以训练:在模型训练过程中,
激活函数会对结果产生严重影响。而且,在网络训练过程中,不停地更新参数会导致模型训练的复杂度呈现几何倍地增加,很难训练出合适的参数。
从激活函数结构来说,该激活函数具有较好的效果。但是当前还未得到验证,使用的时候需要注意。。。
2.2 SERLU激活函数
论文链接:Effectiveness of Scaled Exponentially-Regularized Linear Units (SERLUs)
Scaled Exponentially-Regularized Linear Unit (SERLU) 在静止的同时打破SELU的单调性, 保留自规范化属性。与SELU不同,新的 函数在负输入区域引入凹凸形函数 使用缩放指数函数正则化线性函数,即 称为缩放指数正则线性单元 (SERLU)。这 凸块形功能对大负输入的响应几乎为零 同时能够在统计上将 SERLU 的输出推向零平均值。其数学表达式和数学图像分别如下所示:
SERLU
(
x
)
)
=
λ
s
e
r
l
u
x
if
x
≥
0
SERLU
(
x
)
)
=
λ
s
e
r
l
u
α
s
e
r
l
u
x
e
x
if
x
<
0
\text{SERLU}\left(x\right)) = \lambda_{serlu}x \text{ if } x \geq 0 \\ \text{SERLU}\left(x\right)) = \lambda_{serlu}\alpha_{serlu}xe^{x} \text{ if } x < 0
SERLU(x))=λserlux if x≥0SERLU(x))=λserluαserluxex if x<0

特点:
- SERLU是对SELU的
改进,引入“自控机制”使负值极限为0,与Swish相比,该函数更为灵活。 - 但SERLU的
光滑性不好,影响网络的训练效率。 - 不是
自适应函数,如果改为自适应函数,超参数的可变范围太大,训练起来较为困难。
虽然SERLU具有一定的改进,但是与此同时带来较大的局限性,因此很少使用。。。。
3. 总结
到此,使用 激活函数总结(四十) 已经介绍完毕了!!! 如果有什么疑问欢迎在评论区提出,对于共性问题可能会后续添加到文章介绍中。如果存在没有提及的激活函数也可以在评论区提出,后续会对其进行添加!!!!
如果觉得这篇文章对你有用,记得点赞、收藏并分享给你的小伙伴们哦😄。