神经网络:激活函数层知识点

1.激活函数的作用,常用的激活函数有哪些

激活函数的作用

激活函数可以引入非线性因素,提升网络的学习表达能力。

常用的激活函数

Sigmoid 激活函数

函数的定义为:

f ( x ) = 1 1 + e − x f(x) = \frac{1}{1 + e^{-x}} f(x)=1+ex1

如下图所示,其值域为 ( 0 , 1 ) (0,1) (0,1) 。也就是说,输入的每个神经元、节点都会被缩放到一个介于 0 0 0 1 1 1 之间的值。

x x x 大于零时输出结果会趋近于 1 1 1 ,而当 x x x 小于零时,输出结果趋向于 0 0 0 ,由于函数的特性,经常被用作二分类的输出端激活函数

Sigmoid的导数:

f ′ ( x ) = ( 1 1 + e − x ) ′ = 1 1 + e − x ( 1 − 1 1 + e − x ) = f ( x ) ( 1 − f ( x ) ) f^{'}(x)=(\frac{1}{1+e^{-x}})^{'}=\frac{1}{1+e^{-x}}\left( 1- \frac{1}{1+e^{-x}} \right)=f(x)(1-f(x)) f(x)=(1+ex1)=1+ex1(11+ex1)=f(x)(1f(x))

x = 0 x=0 x=0 时, f ( x ) ′ = 0.25 f(x)'=0.25 f(x)=0.25

Sigmoid的优点:

  1. 平滑
  2. 易于求导
  3. 可以作为概率,辅助解释模型的输出结果

Sigmoid的缺陷:

  1. 当输入数据很大或者很小时,函数的梯度几乎接近于0,这对神经网络在反向传播中的学习非常不利。
  2. Sigmoid函数的均值不是0,这使得神经网络的训练过程中只会产生全正或全负的反馈。
  3. 导数值恒小于1,反向传播易导致梯度消失。

Sigmoid导数示意图,两边梯度几乎为0

Tanh激活函数

Tanh函数的定义为:

f ( x ) = T a n h ( x ) = e x − e − x e x + e − x f(x) = Tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} f(x)=Tanh(x)=ex+exexex

如下图所示,值域为 ( − 1 , 1 ) (-1,1) (1,1)

Tanh的优势:

  1. Tanh函数把数据压缩到-1到1的范围,解决了Sigmoid函数均值不为0的问题,所以在实践中通常Tanh函数比Sigmoid函数更容易收敛。在数学形式上其实Tanh只是对Sigmoid的一个缩放形式,公式为 t a n h ( x ) = 2 f ( 2 x ) − 1 tanh(x) = 2f(2x) -1 tanh(x)=2f(2x)1 f ( x ) f(x) f(x) 是Sigmoid的函数)。
  2. 平滑
  3. 易于求导

Tanh的导数:

f ′ ( x ) = ( e x − e − x e x + e − x ) ′ = 1 − ( t a n h ( x ) ) 2 f^{'}(x)=(\frac{e^x - e^{-x}}{e^x + e^{-x}})^{'}=1-(tanh(x))^2 f(x)=(ex+exexex)=1(tanh(x))2

x = 0 x=0 x=0 时, f ( x ) ′ = 1 f(x)'=1 f(x)=1

由Tanh和Sigmoid的导数也可以看出Tanh导数更陡,收敛速度比Sigmoid快。

Tanh导数示意图

Tanh的缺点:

导数值恒小于1,反向传播易导致梯度消失。

Relu激活函数

Relu激活函数的定义为:

f ( x ) = m a x ( 0 , x ) f(x) = max(0, x) f(x)=max(0,x)

如下图所示,值域为 [ 0 , + ∞ ) [0,+∞) [0,+)

