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

news2025/1/18 17:10:29

各种激活函数总结

目录

      • 一、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

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

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

相关文章

高通平台开发系列讲解(Sensor篇)AlsPs的工作原理及介绍

文章目录 一、什么是ALS?二、什么是距感(PS)?三、AlsPs的工作原理四、AlsPs的特性五、距感的校准参数说明六、光感的校准参数说明沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇文章将介绍 AlsPs 的工作原理及介绍。 一、什么是ALS? 光感的英文叫做Ambient Li…

算法小抄2-刷题中Python的常用语法

标准数据类型 不可变数据类型: Number String Tuple 可变数据类型:List Dictionary Set 关于为什么会分成可变和不可变最后会讲到哦 Number Number支持int,float,bool,complex四种,其中int范围小且必须为整数,float范围较大,可以是是小数,bool值表示是否,complex为复数,赋值…

20- widedeep及函数式构建模型 (TensorFlow系列) (深度学习)

知识要点 wide&deep: 模型构建中, 卷积后数据和原始数据结合进行输出.fetch_california_housing&#xff1a;加利福尼亚的房价数据&#xff0c;总计20640个样本&#xff0c;每个样本8个属性表示&#xff0c;以及房价作为target&#xff0c;所有属性值均为number&#xff0…

网上医疗预约挂号系统

技术&#xff1a;Java、JSP等摘要&#xff1a;网上医疗预约挂号系统是主要是对居民的保健、护理、疾病预防等健康信息实行有效的预约挂号管理。医疗机构为居民建立完整的健康档案&#xff0c;安排体检以及实施免疫等预防措施。而基于Web的远程保健平台以网上医疗预约挂号系统为…

基于OMAPL138+FPGA核心板多核软件开发组件MCSDK开发入门(上)

本文测试板卡为创龙科技 SOM-TL138F 是一款基于 TI OMAP-L138(定点/浮点 DSP C674x + ARM9)+ 紫光同创 Logos/Xilinx Spartan-6 低功耗 FPGA 处理器设计的工业级核心板。核心板内部OMAP-L138 与 Logos/Spartan-6 通过 uPP、EMIFA、I2C 通信总线连接,并通过工业级 B2B连接器引…

分布式任务处理

分布式任务处理 1. 什么是分布式任务调度 视频上传成功需要对视频的格式进行处理&#xff0c;如何用Java程序对视频进行处理呢&#xff1f;这里有一个关键的需求就是当视频比较多的时候我们如何可以高效处理。 如何去高效处理一批任务呢&#xff1f; 1、多线程 多线程是充…

IDEA社区版环境配置和插件安装

一、Java环境安装 1.1 下载openjdk环境安装包 可以进华为镜像站进行下载。参考链接&#xff1a; Index of openjdk-local https://repo.huaweicloud.com/openjdk/ 1.2 配置Java环境 解压缩openjdk到任意路径&#xff0c;建议路径不要有中文。然后把路径的bin文件&#xff0…

新手小白亚马逊注册最全教程在此

自从龙哥出了Walmart注册教程后&#xff0c;立刻看到私信有兄弟问这个亚马逊的注册。亚马逊是跨境电商的鼻祖&#xff0c;资源和流量是无容置疑的。作为一个重产品&#xff0c;轻店铺的平台&#xff0c;是比较看中客户体验的&#xff0c;要求卖家要有好的资源。而且亚马逊有强大…

02-MyBatis查询-

文章目录Mybatis CRUD练习1&#xff0c;配置文件实现CRUD1.1 环境准备Debug01: 别名mybatisx报错1.2 查询所有数据1.2.1 编写接口方法1.2.2 编写SQL语句1.2.3 编写测试方法1.2.4 起别名解决上述问题1.2.5 使用resultMap解决上述问题1.2.6 小结1.3 查询详情1.3.1 编写接口方法1.…

改进YOLOv7-Tiny系列:首发改进结合BiFPN结构的特征融合网络,网络融合更多有效特征,高效涨点

