常用激活函数总结

文章目录

  • 什么是激活函数
  • 激活函数的作用
  • 常用激活函数
    • 1.Sigmoid函数
    • 2.Softmax函数
    • 3.Tanh函数
    • 4.Relu函数
    • 5.LeakyRelu函数
    • 6.PRelu函数
    • 7.ELU函数
    • 8.SELU函数


什么是激活函数

激活函数,通俗讲,就是一个函数,针对某个神经元,就是将输入经过这个激活函数后,得到输出。

激活函数的作用

激活函数用在神经网络中,目的是增加非线性,使神经网络可以学习任意非线性的函数。

常用激活函数

1.Sigmoid函数

Sigmoid公式如下:
f ( x ) = 1 1 + e − x f(x)=\frac{1}{1+e^{-x}} f(x)=1+ex1
Sigmoid输出范围是[0,1]内的实数,比较适用于二分类的类别情况,但实际中已经很少使用了。

  • 优点:
    梯度平滑,比较容易求导,可以避免模型在训练过程中出现突变的情况。
  • 缺点:
    (1)容易出现梯度消失。sigmoid函数求导后结果都是小于0.25的,所以反向传播时,不断的相乘,会是乘积结果渐渐趋于0,那么这个神经元就不起作用了,即出现了梯度消失,那么神经网络可能就不学习了
    (2)sigmoid函数是指数运算,比较耗时和耗资源
    (3)sigmoid函数输出并不是以0为中心,梯度可能会向特定方向移动,这样就会降低权重更新的效率(其实这句话我有点不咋理解,可能从图中看是当x=0时,y值不是0
    图形如下:
    在这里插入图片描述

2.Softmax函数

Softmax公式如下:
f ( x ) = e x i ∑ i e x i f(x)=\frac{e^{x_i}}{\sum_ie^{x_i}} f(x)=iexiexi
Softmax输出范围是[0,1]内的实数,且所有输出值的总和为1,常用于多分类任务中。

  • 优点:
    (1)输出可以被解释为概率,易于理解和解释,非常适合多分类任务
    (2)归一化输出,将任何实数向量转换为一个有效的概率分布,其中所有输出值都是非负的,并且总和为1
    (3)梯度特性,在训练过程中,当一个类别的输出接近1时,其梯度会减小,这有助于减缓学习过程,防止过度调整
  • 缺点:
    (1)计算时需要计算指数,计算效率低
    (2)当输入特征的值非常大或非常小的时候,Softmax函数可能会遇到数值稳定性问题,如溢出或下溢
    (3)梯度消失,当训练样本中一个类别的概率远大于其他类别时,梯度可能会非常小,导致梯度消失问题,从而减慢学习过程
    图形如下:
    在这里插入图片描述

3.Tanh函数

Tanh公式如下:
f ( x ) = e x − e − x e x + e − x f(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}} f(x)=ex+exexex
Tanh输出范围是[-1,1]内的实数,Tanh是Sigmoid函数的变形,即 t a n h ( x ) = 2 s i g m o i d ( 2 x ) − 1 tanh(x)=2sigmoid(2x)-1 tanh(x)=2sigmoid(2x)1,但Tanh是以零为中心的,实际应用中Tanh会比sigmoid更好一些,但是饱和神经情况下,Tanh还是会存在梯度消失问题,适合负输入将被强映射为负,而零输入被映射为接近零的情况。

  • 优点:
    (1)比sigmoid更好些,是以0为中心,梯度可能就不会向特定方向移动,这样就不会降低权重更新的效率

  • 缺点:
    (1)仍然会出现梯度饱和,即当输入-∞和+∞时,激活函数值无限接近-1和1,即神经元发挥不出作用了
    (2)指数运算,耗时耗资源

图形如下:
在这里插入图片描述

4.Relu函数

Relu公式如下:
f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)
Tanh输出范围是[0,+∞]内的实数,输出不是以0为中心。

  • 优点:
    (1)解决了部分梯度消失问题,当输入值为正时,神经元不会饱和
    (2)由于其线性、非饱和性质,relu容易收敛
    (3)复杂度低,不需要指数运算
  • 缺点:
    (1)函数输出并不是以0为中心,梯度可能会向特定方向移动,这样就会降低权重更新的效率
    (2)出现神经元死亡问题,即当输入为负,可能会出现梯度消失问题,输入为负数,经relu后变为0,神经元失效,对任何输入都无响应,导致参数永远不会被更新了

