当前位置: 首页 > news >正文

深度学习常用的激活函数总结

各种激活函数总结

目录

      • 一、sigmoid
      • 二、tanh![在这里插入图片描述](https://img-blog.csdnimg.cn/a0d92552edf8464db793fdd2f2b75cb5.png)
      • 三、ReLU系列
        • 1.原始ReLU
        • 2.ReLU改进:Leaky ReLU
      • 四、swish
      • 五、GeLU

一、sigmoid

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

优点:
1.可以将任意范围的输出映射到 (0, 1) 范围内,表示它对每个神经元的输出进行了归一化,适合用于将概率作为输出的模型。
2.易于求导

缺点
1.计算量大
2.Sigmoid导数取值范围是[0, 0.25],且当x过大或过小时,sigmoid函数的导数接近于0,由于神经网络反向传播时的“链式反应”,容易造成梯度消失,难以更新网路参数。高层网络的误差相对第一层卷积的参数的梯度将是一个非常小的值,这就是所谓的“梯度消失”。
3.Sigmoid的输出不是0均值(即zero-centered);这会导致后一层的神经元将得到上一层输出的非0均值的信号作为输入,随着网络的加深,会改变数据的原始分布

二、tanh在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

优点:
1.tanh的输出范围时(-1, 1),解决了sigmoid不是0均值输出问题;
2.在靠近0处的导数值较sigmoid更大,即神经网络的收敛速度相对于sigmoid更快;
3.在一般的分类问题中,可将tanh用于隐藏层,sigmoid 函数用于输出层。
缺点:
1.计算量大;
2.tanh导数范围在(0, 1)之间,相比sigmoid导数的范围(0, 0.25),梯度消失问题会得到缓解,但仍然存在。

三、ReLU系列

1.原始ReLU

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

优点:
1.计算速度更快
2.ReLU是非线性函数(所谓非线性,就是一阶导数不为常数;对ReLU求导,在输入值分别为正和为负的情况下,导数是不同的,即ReLU的导数不是常数,所以ReLU是非线性的,只是不同于sigmoid和tanh,ReLU的非线性不是光滑的);
2.梯度只有 0, 1 两个常量,有效地解决梯度消失的问题
3.ReLU的单侧抑制(当ReLU的输入x为负时,ReLU输出为0)提供了网络的稀疏表达能力。(深度学习是根据大批量样本数据,从错综复杂的数据关系中,找到关键信息。换句话说,就是把密集矩阵转化为稀疏矩阵,去除噪音,保留数据的关键信息,这样的模型就有了鲁棒性。ReLU将x<0的输出置为0,就是一个去噪音,稀疏矩阵的过程。而且在训练过程中,这种稀疏性是动态调节的,网络会自动调整稀疏比例,保证矩阵具备最优的关键特征。)
缺点:
1.ReLU 函数不是zero-centered输出;。
2.训练过程中会导致神经元死亡的问题,即ReLU 强制将<0的输入置为0(屏蔽该特征),导致网络的部分神经元处于无法更新的状态,这种现象称为死亡 ReLU 问题 (Dying ReLU
Problem);
3.虽然采用ReLU在“链式反应”中不会出现梯度消失,但梯度下降的幅值就完全取决于权值的乘积,这样可能会出现梯度爆炸问题。 可以通过以下两种思路解决这类问题:一是控制权值的大小,让权值在(0,1)范围内;二是做梯度裁剪,控制梯度下降强度,如ReLU(x)=min(6, max(0,x))。

2.ReLU改进:Leaky ReLU

在这里插入图片描述
在这里插入图片描述

优点:
1.解决了ReLU的神经元死亡问题。Leaky ReLU中引入了超参数,一般设置为0.01。在反向传播过程中,对于Leaky ReLU的输入小于零的情况,也可以计算得到一个梯度(而不是像ReLU一样值为0)。
缺点:
1.相较于ReLU,神经网络的稀疏性要差一些;
2.引入了额外的超参数。

四、swish

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

优点:
1.Swish是通过NAS搜索得到的,其取值范围是[-0.278, +∞),且平滑、非单调;
2.Swish 在深层模型上的效果优于 ReLU。例如,仅仅使用 Swish 单元替换 ReLU 就能把 Mobile NASNetA 在 ImageNet 上的 top-1 分类准确率提高 0.9%,Inception-ResNet-v 的分类准确率提高 0.6%。
缺点:
1.计算量大

五、GeLU

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
erf为高斯误差函数:
在这里插入图片描述
在这里插入图片描述

优点:
受 Dropout、ReLU 等机制的影响,希望将神经网络中不重要的激活信息置为零。可以理解为,对于输入的值,我们根据它的情况乘上 1 或
0。更「数学」一点的描述是,对于每一个输入 x,其服从于标准正态分布N(0, 1),它会乘上一个伯努利分布Bernoulli(Φ(x)),其中Φ(x) = P(X ≤ x)。随着 x 的降低,它被归零的概率会升高。对于 ReLU来说,这个界限就是 0,输入小于零就会被归零。这一类激活函数,不仅保留了概率性,同时也保留了对输入的依赖性。
我们经常希望神经网络具有确定性决策,这种想法催生了 GELU 激活函数的诞生。这种函数的非线性希望对输入 x上的随机正则化项做一个转换,具体来说可以表示为:Φ(x)×1×x+(1−Φ(x))×0×x=xΦ(x)Φ(x) × 1 × x + (1 − Φ(x)) × 0 × x = xΦ(x)Φ(x)×1×x+(1Φ(x))×0×x=xΦ(x)。我们可以理解为,对于一部分Φ(x),它直接乘以输入 x,而对于另一部分 (1 −Φ(x)),它们需要归零。不太严格地说,上面这个表达式可以按当前输入 x 比其它输入大多少来缩放 x。GeLU取值范围(-0.17,+∞),平滑、非单调,似乎是 NLP 领域的当前最佳,尤其在 Transformer 模型中表现最好,被GPT-2、BERT、RoBERTa、ALBERT 等NLP模型所采用


缺点:
计算量大,通常采用GeLU的近似式来代替原式计算,源论文给出了两个近似:
在这里插入图片描述
在这里插入图片描述

参考文献:
https://zhuanlan.zhihu.com/p/450361606

相关文章:

深度学习常用的激活函数总结

各种激活函数总结 目录一、sigmoid二、tanh![在这里插入图片描述](https://img-blog.csdnimg.cn/a0d92552edf8464db793fdd2f2b75cb5.png)三、ReLU系列1.原始ReLU2.ReLU改进&#xff1a;Leaky ReLU四、swish五、GeLU一、sigmoid 优点&#xff1a; 1.可以将任意范围的输出映射到 …...

Java编程问题top100---基础语法系列(二)

Java编程问题top100---基础语法系列&#xff08;二&#xff09;六、如何测试一个数组是否包含指定的值&#xff1f;简单且优雅的方法:自己动手写逻辑对象数组JDK 8 APIJDK 9 API Set.of()七、重写&#xff08;Override&#xff09;equlas和hashCode方法时应考虑的问题理论上讲&…...

网页打印与导出word实现在A4纸上相同效果

在工作中遇到这样一个需求&#xff0c;客户要求&#xff1a; 1、实现在浏览器中打印和导出到word中&#xff0c;要求浏览器打印出来的效果和word中打印的效果基本一致。2、打印的内容要自动分页&#xff0c;第一页的顶部有文件头&#xff0c;最后一页的底部有页尾。 这里记录一…...

备战英语6级——记录复习进度

开始记录—— 学习&#xff1a;如何记录笔记&#xff1f; 1&#xff1a;首先我认为&#xff1a;电脑打字比较适合我&#xff01; 2&#xff1a;先记笔记&#xff0c;再“填笔记”&#xff01; 记笔记就是一个框架&#xff0c;记录一个大概的东西。后面需要在笔记中&#xff0…...

实例10:四足机器人运动学逆解可视化与实践

实例10&#xff1a; 四足机器人运动学逆解单腿可视化 实验目的 了解逆运动学的有无解、有无多解情况。了解运动学逆解的求解。熟悉逆运动学中求解的几何法和代数法。熟悉单腿舵机的简单校准。掌握可视化逆向运动学计算结果的方法。 实验要求 拼装一条mini pupper的腿部。运…...

Elasticsearch7.8.0版本优化——路由选择

目录一、Elasticsearch 如何知道一个文档存放在哪个分片二、不带 routing 查询三、带 routing 查询一、Elasticsearch 如何知道一个文档存放在哪个分片 其实是通过这个公式来计算出来&#xff1a;shard hash(routing) % number_of_primary_shardsrouting 默认值是文档的 id&a…...

Go常量的定义和使用const,const特性“隐式重复前一个表达式”,以及iota枚举常量的使用

Go常量的定义和使用const,以及iota枚举常量的使用Go常量constGo中常量的定义和使用Go特性const,"隐式重复前一个表达式"iota 实现枚举常量Go常量const Go语言中的const整合了C语言中的宏定义常量&#xff0c;const只读变量枚举变量 绝大多数情况下&#xff0c;Go常…...

Git学习(1)pro git阅读

目录 目录&#xff1a; 1. 起步 2. Git 基础 3. Git 分支 4. 服务器上的 Git 5. 分布式 Git 第一章 1.3 Git是什么 1.6运行git前的配置 该开源图书网站 Git - Book (git-scm.com) 目录&#xff1a; 1. 起步 1.1 关于版本控制1.2 Git 简史1.3 Git 是什么&#xff1f;1…...

PHY自协商

1. 自协商定义 自动协商模式是端口根据另一端设备的连接速度和双工模式&#xff0c;自动把它的速度调节到最高的公共水平&#xff0c;即线路两端能具有的最快速度和双工模式。 自协商功能允许一个网络设备能够将自己所支持的工作模式信息传达给网络上的对端&#xff0c;并接受对…...

【大数据离线开发】8.2 Hive的安装和配置

8.3 Hive的安装和配置 安装模式&#xff1a; 嵌入模式 &#xff1a;不需要使用MySQL&#xff0c;需要Hive自带的一个关系型数据库&#xff1a;Derby本地模式、远程模式 ----> 需要MySQL数据库的支持 安装 hive 安装包 1、解压tar -zxvf apache-hive-2.3.0-bin.tar.gz -C…...

Capture Modules:车载网络报文捕获模块

&#xff08;以下所有图片均来源于Technica官网&#xff09; Technica Engineering的新一代硬件设备&#xff0c;即Capture Modules&#xff0c;提供了五种变体以涵盖不同带宽的车载以太网&#xff08;100BASE-T1和1000BASE-T1&#xff09;以及常见的IVN技术&#xff08;CAN、C…...

数据结构与算法系列之时间与空间复杂度

这里写目录标题算法的复杂度大O的渐进表示法实例分析空间复杂度每日一题算法的复杂度 衡量一个算法的好坏&#xff0c;一般 是从时间和空间两个维度来衡量的&#xff0c; 即时间复杂度和空间复杂度。 时间复杂度主要衡量一个算法的运行快慢&#xff0c; 空间复杂度主要衡量一个…...

Python代码使用PyQt5制作界面并封装

目录参考链接续&#xff1a;https://blog.csdn.net/yulinxx/article/details/93344163 若要对此程序进行封装&#xff0c;加个界面&#xff0c;然后制作成 EXE&#xff0c; 使用 PyQt5 制作界面&#xff0c;PyInstaller 进行封装成 EXE 可参考&#xff1a; Python制作小软件…...

【Node.js】MySQL数据库的第三方模块(mysql)

mysql安装操作MySQL数据库的第三方模块&#xff08;mysql&#xff09;通过第三方模块&#xff08;mysql2&#xff09;连接到MySQL数据库mysql插入数据mysql插入数据的便捷方式mysql更新数据mysql更新数据的便捷方式mysql删除数据安装操作MySQL数据库的第三方模块&#xff08;my…...

Docker中安装并配置单机版redis

1、使用docker安装redis 搜索Reis镜像&#xff0c;这里展示的是官方最新的镜像docker search redis 使用官方dockerhub搜索redis 2、选用常用的redis5.0作为安装的版本docker pull redis:5.0 3、运行redis容器的两种方式 3.1 不映射外部配置文件直接运行redis5.0镜像docker …...

模拟微信聊天-课后程序(JAVA基础案例教程-黑马程序员编著-第八章-课后作业)

【案例9-1】 模拟微信聊天 【案例介绍】 1.案例描述 在如今&#xff0c;微信聊天已经人们生活中必不可少的重要组成部分&#xff0c;人们的交流很多都是通过微信来进行的。本案例要求&#xff1a;将多线程与UDP通信相关知识结合&#xff0c;模拟实现微信聊天小程序。通过监…...

html2canvas将页面dom元素内容渲染成图片保存至本地

html2canvas:https://html2canvas.hertzen.com/configuration/ github:https://github.com/niklasvh/html2canvas 效果 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compa…...

前端进阶JS运行原理

JS运行原理 深入了解V8引擎原理 浏览器内核是由两部分组成的&#xff0c;以webkit为例&#xff1a; WebCore&#xff1a;负责HTML解析、布局、渲染等等相关的工作&#xff1b;JavaScriptCore&#xff1a;解析、执行JavaScript代码&#xff1b; 官方对V8引擎的定义&#xff1…...

Python识别二维码的两种方法(cv2)

在学习Python处理二维码的过程中&#xff0c;我们看到的大多是“用python生成酷炫二维码”、“用Python制作动图二维码”之类的文章。而关于使用Python批量识别二维码的教程&#xff0c;并不多见。所以今天我会给大家分享两种批量识别二维码的Python技巧&#xff01;pyzbar PI…...

用一个例子告诉你 怎样使用Spark中RDD的算子

目录 1. 前言 1.1 操作分类 1.2 语法知识 2. transformations 2.1 map 2.2 mapPartitions 2.3 flatMap 2.4 glom 2.5 groupBy 2.6 filter 2.7 sample 2.8 distinct 2.9 coalesce 2.10 repartition 2.11 sortBy 2.12 partitionBy 2.13 reduceByKey 2.14 gro…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...

华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)

题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...

面试高频问题

文章目录 &#x1f680; 消息队列核心技术揭秘&#xff1a;从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"&#xff1f;性能背后的秘密1.1 顺序写入与零拷贝&#xff1a;性能的双引擎1.2 分区并行&#xff1a;数据的"八车道高速公路"1.3 页缓存与批量处理…...

qt+vs Generated File下的moc_和ui_文件丢失导致 error LNK2001

qt 5.9.7 vs2013 qt add-in 2.3.2 起因是添加一个新的控件类&#xff0c;直接把源文件拖进VS的项目里&#xff0c;然后VS卡住十秒&#xff0c;然后编译就报一堆 error LNK2001 一看项目的Generated Files下的moc_和ui_文件丢失了一部分&#xff0c;导致编译的时候找不到了。因…...

深度解析云存储:概念、架构与应用实践

在数据爆炸式增长的时代&#xff0c;传统本地存储因容量限制、管理复杂等问题&#xff0c;已难以满足企业和个人的需求。云存储凭借灵活扩展、便捷访问等特性&#xff0c;成为数据存储领域的主流解决方案。从个人照片备份到企业核心数据管理&#xff0c;云存储正重塑数据存储与…...