ReLU的优势:

  1. 计算公式非常简单,不像上面介绍的两个激活函数那样涉及成本更高的指数运算,大量节约了计算时间。
  2. 在随机梯度下降中比Sigmoid和Tanh更加容易使得网络收敛。
  3. ReLU进入负半区的时候,梯度为0,神经元此时会训练形成单侧抑制,产生稀疏性,能更好更快地提取稀疏特征。
  4. Sigmoid和Tanh激活函数的导数在正负饱和区的梯度都会接近于0,这会造成梯度消失,而ReLU函数大于0部分都为常数保持梯度不衰减,不会产生梯度消失现象。

稀疏:在神经网络中,这意味着激活的矩阵含有许多0。这种稀疏性能让我们得到什么?这能提升时间和空间复杂度方面的效率,常数值所需空间更少,计算成本也更低。

ReLU的导数:

c ( u ) = { 0 , x < 0 1 , x > 0 u n d e f i n e d , x = 0 c(u)=\begin{cases} 0,x<0 \\ 1,x>0 \\ undefined,x=0\end{cases} c(u)= 0,x<01,x>0undefined,x=0

通常 x = 0 x=0 x=0 时,给定其导数为 1 1 1 0 0 0

ReLU的导数

ReLU的不足:

  1. 训练中可能会导致出现某些神经元永远无法更新的情况。其中一种对ReLU函数的改进方式是LeakyReLU。
  2. ReLU不能避免梯度爆炸问题。

LeakyReLU激活函数

LeakyReLU激活函数定义为:

f ( x ) = { a x , x < 0 x , x ≥ 0 f(x) = \left\{ \begin{aligned} ax, \quad x<0 \\ x, \quad x\ge0 \end{aligned} \right. f(x)={ax,x<0x,x0

如下图所示( a = 0.5 a = 0.5 a=0.5 ),值域为 ( − ∞ , + ∞ ) (-∞,+∞) (,+)

LeakyReLU的优势:

该方法与ReLU不同的是在 x x x小于0的时候取 f ( x ) = a x f(x) = ax f(x)=ax ,其中 a a a是一个非常小的斜率(比如0.01)。这样的改进可以使得当 x x x 小于0的时候也不会导致反向传播时的梯度消失现象。

LeakyReLU的不足:

  1. 无法避免梯度爆炸的问题。
  2. 神经网络不学习 α \alpha α 值。
  3. 在求导的时候,两部分都是线性的。

SoftPlus激活函数

SoftPlus激活函数的定义为:

f ( x ) = l n ( 1 + e x ) f(x) = ln( 1 + e^x) f(x)=ln(1+ex)

值域为 ( 0 , + ∞ ) (0,+∞) (0,+)

函数图像如下:

可以把SoftPlus看作是ReLU的平滑。

ELU激活函数

ELU激活函数解决了ReLU的一些问题,同时也保留了一些好的方面。这种激活函数要选取一个 α \alpha α 值,其常见的取值是在0.1到0.3之间。

函数定义如下所示:

f ( x ) = { a ( e x − 1 ) , x < 0 x , x ≥ 0 f(x) = \left\{ \begin{aligned} a(e^x -1), \quad x<0 \\ x, \quad x\ge0 \end{aligned} \right. f(x)={a(ex1),x<0x,x0

如果我们输入的 x x x 值大于 0 0 0 ,则结果与ReLU一样,即 y y y 值等于 x x x 值;但如果输入的 x x x 值小于 0 0 0 ,则我们会得到一个稍微小于 0 0 0 的值,所得到的 y y y 值取决于输入的 x x x 值,但还要兼顾参数 α \alpha α ——可以根据需要来调整这个参数。公式进一步引入了指数运算 e x e^x ex ,因此ELU的计算成本比ReLU高。

下面给出了 α \alpha α 值为0.2时的ELU函数图:

ELU函数图

ELU的导数:

ELU的导数公式

导数图如下所示:

ELU的导数图

ELU的优势:

  1. 能避免ReLU中一些神经元无法更新的情况。
  2. 能得到负值输出。

ELU的不足:

  1. 包含指数运算,计算时间长。
  2. 无法避免梯度爆炸问题。
  3. 神经网络无法学习 α \alpha α 值。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

推荐几个好用的开源无代码/低代码开发平台

一、什么是无代码/低代码开发 无代码/低代码开发是一种可视化的应用程序开发方法&#xff0c;使用具有拖放组件和模型驱动逻辑组合的图形界面。无代码/低代码开发试图降低从软件技术平台、产品和服务中提取价值的进入壁垒。低代码开发平台被称为可视化集成开发环境&#xff08…

美颜技术详解:深入了解视频美颜SDK的工作机制

本文将深入探讨视频美颜SDK的工作机制&#xff0c;揭示其背后的科技奥秘和算法原理。 1.引言 视频美颜SDK作为一种集成到应用程序中的技术工具&#xff0c;通过先进的算法和图像处理技术&#xff0c;为用户提供令人印象深刻的实时美颜效果。 2.视频美颜SDK的基本工作原理 首…

node.js mongoose schemaTypes

目录 官方文档 简介 SchemaType 示例 配置SchemaType规则 通用规则 特定schemaType规则 String Number Date Map monggose会根据shcemaType将文档值转换成指定的类型 官方文档 Mongoose v8.0.3: SchemaTypes 简介 SchemaTypes是在使用Mongoose时&#xff0c;用于…

Elementor Pro 完整模板套件5000个登陆页面和1000个模板描说明

一、引言 Elementor Pro 是 WordPress 的一款强大且功能丰富的页面构建插件。它提供了完整的模板套件和登陆模板,使得用户能够轻松创建各种类型的页面和网站。本文将详细介绍 Elementor Pro 的完整模板套件和登陆模板的功能和使用方法。 二、Elementor Pro 完整模板套件 模板…

OSPF面试总结

OSPF 基本特点 属于IGP、LS支持无类域间路由没有环路&#xff08;区域内运行LS、区域间是DV,所以所有的区域要和区域0相连&#xff09;收敛速度快使用组播发送数据 224.0.0.5、224.0.0.6 什么时候用224.0.0.5&#xff1f;支持多条等价路由支持协议报文认证 OSPF路由的计算过程…

C#中的协变和逆变

这两个都是只能使用在接口和委托上 个人理解&#xff1a; 协变&#xff1a;出参&#xff0c;让基类使用范围变大&#xff0c;将父类/基类当作子类一样使用 --为什么这样规定呢&#xff1f; 我的理解&#xff1a;真正实现的是子类&#xff0c;子类拥有所有的方法&#xff0c;却…

项目从0到1,架构选型 :单体架构优先考虑

当我听到关于团队使用微服务架构的故事时&#xff0c;我注意到了一个共同的现象。 几乎所有成功的微服务故事都是从一个过于庞大的庞然大物开始的&#xff0c;后来这个庞然大物被拆分了我所听说的几乎所有从零开始构建微服务系统的案例&#xff0c;最终都陷入了严重的麻烦。 …

【JVM基础】 JVM 如何加载一个类以及类加载机制

文章目录 1、什么时候一个类会被加载&#xff1f;1、包含 main 方法的主类2、非 包含 main 方法的主类&#xff0c;什么时候去加载&#xff1f; 3、类加载器如何加载一个类&#xff1f;1、验证阶段&#xff1a;2、准备阶段&#xff1a;3、解析阶段&#xff1a;4、初始化&#x…

智能化安防与监控:全球发展、挑战与未来趋势

导言 智能化安防与监控系统在全球范围内得到广泛应用&#xff0c;成为社会安全和公共管理的重要工具。本文将深入研究其发展历程、遇到的问题及解决过程、未来的可用范围&#xff0c;以及在各国的应用和未来的研究趋势&#xff0c;以探讨在哪些方面能取胜&#xff0c;并在哪些方…

uniapp-uni-icons组件@click.stop失败解决~

你们好&#xff0c;我是金金金。 场景 可以看见我右侧有两个icon&#xff0c;点击的时候 会影响到折叠面板的打开&#xff0c;这让我很是苦恼&#xff0c;然后我使用了click.stop修饰符阻止事件冒泡 排查 排查之前我先贴一下代码 报错截图 可以看到找不到属性stopPropagation&…

【逆向分析篇】APK逆向脱壳过程

【逆向分析篇】APK逆向脱壳过程 简单写下Android应用&#xff08;APK&#xff09;的逆向脱壳过程—【蘇小沐】 文章目录 【逆向分析篇】APK逆向脱壳过程&#xff08;一&#xff09;Apk的文件结构1、META-INF目录1&#xff09;MANIFEST.MF文件2&#xff09;CERT.SF文件3&#x…

HackTheBox - Medium - Windows - Aero

Aero 这个机器利用了今年比较新的cve&#xff0c;关于windows11的漏洞&#xff0c;类似于lnk、scf&#xff0c;但这个危害更高&#xff0c;通过易受攻击的windows11 利用theme、msstyles来实现RCE. Aero 是一台中等难度的 Windows 机器&#xff0c;最近有两个 CVE&#xff1a;…

手把手教你创建一个实时互动的AI数字人直播间!

数字人是什么&#xff1f;数字人是利用人工智能技术实现与真人直播形象的1:1克隆&#xff0c;即克隆出一个数字化的你自己&#xff0c;包括你的形象、表情、动作和声音都会被克隆下来&#xff0c;让你能够拥有接近真人的表现力。 1.首先您需要独立部署青否数字人SaaS系统&#…

2023 英特尔On技术创新大会直播 | 窥探未来科技的边界

2023 英特尔On技术创新大会直播 | 窥探未来科技的边界 写在最前面观后感其他有趣的专题课程 写在最前面 嘿&#xff0c;你是不是对科技和创新充满好奇&#xff1f;2023 英特尔 On 技术创新大会线上活动邀请你一起探索最前沿的科技世界&#xff01; 这不仅是一场普通的聚会&…

关于“Python”的核心知识点整理大全31

目录 12.4.2 在屏幕上绘制飞船 alien_invasion.py ​编辑12.5 重构&#xff1a;模块 game_functions 12.5.1 函数 check_events() game_functions.py alien_invasion.py 12.5.2 函数 update_screen() game_functions.py alien_invasion.py 12.6 驾驶飞船 12.6.1 响应…

CVE-2023-33246 RocketMQ RCE漏洞

一、RocketMQ简介 RocketMQ是一款纯java、分布式、队列模型的开源消息中间件&#xff0c;主要用于在分布式系统中进行异步消息传递&#xff0c;支持事务消息、顺序消息、批量消息、定时消息、消息回溯等功能。 RocketMQ有四个核心组成部分&#xff1a; NameServer&#xff1…

HTML5刷题笔记

在 HTML5 中&#xff0c;onblur 和 onfocus 是&#xff1a;事件属性 onblur 和 onfocus 属于焦点事件&#xff1a; onblur&#xff1a;失去焦点 onfocus&#xff1a;获取焦点 HTML5事件window 事件属性 针对 window 对象触发的事件&#xff1a; onafterprint script 文档…

数据结构课程设计

计算机科学与技术系 《数据结构课程设计》评分表 设计题目 39. 如下图所示&#xff0c;编写可视化算法将从顶点v能到达的最短路径长度为k的所有顶 点标记为红色&#xff08;最短路径以路径上的边数计算&#xff09;。 成绩 课 程 设 计 主 要 内 容 内容编写可视化算…

《网络设备配置与管理》综合训练,华为ensp测试,MSTP\VRRP\OSPF\RIP\BGP\路由引入

1.设备基础信息配置 &#xff08;1&#xff09;根据表2IPv4地址分配表&#xff0c;修订所有设备名称。 &#xff08;2&#xff09;根据公司网络规划&#xff0c;在所有交换机上创建VLAN10、VLAN20。为了保证不同交换机上的同一个VLAN的成员之间能够相互通信&#xff0c;需要配…

同一个数组中对象去重

封装方法 fn1 (tempArr) {this.echartList.map(item > {for (let i 0; i < item.data.length; i) {for (let j i 1; j < item.data.length; j) {if (item.data[i].deviceId item.data[j].deviceId && item.data[i].time item.data[j].time && it…