图形如下:
在这里插入图片描述

5.LeakyRelu函数

LeakyRelu公式如下:
f ( x ) = m a x ( α x , x ) f(x)=max(αx,x) f(x)=max(αx,x)
Tanh输出范围是[-∞,+∞]内的实数,输出不是以0为中心。

  • 优点:
    (1)减少梯度消失问题,当输入值为正时,神经元不会饱和;当输入为负时,不会出现Relu的神经元死亡问题,即结果为0的情况
    (2)由于其线性、非饱和性质,relu容易收敛
    (3)复杂度低,不需要指数运算
  • 缺点:
    (1)函数中的α是恒定值,需要经先验知识,人工赋值(常设0.01)
    (2)有些近似线性,导致在复杂分类任务中效果不好
    图形如下:
    在这里插入图片描述

6.PRelu函数

PRelu公式如下:
f ( x ) = { α x , x < 0 x , x ≥ 0 } f(x)=\left\{ \begin{matrix} αx,x<0 \\ x,x≥0 \end{matrix} \right\} f(x)={αx,x0x,x0}
PRelu输出范围是[-∞,+∞]内的实数,输出不是以0为中心。与Relu、LeakyRelu和PRelu不同的是,ELU的负半轴是一个指数函数不是一条直线。

  • 优点:
    (1)α是通过学习得到的,不是手动设置的确定值,更能灵活适应各种情况
    (2)减少梯度消失问题,当输入值为正时,神经元不会饱和;当输入为负时,不会出现Relu的神经元死亡问题,即结果为0的情况
    (3)由于其线性、非饱和性质,relu容易收敛
    (4)复杂度低,不需要指数运算
  • 缺点:
    (1)有些近似线性,导致在复杂分类任务中效果不好
    图形如下:
    在这里插入图片描述

7.ELU函数

ELU公式如下:
f ( α , x ) = { α ( e x − 1 ) , x ≤ 0 x , x > 0 } f(α,x)=\left\{ \begin{matrix} α(e^x-1),x≤0 \\ x,x>0 \end{matrix} \right\} f(α,x)={α(ex1),x0x,x0}
ELU输出范围是[-α,+∞]内的实数,输出不是以0为中心。

  • 优点:
    (1)减少梯度消失问题,当输入值为正时,神经元不会饱和;当输入为负时,不会出现Relu的神经元死亡问题,即结果为0的情况,有助于减轻梯度消失问题,从而改善深层网络的训练效率
    (3)输出均值接近0,有助于数据的中心化,减少训练过程中的偏置偏移,加速学习过程
    (4)在整个定义域内连续可导,尤其是原点处连续,能够加速函数收敛
  • 缺点:
    (1)计算时需要计算指数,计算效率低
    (2)α是根据先验知识手动设置的确定值
    图形如下:
    在这里插入图片描述

8.SELU函数

