激活函数总结(十一):激活函数补充(Absolute、Bipolar、Bipolar Sigmoid)

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

  • 1 引言
  • 2 激活函数
    • 2.1 Absolute激活函数
    • 2.2 Bipolar激活函数
    • 2.3 Bipolar Sigmoid激活函数
  • 3. 总结

1 引言

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

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

2 激活函数

2.1 Absolute激活函数

Absolute(绝对值)激活函数是一种基于绝对值非线性激活函数,它将输入值映射到其绝对值上。该函数在输入从负向正变化的过程中保持连续性。在输入为负时,绝对值激活函数输出与输入值相同的正值;在输入为正时,输出仍然是输入值。其数学表达式和数学图像分别如下所示:

A b s o l u t e ( x ) = ∣ x ∣ Absolute(x) = |x| Absolute(x)=x在这里插入图片描述
优点:

  • 无梯度消失问题: 绝对值激活函数在所有输入范围内的梯度都为常数(1或-1),因此不存在类似于Sigmoid或Tanh等函数那样的梯度消失问题。这意味着在训练过程中梯度可以更容易地传播,特别是在深层神经网络中。
  • 线性性质:绝对值激活函数是一个分段线性函数,其输出在不同的区间内是线性的。这可以在某些问题中提供适度的非线性性质,对于某些任务可能是有用的。
  • 稳定性: 绝对值激活函数对于输入中的大幅度变化有一定的鲁棒性,因为它总是返回非负的输出,避免了负数的抑制性影响。

缺点:

  • 缺乏灵活性:绝对值激活函数是非常简单的线性函数,它没有类似于Sigmoid、ReLU等激活函数引入的非线性特性。这可能限制了其在某些复杂任务上的表现能力。
  • 信息损失: 由于绝对值激活函数直接舍弃了输入的符号信息,它可能无法区分正负值对任务的影响,这可能导致在某些情况下丢失有用的信息。
  • 非可导连续:绝对值激活函数在0处不可微分,表现出导数不连续的状况。

这个激活函数十分简单,也因其简单的性质现在很少使用。。。

2.2 Bipolar激活函数

