激活函数总结(十一):激活函数补充(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.rhkb.cn/news/94285.html

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

相关文章

第十三章 SpringBoot项目(总)

1.创建SpringBoot项目 1.1.设置编码 1.4.导入已有的spring boot项目 2.快速搭建Restfull风格的项目 2.1.返回字符串 RestController public class IndexController {RequestMapping("/demo1")public Object demo1() {System.out.println("demo1 ran...."…

2022年12月 C/C++(二级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题:数组逆序重放 将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。 输入 输入为两行:第一行数组中元素的个数n(1 输出 输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。 样例输入 5 8 6 5 4 1 样例输出 1 4 5 6 8 以下是…

网络安全--linux下Nginx安装以及docker验证标签漏洞

目录 一、Nginx安装 二、docker验证标签漏洞 一、Nginx安装 1.首先创建Nginx的目录并进入&#xff1a; mkdir /soft && mkdir /soft/nginx/cd /soft/nginx/ 2.下载Nginx的安装包&#xff0c;可以通过FTP工具上传离线环境包&#xff0c;也可通过wget命令在线获取安装包…

Linux:shell脚本:基础使用(5)《正则表达式-sed工具》

sed是一种流编辑器&#xff0c;它是文本处理中非常中的工具&#xff0c;能够完美的配合正则表达式使用&#xff0c;功能不同凡响。 处理时&#xff0c;把当前处理的行存储在临时缓冲区中&#xff0c;称为“模式空间”&#xff08;pattern space&#xff09;&#xff0c;接着用s…

深入篇【C++】手搓模拟实现二叉搜索树(递归/非递归版本)常见应用场景(K模型与KV模型)

深入篇【C】手搓模拟实现二叉搜索树(递归/非递归版本&#xff09;&&常见应用场景 Ⅰ.二叉搜索树概念Ⅱ.二叉搜索树模拟实现(递归与非递归)①.定义结点②.构造二叉树③.插入结点④.删除结点(重要)⑤.查找结点⑥.析构二叉树⑦.拷贝二叉树⑧.二叉树赋值 Ⅲ.二叉搜索树应用…

SpringBoot复习:(48)RedisAutoConfiguration自动配置类

RedisAutoConfiguration类代码如下&#xff1a; 可以看到在这个类中配置了2个bean: redisTemplate和stringRedisTemplate. 而它通过EnableConfigurationProperties(RedisProperties.class)注解&#xff0c;把配置文件中配置的Redis相关的信息引入进来了&#xff0c;RedisPrope…

元素在div中水平居中

先看一下行级元素在div中水平居中&#xff1b; <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>div demo </title> <style> body {background-color:#d0e4fe; }</style> </head><body>&…

使用css实现时间线布局(TimeLine)

前言 在使用uni-app开发微信小程序过程中&#xff0c;遇到了时间轴布局&#xff0c;由于每项的内容高度不一致&#xff0c;使用uniapp自带的扩展组件uni-steps&#xff0c;样式布局无法对齐竖线&#xff0c;于是自己造轮子&#xff0c;完成特殊的布局。显示效果如下&#xff1…

71 # 协商缓存的配置:通过内容

对比&#xff08;协商&#xff09;缓存 比较一下再去决定是用缓存还是重新获取数据&#xff0c;这样会减少网络请求&#xff0c;提高性能。 对比缓存的工作原理 客户端第一次请求服务器的时候&#xff0c;服务器会把数据进行缓存&#xff0c;同时会生成一个缓存标识符&#…

day12 13-牛客67道剑指offer-JZ83、70、63、47、48、46、21、81

1. JZ83 剪绳子&#xff08;进阶版&#xff09; class Solution { public:int jumpFloorII(int number) {if(number < 1) return number;int temp 1;int res 0;/*2级台阶 23级台阶 44级台阶 65级台阶 16*/for(int i2; i<number; i){res 2 * temp;temp res;}return re…

docker 安装elasticsearch、kibana

下载es镜像 docker pull elasticsearch 启动es容器 docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.typesingle-node" -e ES_JAVA_OPTS"-Xms512m -Xmx512m" -d elasticsearch 验证es界面访问 ​​​​​http://节点ip:9200/ ​…

应用在汽车前照灯系统中的环境光传感芯片

为了保证行车照明的安全性和方便性&#xff0c;减轻驾驶员的劳动强度。近年来&#xff0c;出现了许多新的照明控制系统&#xff0c;例如用于日间驾驶的自动照明系统、光束调节系统、延迟控制等。尤其是汽车自适应前照灯系统&#xff0c;它是一种能够自动改变两种以上的光型以适…

零售行业供应链管理核心KPI指标(一) – 能力、速度、效率和成本

有关零售行业供应链管理KPI指标的综合性分享&#xff0c;涉及到供应链能力、速度、效率和成本总共九大指标&#xff0c;是一个大框架&#xff0c;比较核心也比较综合。 衡量消费品零售企业供应链管理效率和水平的核心KPI通常有哪些&#xff1f; 图片来源-派可数据&#xff08;…

SpringBoot 操作Redis、创建Redis文件夹、遍历Redis文件夹

文章目录 前言依赖连接 RedisRedis 配置文件Redis 工具类操作 Redis创建 Redis 文件夹查询数据遍历 Redis 文件夹 前言 Redis 是一种高性能的键值存储数据库&#xff0c;支持网络、可基于内存亦可持久化的日志型&#xff0c;而 Spring Boot 是一个简化了开发过程的 Java 框架。…

【ES6】—解构赋值

一、定义 解构赋值&#xff1a;解构赋值就是一种模式的匹配&#xff0c;只要等号两边的模式完全相同的&#xff0c;那么左边的变量就会被赋值对应右边的值 二、数组的解构赋值 PS&#xff1a;数组解构赋值时&#xff0c;是通过索引的唯一性赋值的 1. 一维数组解构赋值 (1)…

《Go 语言第一课》课程学习笔记(六)

变量声明&#xff1a;静态语言有别于动态语言的重要特征 变量所绑定的内存区域是要有一个明确的边界的。也就是说&#xff0c;通过这样一个变量&#xff0c;我们究竟可以操作 4 个字节内存还是 8 个字节内存&#xff0c;又或是 256 个字节内存&#xff0c;编程语言的编译器或解…

nginx部署时http接口正常,ws接口404

可以这么配置 map $http_upgrade $connection_upgrade {default upgrade; close; }upstream wsbackend{server ip1:port1;server ip2:port2;keepalive 1000; }server {listen 20038;location /{ proxy_http_version 1.1;proxy_pass http://wsbackend;proxy_redirect off;proxy…

FreeRTOS源码分析-12 低功耗管理

目录 1 STM32低功耗管理概念及应用 1.1睡眠模式 1.2 停止模式 1.3 待机模式 2 Tickless低功耗管理 2.1 Tickless低功耗模式介绍 2.2 FreeRTOS低功耗模式配置 2.3 FreeRTOS低功耗模式应用 3 低功耗管理实际项目开发 3.1 低功耗设计必须要掌握的硬件知识 …

LangChain-ChatGLM在WIndows10下的部署

LangChain-ChatGLM在WIndows10下的部署 参考资料 1、LangChain ChatGLM2-6B 搭建个人专属知识库中的LangChain ChatGLM2-6B 构建知识库这一节&#xff1a;基本的逻辑和步骤是对的&#xff0c;但要根据Windows和现状做很多调整。 2、没有动过model_config.py中的“LORA_MOD…

【Docker】 使用Docker-Compose 搭建基于 WordPress 的博客网站

引 本文将使用流行的博客搭建工具 WordPress 搭建一个私人博客站点。部署过程中使用到了 Docker 、MySQL 。站点搭建完成后经行了发布文章的体验。 WordPress WordPress 是一个广泛使用的开源内容管理系统&#xff08;CMS&#xff09;&#xff0c;用于构建和管理网站、博客和…