SELU公式如下:
f ( α , x ) = λ { α ( e x − 1 ) , x ≤ 0 x , x > 0 } f(α,x)= \lambda \left\{ \begin{matrix} α(e^x-1),x≤0 \\ x,x>0 \end{matrix} \right\} f(α,x)=λ{α(ex1),x0x,x0}
ELU输出范围是[-2,+∞]内的实数,输出不是以0为中心。其中,λ=1.0507,α=1.6733。SELU激活函数是在自归一化网络(SNN)中定义的,通过调整均值和方差来实现内部的归一化,这种内部归一化比外部归一化更快,这使得网络能够更快得收敛。

  • 优点:
    (1)自归一化。能够使输出的均值和方差接近1,有助于解决梯度消失和梯度爆炸问题,适合难以使用批量归一化的深度神经网络结构(如SNN 自归一化神经网络)
    (2)无需额外归一化技术,可以减少或消除批量归一化等额外归一化需求,简化模型结构和训练过程
  • 缺点:
    (1)计算时需要计算指数,计算效率低
    (2)自归一化属性依赖特定网络初始化方法和网络结构,在某些复杂模型结构中不适用或效果不明显
    图形如下:
    在这里插入图片描述
    针对上述常用激活函数的场景汇总如下:
  • Sigmoid:
    • 使用场景: 二分类问题中的输出层,因为输出值在0到1之间,可以表示为概率。
    • 优点: 输出值在0和1之间,具有概率解释。
    • 缺点: 容易受到梯度消失的影响,不适合深层网络。
  • Softmax:
    • 使用场景: 多分类问题中的输出层,将输出转换为概率分布。
    • 优点: 输出可以解释为概率,并且所有输出值的和为1。
    • 缺点: 计算复杂度较高,同样容易受到梯度消失的影响。
  • Tanh (双曲正切):
    • 使用场景: 隐藏层,输出值在-1到1之间,可以提供零中心化的数据。
    • 优点: 输出值中心化,有助于数据的处理。
    • 缺点: 仍然容易受到梯度消失的影响。
  • ReLU (Rectified Linear Unit):
    • 使用场景: 隐藏层,因为计算简单且可以缓解梯度消失问题。
    • 优点: 计算效率高,可以加速神经网络的训练。
    • 缺点: 存在死亡ReLU问题,即对于负输入,梯度为0。
  • LeakyReLU:
    • 使用场景: 隐藏层,当输入为负时,有一个非零的梯度
    • 优点: 解决了ReLU的死亡神经元问题。
    • 缺点: 需要手动设置泄漏参数。
  • PReLU (Parametric ReLU):
    • 使用场景: 隐藏层,泄漏参数可以通过训练学习得到。
    • 优点: 泄漏参数可学习,可能比LeakyReLU更有效。
    • 缺点: 增加了模型的参数量。
  • ELU (Exponential Linear Unit):
    • 使用场景: 隐藏层,对于负数输入有一个非零的输出,有助于激活神经元。
    • 优点: 可以缓解梯度消失问题,输出均值为零。
    • 缺点: 计算复杂度比ReLU高。
  • SELU (Scaled Exponential Linear Unit):
    • 使用场景: 隐藏层,特别是在那些需要自归一化和不需要额外归一化技术的网络中。
    • 优点: 自归一化,有助于加快收敛速度。
    • 缺点: 需要仔细的参数初始化。

还有一些别的激活函数,如:Swish和Mish,这俩不太常用,可以详看篇博客:
https://blog.csdn.net/qq_42691298/article/details/126590726,注意:这篇博客里的softmax函数图像是错误的。
(如有问题,欢迎指出,一起学习,一起交流! 常总结,常复盘)

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

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

相关文章

智慧园区与智能城市融合发展的关键举措

随着科技的快速发展和城市化进程的加速,智慧园区和智能城市作为未来城市发展的重要方向备受关注。智慧园区注重企业创新与产业升级,而智能城市着眼于城市管理与居民生活的便利。它们之间的融合将促进城市发展的智能化、可持续化和协同化。以下是实现智慧…

【web开发网页制作】Html+Css郑州大学保卫处学校网页制作(5页面附源码)

HTMLCSS学校主题网页目录 🍔涉及知识🥤写在前面🍧一、网页主题🌳二、网页效果Page1、首页Page2、通知公告Page3、公告详情页Page4、新闻动态页Page5、服务专区 🐋三、网页架构与技术3.1 脑海构思3.2 整体布局3.3 技术说…

