激活函数总结(二十八):激活函数补充(PSmish、ESwish)

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

  • 1 引言
  • 2 激活函数
    • 2.1 ParametricSmish (PSmish) 激活函数
    • 2.2 ESwish激活函数
  • 3. 总结

1 引言

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

2 激活函数

2.1 ParametricSmish (PSmish) 激活函数

ParametricSmish(参数化Smish,PSmish)激活函数是在Smish激活函数的基础上,加上了两个参数 α 、 β \alpha、\beta αβ,进行可以对激活函数进行一定的调整,使其适配更多情况的模型。其数学表达式和数学图像分别如下所示:

f ( x ) = a ∗ t a n h ( l o g ( 1 + S i g m o i d ( b ) ) ) f(x)=a*tanh(log(1+Sigmoid(b))) f(x)=atanh(log(1+Sigmoid(b)))激活函数总结(二十八):激活函数补充(PSmish、ESwish)_第1张图片
其中, a = α x , b = β x a = \alpha x,b=\beta x a=αxb=βx

优点:

  • 可学习参数: PSmish 允许学习参数,这意味着网络可以根据数据和任务需求自适应地调整激活函数的形状。
  • 近似线性变换:随着网络模型深度增加,输出值不会随近线性激活函数的值发生显著变化。由于网络具有近线性变换特性,梯度反向传播稳定方便
  • 非单调性:一个好的激活函数不应该诱导梯度消失,并且允许少量的负值发挥正则化效应。而PSmish 的非单调性保证了负训练的稳定性提高了表达的表现。

缺点:

  • 参数选择: 学习参数需要额外的调整调优,这可能需要更多的实验。
  • 复杂度较高:PSmish 的复杂度高于其他比较的激活函数,因此在轻量级模型中存在一些局限性。
  • 难以解释性: 函数的组合可能会使其整体行为难以解释。在实际使用中,理解每个组件激活函数的影响可能会变得复杂。

总的而言,PSmish 激活函数具有良好的效果,但是目前使用的并不多。。。。

2.2 ESwish激活函数

论文链接:Alcaide, Eric. “E-swish: Adjusting activations to different network depths.” arXiv preprint arXiv:1801.07145 (2018).

ESwish(Exponential Linear Scaled Hyperbolic)是一种激活函数,被提出用来改进神经网络的训练和性能。Eswish 只是 Swish 激活函数(x*sigmoid(x))的广义化,其乘以一个参数得到。其数学表达式和数学图像分别如下所示:
f ( x ) = β x 1 − e − β x f(x)=\beta \frac{x}{1-e^{-\beta x}} f(x)=β1eβxx
激活函数总结(二十八):激活函数补充(PSmish、ESwish)_第2张图片
优点:

  • 可调参数: 参数 β 允许你调整函数的斜率饱和程度,以适应不同的数据和任务。
  • 平滑和非单调的:与Swish一样,ESwish也是平滑非单调的。

缺点:

  • 参数选择是困难的 β \beta β 参数不是可以学习的,需要事先进行选择。当 β < 1 \beta< 1 β<1时,容易进入梯度消失的状态;当 β > 2 \beta> 2 β>2时,容易进入梯度爆炸的状态。而在 [ 1 , 2 ] [1, 2] [1,2]之间很难选择一个合适的参数来适应我们的网络模型。。。

总的而言,虽然ESwish 激活函数具有良好的效果,但是还缺乏有效证明,且目前使用的并不多。。。。

3. 总结

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

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

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