激活函数汇总

news/2025/3/6 21:30:46/文章来源:https://www.cnblogs.com/mianmaner/p/18756526

激活函数

激活函数是用来加入非线性因素的,因为线性模型的表达能力不够。

Sigmoid

(1) 公式:\(S(x)=\frac{1}{1+e^{-x}}\)

(2) 函数图:
这里写图片描述

(3) 缺点:
① 输出值落在(0,1)之间,期望均值为0.5,不符合均值为0的理想状态
② 该函数存在一正一负两块“死区”(死区:梯度计算为0,靠近死区的部分梯度也会非常小)

Softmax

(1) 公式:\(S_i=\frac{e^{x_i}}{\sum_je^{x_j}}\)

Tanh

(1) 公式:\(\tanh(x) = \frac{e^x-e^{-x}}{e^x+e^{-x}}\)

(2) 函数图:
这里写图片描述

(3) 优点:将期望均值平移到0这一理想状态

(4) 缺点:本质上仍是sigmoid函数,无法回避一左一右两块死区

ReLU

(1) 公式:\(f(x)=\max (0,x)\)

(2) 函数图:
这里写图片描述

(3) 优点:
① 彻底消灭了正半轴上的死区,可以解决梯度消失问题
② 计算超简单
③ 有助于模型参数稀疏

(4) 缺点:
① 期望均值跑得离0更远了
② 负半轴上的死区直接蚕食到了0点(存在“神经元死亡”问题,如果激活函数的输入都是负数,那么该神经元再也无法学习)

单侧饱和:
Simoid函数是双侧饱和的,意思是朝着正负两个方向,函数值都会饱和;但ReLU函数是单侧饱和的,意思是只有朝着负方向,函数值才会饱和。

理解单侧饱和的意义:将神经元比作检测某种特定特征的开关。当开关处于开启状态,说明在输入范围内检测到了对应的特征。正值越大代表检测到特征越明显,而负值越小则代表没有检测到特征越明显,但没有检测到特征就是没有检测到,本身不具有程度,所以这些负值的大小属于噪声信息。

所以ReLU将负值截断成0不仅为网络引入了稀疏性,还使得神经元对于噪声干扰更具鲁棒性。

Leaky ReLU

(1) 函数图:
../_images/LeakyReLU.png

(2) 优点:消除了负半轴上的死区,解决了“神经元死亡”问题

(3) 缺点:
① 期望均值依然不为0
② 合适的\(\lambda\)值较难设定且敏感,导致在实际使用中性能不稳定

PReLU

(1) \(\lambda\)参数是学习得到的

Elu

(1) 函数图:
img

(2) 优点:完美解决死区问题,具有单侧饱和

(3) 缺点:均值仍不是0

选择合适的激活函数

一般优先选用 ReLU,效果不好的话可以再尝试使用 LeakyReLU 或 ELU。如果计算资源不成问题,且网络并不十分巨大,可以试试 ELU,否则,最好选用 LeakyReLU

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

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

相关文章

深入探究C语言内存分配系列函数

深入探究C语言内存分配系列函数 目录深入探究C语言内存分配系列函数内存是什么?内存分配的三种方式为什么要学习动态分配的系列函数?四大内存分配函数前置知识malloc与freemallocfreerealloccallocDeepseek的总结 当我们完成一个程序设计时,需要对其背后的底层原理学习 操作…

第一课 引言与词向量

对于文字的意义,语言学家有很多种定义。其中一种定义运用在自然语言处理中非常有用,这种意义的定义见下分布式语义就是看上下文词来决定单词的意义。于是我们可以利用词向量来衡量两个词之间的相似程度,词的意义被分散在词向量的每一维中 词嵌入之所以叫词嵌入,是因为我们给…

2025.03.06 CW 模拟赛 A. 岛屿

题面 & 题解 A. 岛屿 概率期望会不了一点. 思路 假设我们最开始有 \(a\) 个「蓝蓝 / 红红」链, \(b\)​ 个「蓝红」链. 我们考虑对于每一个「蓝红」链向外连边. 如图, 我们将红点向外连向一条「蓝蓝」链, 由于每一个点只能最多向外连一条边, 那么它们就「合成」了一条蓝蓝链…

日报202535

今天总算是把项目组的事情解决了,于是正式开了Springboot+vue的学习,用了一晚上的时间配置好了环境(更新了JDK与Maven,重新设置了idea的设置) 然后了解了springboot的配置文件和基本使用,跑出了第一个spring的网页。这看着真有意思吧感觉比jsp方便不少。

Java SPI机制使用

1. Service Provider Interface SPI描述接口提供者优先规定接口要求,然后交由具体的实现者对接口进行内容的实现;2. 实现 //1. 定义接口 public Interface Demo_interface{//具体实现者必须要实现的内容void doexcute(); } //2.实现接口 public class Demo_Impl implements D…

互联网寒冬下,如何写好一份.NET求职简历?附带简洁免费的简历模板!!!

前言 在当今互联网行业的寒冬时期,每一位求职者都面临着更为激烈的竞争环境,如何在众多.NET候选人中脱颖而出,成为企业心仪的对象,用心准备一份简历显得尤为重要。简历不仅是个人职业经历的简要概述,更是向潜在雇主、HR展示你专业技能、项目经验、个人特质以及求职诚意的关…

注册github

今天成功注册了github账户,并上传了一个小项目。

HarmonyOS Next 属性动画和转场动画

HarmonyOS Next 属性动画和转场动画 在鸿蒙应用开发中,动画是提升用户体验的关键要素。通过巧妙运用动画,我们能让应用界面更加生动、交互更加流畅,从而吸引用户的注意力并增强其使用粘性。鸿蒙系统为开发者提供了丰富且强大的动画开发能力,其中属性动画是整个动画体系的核…

C语言小记

int a =10; int b=3; int c= pow(10,3); //表示10的三次方unsigned 表示不用补码表示 //数字的输入,%d 包括 char,short,int%u unsigned%ld long long%lu unsigned long long输入 float 是 %f double 是 %lf shuchu dou shi %f保留小数的话是大于5才入,小于等于5舍去强…

系统流程图联系

练习题一:图书馆借阅管理系统流程图绘制 背景说明:在学校图书馆借阅管理系统中,学生借阅图书需要经过一系列流程。首先,学生携带校园卡前往借阅处,工作人员通过刷卡设备读取学生信息,系统验证学生身份是否有效。若身份无效,系统提示原因(如校园卡过期、欠费等)。若身份…