💡该教程为改进进阶指南,属于《芒果书》📚系列,包含大量的原创首发改进方式, 所有文章都是全网首发原创改进内容🚀 内容出品:CSDN博客独家更新 @CSDN芒果汁没有芒果 💡本篇文章 基于 YOLOv5、YOLOv7芒果改进YOLO系列:芒果改进YOLOv7-Tiny系列:首发改进结合BiFPN结…

深度学习笔记:不同的反向传播迭代方法

1 随机梯度下降法SGD 随机梯度下降法每次迭代取梯度下降最大的方向更新。这一方法实现简单&#xff0c;但是在很多函数中&#xff0c;梯度下降的方向不一定指向函数最低点&#xff0c;这使得梯度下降呈现“之”字形&#xff0c;其效率较低 class SGD:"""随机…

springsecurity开启方法级的授权源码分析

1、话不多说&#xff0c;先说使用步骤然后分析源码&#xff1a;首先使用 EnableMethodSecurity 注解开启方法级别的权限认证### 使用该注解开启方法级权限鉴定 EnableMethodSecurity使用了方法权限注解开启了方法级的权限鉴定之后&#xff0c;就可以使用如下注解直接在控制器上…

【微信小程序】-- WXSS 模板样式- rpx import (十三)

&#x1f48c; 所属专栏&#xff1a;【微信小程序开发教程】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &…

OpenCV入门(一)Python环境的搭建

OpenCV入门&#xff08;一&#xff09;Python环境的搭建 因为有点Python基础&#xff0c;并且Python是比较好入门的编程语言&#xff0c;所以&#xff0c;机器视觉后面打算在Python这个平台下进行。 Windows平台OpenCV的Python开发环境搭建 1、Python 的下载与安装 Python是…

Unity UGUI 拖拽组件

效果展示 使用方式 拖到图片上即可用 父节点会约束它的活动范围哦~ 父节点会约束它的活动范围哦~ 父节点会约束它的活动范围哦~ 源码 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems;/// <summary> /…

2023年蜂巢科技最新面试题

2023年蜂巢科技最新面试题 bio与nio的区别 bio同步阻塞io&#xff1a;在此种⽅式下&#xff0c;⽤户进程在发起⼀个IO操作以后&#xff0c;必须等待IO操作的完成&#xff0c;只有当真正完成了IO操作以后&#xff0c;⽤户进程才能运⾏。JAVA传统的IO模型属于此种⽅式&#xff0…

易观:商业银行持续发力趣味营销活动,助力提升手机银行用户活跃度

易观&#xff1a;随着数字化时代发展&#xff0c;商业银行仍需持续在场景营销领域积极探索创新&#xff0c;坚持以用户为中心&#xff0c;开展千人千面的趣味营销活动&#xff0c;增强手机银行的互动性&#xff0c;完善活动参与的用户体验&#xff0c;提升营销活动效果&#xf…

了解高并发场景下的限流算法和解决方案

想必大家在做项目的时候&#xff0c;或多或少的都遇到过一些高并发的场景&#xff0c;这里主要是和大家一起来探讨下有关高并发下的处理方案。 常见的限流算法 1. 计数器 直接计数&#xff0c;简单暴力&#xff0c;举个例子&#xff1a; 比如限流设定为1小时内10次&#xff…

【Maven】(四)图解Maven3依赖的功能特性:依赖范围、依赖传递、依赖冲突

文章目录1.前言2.pom中的依赖配置2.1.依赖的概念2.2.依赖传递2.3.可选依赖 [optional]2.4.依赖范围 [scope]2.4.1.scope的分类2.4.2.依赖范围对依赖传递的影响2.5.依赖冲突2.5.1.直接依赖2.5.2.间接依赖2.6.依赖排除 [exclusions]3.总结1.前言 本系列文章记录了 Maven 从0开始…

搭建XXL-JOB

搭建XXL-JOB 1、 调度中心 首先下载XXL-JOB GitHub&#xff1a;GitHub - xuxueli/xxl-job: A distributed task scheduling framework.&#xff08;分布式任务调度平台XXL-JOB&#xff09; 码云&#xff1a;xxl-job: 一个分布式任务调度平台&#xff0c;其核心设计目标是开…