华为OD机试 - 匿名信(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…

【网络安全 白帽子】用技术合法挖漏洞,一个月能拿多少钱

现在很多白帽子(网安工程师/渗透测试工程师)都会在下班之后利用业余时间去补天之类的漏洞赏金平台挖漏洞,用技术合法给企业找出威胁存在,拿到漏洞赏金。 那么现在,一般人用网安技术挖漏洞一个月能拿多少钱&#xff1f…

C++进阶:AVL树保持平衡的秘诀

✨✨所属专栏:C✨✨ ✨✨作者主页:嶔某✨✨ AVL树的底层实现代码:BSTree.h 钦某/Clearning 什么是AVL树? • AVL树是最先发明的⾃平衡⼆叉查找树,AVL是⼀颗空树,或者具备下列性质的⼆叉搜索树&#xff1…

【Linux基础IO】Linux IO编程入门:揭秘动态库与静态库的秘密

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:Linux “ 登神长阶 ” 🤡往期回顾🤡:Linux Shell 🌹🌹期待您的关注 🌹🌹 ❀Linux基础IO 📒1. …

在编写vue3项目过程中,不希望ts校验怎么设置

问: 现在我查询了很多设置 可以看到,设置了很多关闭校验,但是仍然有报错提示,提示当前类型不正确,应该怎么办? 回答: 从其他人的博客中获取灵感,因为vscode的自己的设置了类型检查…

DL_语义分割(学习笔记)

文章目录 图像分割1 常见分类1.1 语义分割1.2 实例分割1.3 全景分割 2 语义分割2.1 模型评价指标2.2 常用数据集2.3 转置卷积2.4 膨胀卷积2.5 感受野2.6 双线性插值2.7 FCN 图像分割 1 常见分类 1.1 语义分割 定义:【只判断类别,无法区分个体】 语义分…

Tableau 瀑布图应用示例

通过探索 10 个示例,将瀑布图的应用拓展到更深层次的业务分析! 作为一种直观展示数据变化的图表,瀑布图被广泛应用在业务分析中。同时,借助 Tableau 2024.2 中的 Viz Extensions,如今我们可以快速在 Tableau 中实现瀑布…

【YashanDB知识库】崖山数据库Outline功能验证

本文内容来自YashanDB官网,具体内容请见(https://www.yashandb.com/newsinfo/7488286.html?templateId1718516) 测试验证环境说明 测试用例说明 1、相同版本下,新增表数据量,使统计信息失效。优化器优先使用outline的计划。 2、相同版本下…

CHI trans简介--Retry

总目录: CHI协议简读汇总-CSDN博客 Retry trans flow requester发送一个请求,该请求没有protocol credit(P-Credit); 也就是说,该请求不保证completer一定能够接收该trans;completer返回一个retry resp, RetryAck, 给到Requester;completer再…

逻辑回归(上):函数求导过程自推 LaTex 语法

背景 闲来无事翻了一下之前买的一个机器学习课程及之前记录的网络笔记,发现遇到公式都是截图,甚至是在纸上用笔推导的。重新整理一遍之前逻辑回归函数的学习笔记,主要是为了玩一下 LaTex 语法,写公式挺有意思的。 整理之前三篇笔…

A股收复3000点!外资积极看涨,对冲基金净买入量创三年来新高

9月27日,A股开盘后跳空上涨,连续四天的大幅上涨,9月26日,上证指数收复3000点大关,让一些温州股民感到兴奋不已,一些炒股群里沸腾了。但对于行情走势,股民们产生了分歧,有人是逢高减仓…

SWAP、AquaCrop、FVCOM、Delft3D、SWAT、R+VIC、HSPF、HEC-HMS......

全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程&…

源2.0全面适配百度PaddleNLP,大模型开发开箱即用

近日,源2.0开源大模型与百度PaddleNLP完成全面适配。用户通过PaddleNLP,可快速调用源2.0预训练大模型,使用源2.0在语义、数学、推理、代码、知识等方面的推理能力,也可以使用特定领域的数据集对源2.0 进行微调,训练出适…

爬虫及数据可视化——运用Hadoop和MongoDB数据进行分析

作品详情  运用Hadoop和MongoDB对得分能力数据进行分析;  运用python进行机器学习的模型调理,利用Pytorch框架对爬取的评论进行情感分析预测;  利用python和MySQL对网站的数据进行爬取、数据清洗及可视化。

win10如何禁止指定程序运行?推荐这4个好用的方法,小白必入哦!(轻松拿捏!)

在Windows 10系统中,管理程序运行权限是维护系统安全和提升工作效率的重要手段。 无论是出于防止恶意软件入侵的考虑,还是为了规范员工的软件使用行为,禁止指定程序运行都是一项必备技能。 本文将为您介绍四种简单实用的方法,即便…

校企合作 | 宝兰德与西安航空职业技术学院共筑智慧教育新高地

在教育领域持续变革的今天,智慧教育作为提升教学质量、优化资源配置的关键策略,正逐步成为教育发展的主流趋势。近日,西安航空职业技术学院副校长郭红星、信息中心副主任李畅及主任李永锋等领导莅临宝兰德西安研发中心,双方就智慧…

el-upload不显示进度条

原因:我并没有用el-upload上面的action设置上传url,也没有用他自带的方法上传 这里我使用的是通过自定义接口手动上传,即点击外部按钮,将文件转换后调用接口将文件传参,拿到存储后转换回来的文件url,直接调…

如何处理各行业的DDOS问题

分布式拒绝服务(Distributed Denial of Service, DDoS)攻击是网络安全领域最为常见且危害性极大的攻击方式之一。通过控制大量计算机、物联网终端或网络僵尸,攻击者能够向目标网站或服务器发送大量请求,从而耗尽其资源&#xff0c…