激活函数总结(十):激活函数补充(Identity、LogSigmoid、Bent Identity)

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

  • 1 引言
  • 2 激活函数
    • 2.1 Identity激活函数
    • 2.2 LogSigmoid激活函数
    • 2.3 Bent Identity激活函数
  • 3. 总结

1 引言

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

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

2 激活函数

2.1 Identity激活函数

Identity 激活函数,也称为线性激活函数,是一种最简单的激活函数之一。它的作用是将输入直接传递到输出,不进行任何变换。换句话说,当使用 Identity 激活函数时,神经网络的输出将与输入完全相同,这意味着任何线性组合或变换都不会发生。其数学表达式和数学图像分别如下所示:
I d e n t i t y ( x ) = x Identity(x)=x Identity(x)=x在这里插入图片描述
优点:

  • 简单、易于理解和计算:线性激活函数是可微分的,这使得基于梯度的优化方法如梯度下降法可以很好地运行。

缺点:

  • 无非线性:没有办法提供非线性,无论堆叠多少层,最后的输出仍然是输入的线性组合,这限制了模型的表达能力。不能处理复杂的非线性问题,对于深度神经网络并不适用。

通常用于连续性数值的回归预测中,在深度网络中很少应用。。。

2.2 LogSigmoid激活函数

LogSigmoid激活函数是在 Sigmoid 激活函数的基础上进行 Log 操作。其数学表达式和数学图像分别如下所示:
f ( x ) = ln ⁡ ( 1 1 + exp ⁡ ( − x ) ) f(x) = \ln\left(\frac{1}{1 + \exp(-x)}\right) f(x)=ln(1+exp(x)1)在这里插入图片描述

优点:

  • 平滑性:与 Sigmoid 相似,LogSigmoid 激活函数也是平滑的,但在输入远离零时,其输出变化更为平缓,有助于梯度的稳定传播。
  • 控制输出范围:LogSigmoid 的输出范围在负无穷到 0 之间,可以将输入数据映射到一个更小的范围。

缺点:

  • 梯度消失问题:虽然在输入远离零时梯度变化较为平缓,但仍然可能会遇到梯度消失的问题,特别是在深层网络中。

考虑到Sigmoid当前的使用环境,LogSigmoid在当前也很少使用。。。

2.3 Bent Identity激活函数

激活函数 Bent Identity 是介于 IdentityReLU 之间的一种折衷选择。它允许非线性行为,尽管其非零导数有效提升了学习并克服了与 ReLU 相关的静默神经元的问题。由于其导数可在 1 的任意一侧返回值,因此它可能容易受到梯度爆炸消失的影响。其数学表达式和数学图像分别如下所示:
f ( x ) = x 2 + 1 − 1 2 + x f(x) = \frac{\sqrt{x^2 + 1} - 1}{2} + x f(x)=2x2+1 1+x
在这里插入图片描述

优点:

  • 平滑性: Bent Identity激活函数是一个平滑的函数,这意味着它在整个输入范围内都具有连续的导数。这有助于稳定的梯度传播,可以在训练神经网络时避免梯度爆炸或梯度消失问题。
  • 适度非线性: Bent Identity激活函数在输入为负时呈现线性增长,而在输入为正时呈现较缓的非线性增长。这可以使其在一些任务中具有适度的非线性表达能力,从而更好地捕捉输入数据中的特征。
  • 输出范围: Bent Identity激活函数的输出范围是负无穷到正无穷,这在某些情况下可能有用。与一些其他激活函数(如Sigmoid或Tanh)相比,它不会限制输出的范围,可能更适合处理具有广泛范围的数据。

