激活函数总结(十四):激活函数补充(Gaussian 、GCU、ASU)

激活函数总结(十四):激活函数补充
1 引言
2 激活函数
2.1 Gaussian 激活函数
2.2 Growing Cosine Unit (GCU)激活函数
2.3 Amplifying Sine Unit (ASU)激活函数
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)。在这篇文章中,会接着上文提到的众多激活函数继续进行介绍,给大家带来更多不常见的激活函数的介绍。这里放一张激活函数的机理图:


最后,对于文章中没有提及到的激活函数,大家可以通过评论指出,作者会在后续的文章中进行添加补充。

2 激活函数
2.1 Gaussian 激活函数
Gaussian 激活函数通常指的是基于高斯函数(正态分布函数)的激活函数。这个激活函数使用高斯分布的形状,当输入 x xx 趋近于0时,激活值逐渐趋近于1,而在 x xx 远离0时,激活值迅速趋近于0。这种形状可以在一定程度上提供类似于 Sigmoid 或 Tanh 的非线性映射,但相对平滑。其数学表达式为和数学图像分别如下所示:
f ( x ) = e − x 2 f(x)=e^{−x^2}
f(x)=e 
−x 
2
 

优点:

平滑度:高斯激活函数是连续且平滑的,这意味着它在任何地方都是可微的,并且具有良好的梯度。此属性使优化算法可以轻松收敛到最佳解。
非线性:高斯激活函数将非线性引入网络,使其能够对输入和输出之间的复杂关系进行建模。
缺点:

复杂性:高斯激活函数会增加网络的复杂性,并且可能需要更多的计算资源来训练。
过拟合:如果网络变得过于复杂,它可能会开始过度拟合训练数据,这意味着它记住训练数据而不是学习一般模式。
局部最小值:高斯激活函数也可能倾向于卡在局部最小值中,这会使优化更加困难,并可能导致次优解。
当前状况很少使用,但是也在一些顶刊中出现过。。。。

2.2 Growing Cosine Unit (GCU)激活函数
论文链接:Noel, Mathew Mithra, Advait Trivedi, and Praneet Dutta. “Growing cosine unit: A novel oscillatory activation function that can speedup training and reduce parameters in convolutional neural networks.” arXiv preprint arXiv:2108.12943 (2021).

Growing Cosine Unit (GCU) 激活函数是近年来提出的一种新型激活函数,其设计灵感来自余弦函数,旨在缓解神经网络训练过程中的一些问题。GCU是一种振荡型非单调激活函数,它打破了激活函数领域的传统,使激活函数领域发生了革命性的变化。其数学表达式为和数学图像分别如下所示:
f ( x ) = x ∗ c o s ( x ) f(x) = x*cos(x)
f(x)=x∗cos(x)


优点:

振荡非单调:振荡激活函数可以用较少的神经元执行复杂的指定任务方面具有优势,而且计算成本更低,性能更强。
改善梯度流动:因为GCU激活的导数值较小,仅接近域中的孤立点,而不是整个无限区间。因此,其存在改善梯度流动、缓解梯度消失的优点。
缺点:

计算复杂性: 相对于一些传统的激活函数,GCU 激活函数的计算可能稍复杂,可能在大规模网络中影响训练速度。
当前GCU激活函数较常用于微机电系统中的非线性振荡类型的深度网络模型中。。。。

2.3 Amplifying Sine Unit (ASU)激活函数
论文链接:Amplifying Sine Unit: An Oscillatory Activation Function for Deep Neural Networks to Recover Nonlinear Oscillations Efficiently

ASU激活函数是一种新型振荡激活函数,对于复杂的振动系统(如微机电系统),它比GCU更有效。其数学表达式为和数学图像分别如下所示:
f ( x ) = x ∗ s i n ( x ) f(x)=x*sin(x)
f(x)=x∗sin(x)

优点:

振荡非单调:振荡激活函数可以用较少的神经元执行复杂的指定任务方面具有优势,而且计算成本更低,性能更强。
周期性:ASU激活函数可以提取周期性数据中的复杂特征。
缺点:

计算复杂性: 相对于一些传统的激活函数,ASU激活函数的计算可能稍复杂,可能在大规模网络中影响训练速度。
当前ASU激活函数较常用于复杂周期性系统的深度网络模型中。。。。效果较GCU更好、更稳定。。。

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

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

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/qq_36758270/article/details/132358989

  • 20
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RELU激活函数是一种常用的非线性激活函数,其全称为Rectified Linear Unit。它的推导公式如下: f(x) = max(0, x) 其中,x为输入值,f(x)为输出值。如果x大于0,则输出为x本身;如果x小于等于0,则输出为0。 RELU激活函数的优点包括: 1. 计算简单:RELU函数只需判断输入值是否大于0,计算速度快。 2. 解决梯度消失问题:相比于sigmoid和tanh等函数,RELU函数在正区间上的导数恒为1,不会导致梯度消失问题。 3. 降低计算复杂度:在深度神经网络中,RELU函数能够将一部分神经元的输出直接置为0,从而减少了参数的数量和模型的计算复杂度。 RELU激活函数的缺点包括: 1. 神经元死亡问题:当输入值小于等于0时,RELU函数的导数为0,这意味着该神经元对梯度的贡献为0,从而可能导致该神经元无法更新权重。 2. 输出不是zero-centered:由于RELU函数在负区间上输出为0,因此其输出值不是zero-centered,可能对某些优化算法造成不利影响。 3. 容易出现神经元过度激活:当学习率较大时,使用RELU激活函数可能导致部分神经元过度激活,使得网络无法收敛。 GELU激活函数是一种近似高斯误差线性单元(Gaussian Error Linear Unit)的激活函数,其推导公式如下: f(x) = 0.5 * x * (1 + tanh(sqrt(2/pi) * (x + 0.044715 * x^3))) 其中,x为输入值,f(x)为输出值。 GELU激活函数的优点包括: 1. 近似高斯:GELU函数在接近零的区间上表现出类似于高斯分布的形状,有助于模型更好地适应连续变量。 2. 具有平滑的导数:GELU函数的导数在整个实数域上都存在,且连续平滑,有助于提高梯度的稳定性。 GELU激活函数的缺点包括: 1. 计算复杂度较高:相比于RELU函数,GELU函数的计算复杂度较高,这可能会增加训练和推理的时间成本。 2. 参数调节困难:GELU函数中的参数需要进行调节,如果参数选择不合适,可能会影响模型的性能。 总体来说,RELU激活函数在实际应用中被广泛使用,并具有较好的性能。而GELU激活函数的优势在于它更接近高斯分布,但在计算复杂度和参数调节上存在一些挑战。选择使用哪种激活函数要根据具体的任务需求和实验结果来决定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值