激活函数总结(六):ReLU系列激活函数补充(RReLU、CELU、ReLU6)

激活函数总结(六):ReLU系列激活函数补充

  • 1 引言
  • 2 激活函数
    • 2.1 RReLU激活函数
    • 2.2 CELU激活函数
    • 2.3 ReLU6 激活函数
  • 3. 总结

1 引言

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

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

2 激活函数

2.1 RReLU激活函数

论文链接:Empirical Evaluation of Rectified Activations in Convolutional Network

RReLU激活函数是基于Leaky ReLU的一种扩展形式。与传统的Leaky ReLU不同,RReLU引入了随机性,允许在训练过程中随机设置泄漏的斜率。其数学表达式和数学图像分别如下所示:
R R e L U ( x ) = { x i f x > = 0 a x o t h e r w i s e RReLU(x)=\left\{ \begin{matrix} \quad \quad \quad x \quad \quad \quad if \quad x >= 0 \\ \quad \quad \quad ax \quad \quad \quad otherwise \quad \end{matrix} \right. RReLU(x)={xifx>=0axotherwise在这里插入图片描述
a是一个随机数,服从均匀分布U(lower,upper)。在pytorch中,nn.RReLU默认参数是(lower=1/8, upper=1/3)。参数a在训练时随机,测试时固定(lower + upper) / 2

优点:

  • 减少过拟合:对于RReLU而言,参数a是随机选择的,这样可以减少过拟合带来的风险

缺点:

  • 效果不好:相对ReLU而言,RReLU往往效果不是很好
  • 运算速度慢:RReLU增加了计算的参数量,因此运算速度较慢

RReLU虽然在训练时效果表现很差,但是在测试时表现很好。但是,现在仍处于几乎没有人使用的情况。。。

2.2 CELU激活函数

论文链接:https://arxiv.org/abs/1704.07483

CELU 激活函数是 ELU激活函数的变体,与 ELU 不同,CELU 是一个连续可导的激活函数,旨在在保持ELU的非线性特性的同时消除其在某些点上不可导的问题。其数学表达式和数学图像分别如下所示:
C E L U ( x ) = m a x ( 0 , x ) + m i n ( 0 , α ∗ ( e x p x / α − 1 ) ) CELU(x)=max(0,x)+min(0,α∗(exp^{x/α}−1)) CELU(x)=max(0,x)+min(0,α(expx/α1))在这里插入图片描述
优点:

  • 连续可分:对于ELU激活函数而言, α \alpha α 不等于1时,其相对于其输入不是连续可微的;而CELU对于所有 α \alpha α 都是连续可微的,使整流器更容易推理,并使 α \alpha α容易调整

缺点:

  • 计算复杂度高:负数部分引入了指数函数的计算,增加了计算的复杂性
  • 增加了超参数:增加了超参数,用于调整激活函数在负值区域的斜率。选择合适的 α \alpha α 值仍然是一个挑战,不同的数据集和任务可能需要不同的参数设置。

实验发现 CELU 具有不错的效果,在许多网络中都有应用。可以作为一种常用激活函数!!!

2.3 ReLU6 激活函数

论文链接:cs.utoronto.ca/~kriz/conv-cifar10-aug2010.pdf

ReLU6 激活函数是 ReLU 激活函数的变种之一。ReLU6 激活函数在负值区域与普通的ReLU相同,而在正值区域则进行了剪裁将正值限制在一个较小的范围内,通常是[0, 6]。(这里设置为6,是因为在论文中经过实验,设置为6取得的效果最好)其数学表达式和数学图像分别如下所示:
R e L U 6 ( x ) = m i n ( m a x ( x , 0 ) , 6 ) ReLU6(x) = min(max(x, 0), 6) ReLU6(x)=min(max(x,0),6)在这里插入图片描述

优点:

  • 稀疏性:由于ReLU6的截断属性,使得激活函数存在一定的稀疏性。可以降低模型的计算复杂度
  • 低精度分辨率:对于一些低精度的数据,具有很好的分辨率。例如 float16 无法准确描述出较大数据,因此会导致一定的精度损失,而使用ReLU6激活函数不会存在这样的问题。

缺点:

  • 信息丢失:截断属性可能带来一定的信息丢失
  • 超参数选择:对于ReLU6而言,其截断范围也是可以被选择的,可以通过对该超参数进行选择来调节效果。

ReLU6激活函数具有一定的效果,在当前诸多领域都有应用,是一个比较常用的激活函数!!!!

3. 总结

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/86243.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP 求解两字符串所有公共子序列及最长公共子序列 支持多字节字符串

/*** 获取两字符串所有公共子序列【不连续的】 例:abc ac > ac** param string $str1 字符串1* param string $str2 字符串2** return array*/ function public_sequence(string $str1, string $str2): array {$data [[-1, -1, , 0, ]]; // 子序列容器【横坐标 …

喜报!诚恒科技与赛时达科技达成BI金蝶云星空项目合作

随着全球数字化浪潮轰轰烈烈袭来,仅仅凭借手工处理的方式难以在庞大的数据海洋中精准获取信息、把握市场需求、了解目标用户,为企业创新提供强有力的支持。深圳赛时达科技有限公司(简称赛时达科技)希望通过数字化转型实现从手工处…

StarRocks企业级数据库

第1章 StarRocks简介 1.1 StarRocks介绍 StarRocks是新一代极速全场景MPP数据库 StraRocks充分吸收关系型OLAP数据库和分布式存储系统在大数据时代的优秀研究成果,在业界实践的基础上,进一步改进优化、升级架构,并增添了众多全新功能&…

06-2_Qt 5.9 C++开发指南_自定义对话框及其调用

本篇介绍到的对话框及其调用实例较为复杂但十分详细,如果做了解可以先参考:QT从入门到实战x篇_13_模态和非模态对话框创建。 文章目录 1. 对话框的不同调用方式2. 对话框QWDialogSize 的创建和使用2.1 创建对话框QWDialogSize2.2 对话框的调用和返回值 …

PE启动盘和U启动盘(第三十六课)

PE启动盘和U启动盘(第三十六课) 一 WindowsPE工具盘 1. 制作WinPE镜像光盘 双击WePE64_V2.2-是-点击右下角光盘图标-选择ISO的输出位置-立即生成ISO 2. 通过光盘启动WinPE

Android平台GB28181设备接入端如何实现多视频通道接入?

技术背景 我们在设计Android平台GB28181设备接入模块的时候,有这样的场景诉求,一个设备可能需要多个通道,常见的场景,比如车载终端,一台设备,可能需要接入多个摄像头,那么这台车载终端设备可以…

QT创建项目

可选择CMake或qmake

实例036 使窗体标题栏文字右对齐

实例说明 窗口标题栏中的文字是窗口的重要说明,该文字可以标示窗口的功能、状态或名称等信息,一般该文字是居左显示的,在本例中设计一个标题栏文字右对齐的窗口。本实例运行结果如图1.36所示。 技术要点 在C# 2.0中实现这一功能非常容易&am…

【Spring】-Spring的IoC和DI

作者:学Java的冬瓜 博客主页:☀冬瓜的主页🌙 专栏:【Framework】 主要内容:什么是spring?IoC容器是什么?如何使代码解耦合?IoC的核心原理,IoC的优点。依赖注入/对象装配/…

【C++基础(九)】C++内存管理--new一个对象出来

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:C从入门到精通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习C   🔝🔝 C内存管理 1. 前言2. new2.1 new的使用方法2.2 …

MIT 6.830数据库系统 -- lab six

MIT 6.830数据库系统 -- lab six 项目拉取引言steal/no-force策略redo log与undo log日志格式和检查点 开始回滚练习1:LogFile.rollback() 恢复练习2:LogFile.recover() 测试结果疑问点分析 项目拉取 原项目使用ant进行项目构建,我已经更改为…

Nodejs安装及环境变量配置(修改全局安装依赖工具包和缓存文件夹及npm镜像源)

本机环境:win11家庭中文版 一、官网下载 二、安装 三、查看nodejs及npm版本号 1、查看node版本号 node -v 2、查看NPM版本号(安装nodejs时已自动安装npm) npm -v 四、配置npm全局下载工具包和缓存目录 1、查看安装目录 在本目录下创建no…

【学习日记】【FreeRTOS】手动任务切换详解

前言 本文是关于 FreeRTOS 中实现两个任务轮流切换并执行的代码详解。目前不支持优先级,仅实现两个任务轮流切换。 一、任务的自传 任务从生到死的过程究竟是怎么样的呢?(其实也没死),这个问题一直困扰着我&#xf…

【前端 | CSS】滚动到底部加载,滚动监听、懒加载

背景 在日常开发过程中,我们会遇到图片懒加载的功能,基本原理是,滚动条滚动到底部后再次获取数据进行渲染。 那怎么判断滚动条是否滚动到底部呢?滚动条滚动到底部触发时间的时机和方法又该怎样定义? 针对以上问题我…

关于技术转管理角色的认知

软件质量保障:所寫即所思|一个阿里质量人对测试的所感所悟。 程序员发展的岔路口 技术人做了几年专业工作之后,会来到一个重要的“分岔路口”,一边是专业的技术路线,一边是技术团队的管理路线。不少人就开始犯难&…

redis 数据结构(一)

Redis 为什么那么快 redis是一种内存数据库,所有的操作都是在内存中进行的,还有一种重要原因是:它的数据结构的设计对数据进行增删查改操作很高效。 redis的数据结构是什么 redis数据结构是对redis键值对值的数据类型的底层的实现&#xff0c…

网站SSL安全证书是什么及其重要性

网站SSL安全证书具体来说是一个数字文件,是由受信任的数字证书颁发机构(CA机构)进行审核颁发的,其中包含CA发布的信息,该信息表明该网站已使用加密连接进行了安全保护。 网站SSL安全证书也被称为SSL证书、https证书和…

CosmosAI欧盟数字超算新时代战略合作签约仪式在伦敦举行

据英国权威媒体获悉,由分布式超算网络服务商CosmosAI主办的欧盟数字超算新时代战略合作签约仪式将于8月14日英国伦敦历史悠久的莱福士OWO酒店隆重举办,该酒店曾作为爱德华七世国王加冕仪式以及丘吉尔二战办公室享誉盛名。 本次活动CosmosAI基金会联合创…

护网专题简单介绍

护网专题简单介绍 一、护网红蓝队介绍1.1、网络安全大事件1.2、护网行动由来1.3、护网行动中的角色二、红队介绍2.1、红队所需技能2.2、红队攻击流程 三、蓝队介绍3.1、蓝队所需技能3.2、蓝队防守四阶段3.3、蓝队前期准备 四、常见安全厂商介绍4.1、常见安全厂商 五、常见安全产…

【vue3】基础知识点-pinia

学习vue3,都会从基础知识点学起。了解setup函数,ref,recative,watch、computed、pinia等如何使用 今天说vue3组合式api,pinia 戳这里,跳转pinia中文文档 官网的基础示例中提供了三种写法 1、选择式api&a…