缺点:

  • 相对复杂: Bent Identity激活函数的表达式比较复杂,可能会在实现和计算上引入一些额外的复杂性。这可能会影响训练和推理的效率。
  • 较少的使用: Bent Identity激活函数相对较少被广泛使用,因此关于其性能和适用性的实证研究可能相对有限。这可能导致难以确定在特定问题上是否比其他更常见的激活函数表现更好。
  • 调参复杂性: 选择激活函数涉及到一些超参数的调优。由于Bent Identity不像一些更常见的激活函数那样广泛使用,可能需要更多的实验来找到最佳的超参数设置。

总体而言:Identity和ReLU的结合并没有带来很好的效果,整体使用情况还不如ReLU激活函数。。。

3. 总结

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

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

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

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

相关文章

【Spring系列篇--关于IOC的详解】

目录 面试经典题目: 1. 什么是spring?你对Spring的理解?简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 2.什么是IoC?你对IoC的理解?IoC的重要性?将实例化对象的权利从程序员…

Rust软件外包开发语言的特点

Rust 是一种系统级编程语言,强调性能、安全性和并发性的编程语言,适用于广泛的应用领域,特别是那些需要高度可靠性和高性能的场景。下面和大家分享 Rust 语言的一些主要特点以及适用的场合,希望对大家有所帮助。北京木奇移动技术有…

Windows上使用FFmpeg实现本地视频推送模拟海康协议rtsp视频流

场景 Nginx搭建RTMP服务器FFmpeg实现海康威视摄像头预览: Nginx搭建RTMP服务器FFmpeg实现海康威视摄像头预览_nginx rtmp 海康摄像头_霸道流氓气质的博客-CSDN博客 上面记录的是使用FFmpeg拉取海康协议摄像头的rtsp流并推流到流媒体服务器。 如果在其它业务场景…

【Axure高保真原型】JS日期选择器筛选中继器表格

今天和大家分享JS日期选择器筛选中继器表格的原型模板,通过调用浏览器的日期选择器,所以可以获取真实的日历效果,具体包括哪一年二月份有29天,几号对应星期几,都是真实的,获取日期值后,通过交互…

Unity C# 之 Azure 微软SSML语音合成TTS流式获取音频数据以及表情嘴型 Animation 的简单整理

Unity C# 之 Azure 微软SSML语音合成TTS流式获取音频数据以及表情嘴型 Animation 的简单整理 目录 Unity C# 之 Azure 微软SSML语音合成TTS流式获取音频数据以及表情嘴型 Animation 的简单整理 一、简单介绍 二、实现原理 三、注意事项 四、实现步骤 五、关键代码 一、简…

JVS开源基础框架:平台基本信息介绍

JVS是面向软件开发团队可以快速实现应用的基础开发脚手架,主要定位于企业信息化通用底座,采用微服务分布式框架,提供丰富的基础功能,集成众多业务引擎,它灵活性强,界面化配置对开发者友好,底层容…

嵌入式:ARM Day4

一、自己编写代码实现三盏灯点亮 源码: .text .global _start _start: 进行一次初始化bl RCC_INITbl LED1_INITbl LED2_INITbl LED3_INITb looploop: 循环开关灯bl LED1_ONbl delay_1sbl LED1_OFFbl delay_1sbl LED2_ONbl delay_1sbl LED2_OFFbl delay_1sbl…

kafka线上问题优化

如何防止消息丢失 生产者: 使用同步发送把ack设成1或者all(非0,0可能会出现消息丢失的情况),并且设置同步的分区数>2 消费者:把自动提交改成手动提交 如何防止重复消费 在防止消息丢失的方案中&#…

每天一道leetcode:1926. 迷宫中离入口最近的出口(图论中等广度优先遍历)

