激活函数总结(四十):激活函数补充(AHAF、SERLU)

2023-09-21 08:57:40

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

1 引言

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

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 x0SERLU(x))=λserluαserluxex if x<0
在这里插入图片描述
特点:

  • SERLU是对SELU的改进,引入“自控机制”使负值极限为0,与Swish相比,该函数更为灵活
  • 但SERLU的光滑性不好,影响网络的训练效率
  • 不是自适应函数,如果改为自适应函数,超参数的可变范围太大,训练起来较为困难

虽然SERLU具有一定的改进,但是与此同时带来较大局限性,因此很少使用。。。。

3. 总结

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

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

更多推荐

C++中string对象之间比较、char*之间比较

#include<cstring>//char*使用strcmp#include<string>//string使用compare#include<iostream>usingnamespacestd;intmain(){stringstringStr1="42";stringstringStr2="42";strin

《golang设计模式》第二部分·结构型模式-05-门面模式Facade)

文章目录1.概述1.1角色1.2类图2.代码示例2.1设计2.2代码2.2类图1.概述门面(Facade)向客户端提供使用子系统的统一接口,用于简化客户端使用子系统的操作。1.1角色门面角色(Facade)客户端可以调用的接口或方法此角色知晓系统的所有功能和责任一般情况下,该角色没有实际业务逻辑,只是一个委托类。子系统

蓝桥杯每日一题2023.9.16

蓝桥杯2022年第十三届省赛真题-X进制减法-C语言网(dotcpp.com)题目描述进制规定了数字在数位上逢几进一。X进制是一种很神奇的进制,因为其每一数位的进制并不固定!例如说某种X进制数,最低数位为二进制,第二数位为十进制,第三数位为八进制,则X进制数321转换为十进制数为65。现在有两个X进制表示的整数A和B,

基于NAudio实现录制声卡声音

之前的文章《测试.net开源音频库NAudio》中介绍了基于NAudio模块中的WaveInEvent和WaveFileWriter类实现基本的录音功能,但存在一个问题:本来想录制视频中的声音,但录音过程中会把麦克风中的杂音(挪动物品的声音、说话声音等)一并录进去。NAudio模块中提供有WasapiLoopbackC

代理IP与Socks5代理:跨界电商智能爬虫与出海之道

跨界电商正成为全球市场的关键驱动力,而代理IP和Socks5代理则为其提供了技术支持。本文将深入研究这两种代理技术在跨界电商、爬虫和出海战略中的重要作用。引言:介绍跨界电商的崛起和全球化趋势。引出代理IP和Socks5代理的重要性以及本文的主题。第一部分:代理IP和Socks5代理的基础知识代理IP和Socks5代理的

文心一言 VS 讯飞星火 VS chatgpt (97)-- 算法导论9.3 3题

三、用go语言,假设所有元素都是互异的,说明在最坏情况下,如何才能使快速排序的运行时间为O(nlgn)。文心一言:快速排序是一种基于分治策略的排序算法,其平均时间复杂度为O(nlgn)。在最坏情况下,快速排序的时间复杂度为O(n^2),这是因为当输入数组已经排序或接近排序时,快速排序的性能会退化。为了使快速排序在最坏情

Python的协程异步IO(asyncio)详解

一、协程简介1.1定义协程不是系统级线程,很多时候协程被称为“轻量级线程”、“微线程”、“纤程(fiber)”等。简单来说可以认为协程是线程里不同的函数,这些函数之间可以相互快速切换。协程和用户态线程非常接近,用户态线程之间的切换不需要陷入内核,但部分操作系统中用户态线程的切换需要内核态线程的辅助。协程是编程语言(或者

Blender关键帧动画简明教程

Blender3D是一款能够创建令人惊叹的动画的免费软件。Blender中的大多数动画都使用所谓的关键帧。Blender中关键帧的介绍将涵盖开始制作动画所需的一切!推荐:用NSDT编辑器快速搭建可编程3D场景1、什么是关键帧?在计算机出现之前,动画师必须手动绘制动画的每一帧——在每幅图像之间进行极其微小的更改。通过Bl

SpringBoot-AOP-Logback用切面拦截操作日志

在SpringBoot中使用切面来拦截操作日志,以及配合使用MyBatis-Plus框架进行操作,并使用Thymeleaf视图显示商品列表,同时配置Logback日志输出到文件。CREATETABLEproduct(idBIGINTAUTO_INCREMENTPRIMARYKEY,nameVARCHAR(255)NOT

typescript type 类型别名详解

TypeScript中的Type类型别名是一种强大的工具,用于创建自定义类型。通过类型别名,我们可以为复杂的类型结构创建更具可读性和可维护性的名字。TypeScript中的Type类型别名简介在TypeScript中,我们可以使用type关键字来定义一个类型的别名,这就是所谓的类型别名。通过类型别名,我们可以为复杂的类

Zookeeper集群 + Kafka集群

Zookeeper概述//Zookeeper定义*Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目。//Zookeeper工作机制*****Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦

热文推荐