Bipolar激活函数是一种特殊的激活函数,它是Threshold函数的一个变种。它的数学表达式如下和数学图像分别如下所示::
B i p o l a r ( x ) = { 1 i f x > = t h r e s h o l d − 1 i f x < t h r e s h o l d Bipolar(x)=\left\{ \begin{matrix} \quad \quad \quad 1 \quad \quad \quad if \quad x >= threshold \\ \quad \quad \quad -1 \quad \quad \quad if \quad x < threshold \quad \end{matrix} \right. Bipolar(x)={1ifx>=threshold1ifx<threshold在这里插入图片描述
优点:

  • 简单性: 阈值激活函数非常简单,仅基于阈值对输入进行二进制判定,因此计算效率高
  • 稳定性: 在一些特定的应用中,阈值激活函数可能会表现出稳定性,不易受到梯度爆炸等问题的影响。
  • 双极性:输出范围在-1到1之间,这可以使其在处理输入数据的正负关系时表现更好。

缺点:

  • 缺乏表达能力:阈值激活函数非常限制了神经网络的表达能力,它只能输出两种值(0和1),无法适应更复杂的数据模式。这使得神经网络很难从数据中学习到更高层次的特征表示
  • 梯度消失:阈值激活函数在大部分输入范围内的导数都为0,这导致在反向传播时,梯度会很快消失,使得网络很难学习。这个问题也在Sigmoid激活函数中存在,因此它们通常不作为主要的激活函数选择。
  • 不可导性:阈值激活函数在阈值处是不可导的,这使得它无法直接应用于使用梯度下降等基于梯度的优化算法进行训练。这会导致训练过程不稳定,并可能需要使用一些近似的方法来处理。

Bipolar同Threshold是一致的,因其特性导致很难在网络结构中使用。。。

2.3 Bipolar Sigmoid激活函数

论文链接:Mansor, Mohd Asyraf, and Saratha Sathasivam. “Activation function comparison in neural-symbolic integration.” In AIP Conference Proceedings, vol. 1750, no. 1, p. 020013. AIP Publishing LLC, 2016.

Bipolar Sigmoid激活函数是一种特殊的激活函数,它是Sigmoid函数的一个变种。它的数学表达式如下和数学图像分别如下所示::

B i p o l a r S i g m o i d ( x ) = 2 / ( 1 + e x p ( − x ) ) − 1 Bipolar Sigmoid(x) = 2 / (1 + exp(-x)) - 1 BipolarSigmoid(x)=2/(1+exp(x))1在这里插入图片描述

优点:

  • 双极性输出: Bipolar Sigmoid的输出范围在-1到1之间,这可以使其在处理输入数据的正负关系时表现更好。它适用于处理具有双极性性质的数据,例如一些情感分析任务中的正面和负面情感。
  • 连续可微性: 与标准的Sigmoid函数一样,Bipolar Sigmoid也是连续可微的。这对于使用梯度下降等优化方法进行训练和反向传播是至关重要的,因为它们要求激活函数是可微的。
  • 非线性特性: Bipolar Sigmoid是非线性的激活函数,它可以引入一定的非线性表达能力,有助于神经网络模型捕获复杂的数据关系。

缺点:

  • 饱和问题: Bipolar Sigmoid激活函数在输入远离0的时候,输出会饱和,即梯度趋近于0。这可能导致训练时的梯度消失问题,特别是在深层网络中。
  • 计算复杂性: 与标准的Sigmoid函数一样,Bipolar Sigmoid的计算开销也较大,因为它涉及到指数运算。这可能会在网络训练中导致较慢的收敛速度。

虽然Bipolar Sigmoid 在理论上具有比Sigmoid更好的效果,但是结合Sigmoid系列整体的激活函数而言,这是微不足道的!!!因此,Bipolar Sigmoid作为Sigmoid系列激活函数的一员也是很少使用的一类激活函数。。。。

3. 总结

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

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

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

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

相关文章

“代码驭宠而行“:探索Python的魔法世界,开启编程奇幻之旅!

文章目录 &#x1f340;引言&#x1f340;第一步&#xff1a;安装Python和开发环境&#x1f340;第二步&#xff1a;掌握基本语法&#x1f340;第三步&#xff1a;使用Python库和模块&#x1f340;第四步&#xff1a;实践项目和练习&#x1f340;第五步&#xff1a;学习进阶主题…

origin修改默认的字体等

因为默认是中文宋体&#xff0c;每次切换成英文尤其是希腊字母就很麻烦。 选择菜单栏的【设置】——【选项】点击。 弹出窗口中选择【文本字体】 设置成你需要的字体就好。 这里同样可以更改页面、图等的默认设置。 效果&#xff1a; 选择插入文字后&#xff0c;自动更改成…

Python爬虫的应用场景与技术难点:如何提高数据抓取的效率与准确性

作为专业爬虫程序员&#xff0c;我们在数据抓取过程中常常面临效率低下和准确性不高的问题。但不用担心&#xff01;本文将与大家分享Python爬虫的应用场景与技术难点&#xff0c;并提供一些实际操作价值的解决方案。让我们一起来探索如何提高数据抓取的效率与准确性吧&#xf…

python3实现线性规划求解

Background 对于数学规划问题&#xff0c;有很多的实现。MatlabYALMIPCPLEX这个组合应该是比较主流的&#xff0c;尤其是在电力相关系统中占据着比较重要的地位。MATLAB是一个强大的数值计算工具&#xff0c;用于数学建模、算法开发和数据分析。Yalmip是一个MATLAB工具箱&#…

Windows上使用dump文件调试

dump文件 dump文件记录当前程序运行某一时刻的信息&#xff0c;包括内存&#xff0c;线程&#xff0c;线程栈&#xff0c;变量等等&#xff0c;相当于调试程序时运行到某个断点上&#xff0c;把程序运行的信息记录下来。可以通过Windbg打开dump&#xff0c;查看程序运行的变量…

go_并发编程(1)

go并发编程 一、 并发介绍1&#xff0c;进程和线程2&#xff0c;并发和并行3&#xff0c;协程和线程4&#xff0c;goroutine 二、 Goroutine1&#xff0c;使用goroutine1&#xff09;启动单个goroutine2&#xff09;启动多个goroutine 2&#xff0c;goroutine与线程3&#xff0…

在 React 中获取数据的6种方法

一、前言 数据获取是任何 react 应用程序的核心方面。对于 React 开发人员来说&#xff0c;了解不同的数据获取方法以及哪些用例最适合他们很重要。 但首先&#xff0c;让我们了解 JavaScript Promises。 简而言之&#xff0c;promise 是一个 JavaScript 对象&#xff0c;它将…

排序+运算>直接运算的效率的原因分析

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

ADIS16470和ADIS16500从到手到读出完整数据,附例程

由于保密原因&#xff0c;不能上传我这边的代码&#xff0c;我所用的开发环境是IAR&#xff0c; 下边转载别的博主的文章&#xff0c;他用的是MDK 下文的博主给了你一个很好的思路&#xff0c;特此提出表扬 最下方是我做的一些手册批注&#xff0c;方便大家了解这个东西 原文链…

如何利用 ChatGPT 进行自动数据清理和预处理

推荐&#xff1a;使用 NSDT场景编辑器助你快速搭建可二次编辑的3D应用场景 ChatGPT 已经成为一把可用于多种应用的瑞士军刀&#xff0c;并且有大量的空间将 ChatGPT 集成到数据科学工作流程中。 如果您曾经在真实数据集上训练过机器学习模型&#xff0c;您就会知道数据清理和预…

novnc 和 vnc server 如何实现通信?原理?

参考&#xff1a;https://www.codenong.com/js0f3b351a156c/

随机微分方程

应用随机过程|第7章 随机微分方程 见知乎&#xff1a;https://zhuanlan.zhihu.com/p/348366892?utm_sourceqq&utm_mediumsocial&utm_oi1315073218793488384

复习3-5天【80天学习完《深入理解计算机系统》】第七天

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客&#xff0c;如有问题交流&#xff0c;欢迎评论区留言&#xff0c;一定尽快回复&#xff01;&#xff08;大家可以去看我的专栏&#xff0c;是所有文章的目录&#xff09;   文章字体风格&#xff1a; 红色文字表示&#…

Linux与bash(基础内容一)

一、常见的linux命令&#xff1a; 1、文件&#xff1a; &#xff08;1&#xff09;常见的文件命令&#xff1a; &#xff08;2&#xff09;文件属性&#xff1a; &#xff08;3&#xff09;修改文件属性&#xff1a; 查看文件的属性&#xff1a; ls -l 查看文件的属性 ls …

Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

Swin Transformer: Hierarchical Vision Transformer using Shifted Windows 摘要当前的检测sota模型网络架构swin Transformer和Vision Transformer的不同之处整体架构Patch Partition结构Linear Embedding结构Swin Transformer Block结构 Patch MergingW-MSAMSA模块计算量W-M…

Genoss GPT简介:使用 Genoss 模型网关实现多个LLM模型的快速切换与集成

一、前言 生成式人工智能领域的发展继续加速&#xff0c;大型语言模型 (LLM) 的用途范围不断扩大。这些用途跨越不同的领域&#xff0c;包括个人助理、文档检索以及图像和文本生成。ChatGPT 等突破性应用程序为公司进入该领域并开始使用这项技术进行构建铺平了道路。 大公司正…

如何发布自己的小程序

小程序的基础内容组件 text&#xff1a; 文本支持长按选中的效果 <text selectable>151535313511</text> rich-text: 把HTML字符串渲染为对应的UI <rich-text nodes"<h1 stylecolor:red;>123</h1>"></rich-text> 小程序的…

MySql过滤重复数据

假设模型表是: 1. 根据单字段过滤: SELECT user_name, COUNT(*) as count FROM sys_user GROUP BY user_name HAVING count > 1;结果: 2. 根据多个字段查询重复数据 SELECT user_name, email, COUNT(*) as count FROM sys_user GROUP BY user_name, email HAVING count…

[centos]设置主机名

1、设置 hostnamectl set-hostname 名字 2、查看是否生效 hostnamectl status 3、打开一个新链接就可以了

[python] 使用Jieba工具中文分词及文本聚类概念

前面讲述了很多关于Python爬取本体Ontology、消息盒InfoBox、虎扑图片等例子&#xff0c;同时讲述了VSM向量空间模型的应用。但是由于InfoBox没有前后文和语义概念&#xff0c;所以效果不是很好&#xff0c;这篇文章主要是爬取百度5A景区摘要信息&#xff0c;再利用Jieba分词工…