今日份题目: 给你一个 m x n 的迷宫矩阵 maze (下标从 0 开始),矩阵中有空格子(用 . 表示)和墙(用 表示)。同时给你迷宫的入口 entrance ,用 entrance [entrancerow, …

配置vscode

配置vscode 设置相关 网址:https://code.visualstudio.com/ 搜索不要用百度用这个:cn.bing.com 1.安装中文包 Chinese (Simplified) (简体中文) 2.安装 open in browser 3.安装主题 Atom One Dark Theme 4. 安装图标样式 VSCode Great Icons 5.安装 L…

使用navicat连接postgresql报错问题解决

使用navicat连接postgresql报错问题解决 一、问题现象: 最近使用Navicat来连接postgreSQL数据库,发现连接不上,报错信息如下: 自己百度了一下,发现pgsql 15版本以后,有些系统表的列名改了,pg_…

HTTPS 的加密流程

目录 一、HTTPS是什么? 二、为什么要加密 三、"加密" 是什么 四、HTTPS 的工作过程 1.对称加密 2.非对称加密 3.中间人攻击 4.证书 总结 一、HTTPS是什么? HTTPS (Hyper Text Transfer Protocol Secure) 是基于 HTTP 协议之上的安全协议&…

关于Android Studio Http Proxy设置

对敌人最大的蔑视就是沉默。--鹿丸 我们使用Android Studio 开始构建的时候会有卡顿的情况,甚至死机,也就是所谓的【android studio】构建卡住问题,如果依赖库类都是国内的,检查是否开启了代理 这个地方选择下面的自动代理 国内…

Visual Studio 2019 c++ 自定义注释 ----doxygen

可加入C 也可自定义。 <?xml version"1.0" encoding"utf-8"?> <CodeSnippets xmlns"http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"><CodeSnippet Format"1.0.0"><Header><Title>注释…

打开vim的语法高亮

在一个Ubuntu中自带的vim版本是8.2.4919&#xff0c;默认就是开始了语法高亮的&#xff0c;打开一个Java文件效果如下&#xff1a; 它不仅仅对Java文件有语法高亮&#xff0c;对很多的文件都有&#xff0c;比如vim的配置文件也有语法高亮&#xff0c;有语法高亮时读起来会容易…

【左神算法刷题班】第17节:在有序二维数组中查找目标值、等于目标字符串的子序列个数

第17节 题目1&#xff1a;在有序二维数组中查找目标值 给定一个每一行有序、每一列也有序&#xff0c;整体可能无序的二维数组 再给定一个数num&#xff0c; 返回二维数组中有没有num这个数 例子 数组如下&#xff0c;找 6 是否存在。 1 3 5 7 2 4 6 13 3 9 14 …

[C++]笔记-函数的栈空间(避免栈空间溢出)

错误1 当数组的内存占用较大时,会引发异常 #include <iostream> using namespace std; int main() {char buff[2000000];cout << (int)buff[sizeof(buff) - 1] << endl; 错误 2 当调用次数较小的时候,栈内存还没有满,可以输出,该地址相减除以1024等于100,就…

CANoe自动化工程的搭建

基于XMLCAPL建立自动化工程 1、导入ini文件2、新建 Test Environment3、报告类型4、代码编写 1、导入ini文件 工程的配置的文件&#xff0c;配置DUT相关信息&#xff0c;具体视工程而编写内容。 2、新建 Test Environment 1、新建XML测试用例环境 2、导入XML测试用例文件 …

奥威BI财务数据分析方案:借BI之利,成就智能财务分析

随着智能技术的发展&#xff0c;各行各业都走上借助智能技术高效运作道路&#xff0c;财务数据分析也不例外。借助BI商业智能技术能够让财务数据分析更高效、便捷、直观立体&#xff0c;也更有助于发挥财务数据分析作为企业经营管理健康晴雨表的作用。随着BI财务数据分析经验的…

一元三次方程求解

一元三次方程求解 题目描述提示输入输出格式输入格式输出格式 输入输出样例输入样例输出样例 算法分析A C 代码 题目描述 有形如&#xff1a; a x 3 b x 2 c x d 0 ax^3bx^2c^xd0 ax3bx2cxd0一元三次方程。给出该方程中各项的系数 ( a a a&#xff0c; b b b&#xff0c;…