6、多层感知机:数值稳定性和模型初始化

news2025/1/6 19:22:30

1、数值稳定性

考虑一个具有 L L L层、输入 x \mathbf{x} x和输出 o \mathbf{o} o的深层网络。每一层 l l l由变换 f l f_l fl定义,该变换的参数为权重 W ( l ) \mathbf{W}^{(l)} W(l),其隐藏变量是 h ( l ) \mathbf{h}^{(l)} h(l)(令 h ( 0 ) = x \mathbf{h}^{(0)} = \mathbf{x} h(0)=x)。我们的网络可以表示为:

h ( l ) = f l ( h ( l − 1 ) )  因此  o = f L ∘ … ∘ f 1 ( x ) . \mathbf{h}^{(l)} = f_l (\mathbf{h}^{(l-1)}) \text{ 因此 } \mathbf{o} = f_L \circ \ldots \circ f_1(\mathbf{x}). h(l)=fl(h(l1)) 因此 o=fLf1(x).

如果所有隐藏变量和输入都是向量,我们可以将 o \mathbf{o} o关于任何一组参数 W ( l ) \mathbf{W}^{(l)} W(l)的梯度写为下式:

∂ W ( l ) o = ∂ h ( L − 1 ) h ( L ) ⏟ M ( L ) = d e f ⋅ … ⋅ ∂ h ( l ) h ( l + 1 ) ⏟ M ( l + 1 ) = d e f ∂ W ( l ) h ( l ) ⏟ v ( l ) = d e f . \partial_{\mathbf{W}^{(l)}} \mathbf{o} = \underbrace{\partial_{\mathbf{h}^{(L-1)}} \mathbf{h}^{(L)}}_{ \mathbf{M}^{(L)} \stackrel{\mathrm{def}}{=}} \cdot \ldots \cdot \underbrace{\partial_{\mathbf{h}^{(l)}} \mathbf{h}^{(l+1)}}_{ \mathbf{M}^{(l+1)} \stackrel{\mathrm{def}}{=}} \underbrace{\partial_{\mathbf{W}^{(l)}} \mathbf{h}^{(l)}}_{ \mathbf{v}^{(l)} \stackrel{\mathrm{def}}{=}}. W(l)o=M(L)=def h(L1)h(L)M(l+1)=def h(l)h(l+1)v(l)=def W(l)h(l).

换言之,该梯度是 L − l L-l Ll个矩阵 M ( L ) ⋅ … ⋅ M ( l + 1 ) \mathbf{M}^{(L)} \cdot \ldots \cdot \mathbf{M}^{(l+1)} M(L)M(l+1)与梯度向量 v ( l ) \mathbf{v}^{(l)} v(l)的乘积。因此,我们容易受到数值下溢问题的影响.当将太多的概率乘在一起时,这些问题经常会出现。 在处理概率时,一个常见的技巧是切换到对数空间,即将数值表示的压力从尾数转移到指数。 不幸的是,上面的问题更为严重:最初,矩阵 M ( l ) \mathbf{M}^{(l)} M(l) 可能具有各种各样的特征值。他们可能很小,也可能很大;他们的乘积可能非常大,也可能非常小。

不稳定梯度带来的风险不止在于数值表示;不稳定梯度也威胁到我们优化算法的稳定性。我们可能面临一些问题。要么是梯度爆炸(gradient exploding)问题:参数更新过大,破坏了模型的稳定收敛;要么是梯度消失(gradient vanishing)问题:参数更新过小,在每次更新时几乎不会移动,导致模型无法学习。

1. 梯度爆炸

当梯度越来越大时,由于链式法则的作用会让这种变化越来越强,梯度会变得更大,最终导致梯度爆炸。
在这里插入图片描述
多个数值相乘,越乘越大。
在这里插入图片描述

2. 梯度消失

当梯度越来越小时,由于链式法则的作用会让这种变化越来越强,梯度会变得更小,最终导致梯度消失,模型参数不会有过多的更新。
在这里插入图片描述
sigmoid的取值范围在(0, 1),两侧区域“饱和”,梯度趋近于0。
在这里插入图片描述
多个数值相乘,越乘越小。
在这里插入图片描述

3. 解决方法

在这里插入图片描述

2、参数初始化

在这里插入图片描述

1. 默认初始化

在前面的部分中,例如我们使用正态分布来初始化权重值。如果我们不指定初始化方法, 框架将使用默认的随机初始化方法,对于中等难度的问题,这种方法通常很有效。

2. Xavier初始化

Xavier初始化的一个目的就是使前向传播和反向传播过程中每一层的输入和输出都具有相似的分布即输入和输出的方差相同。Xavier初始化表明,对于每一层,输出的方差不受输入数量的影响,任何梯度的方差不受输出数量的影响。

Xavier初始化的基本思想是保持输入和输出的方差一致,这样就避免了所有输出值都趋向于0,使得网络中信息可以更好的流动。

参考文章:4.8. 数值稳定性和模型初始化、Xavier初始化、深度学习之参数初始化(一)——Xavier初始化

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

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

相关文章

Java BaseDao

1.创建t_house、t_user、t_address表 t_house t_user表 t_address表 2.创建实体类 House类 User类 Address类 3.创建BaseDao工具类 4.创建HouseDao接口 5.创建HouseDaoImpl实现类 6.创建HouseService接口 7.创建HouseServiceImpl实现类 8.创建Test001测试类

kubectl详解之陈述式资源管理方法

目录 一、陈述式资源管理方法二、基本信息查看2.1 创建 kubectl create命令2.2 发布 kubectl expose命令2.3 service 的 type 类型2.4 K8s 如何查看 Pod 崩溃前的日志?2.5 更新 kubectl set 命令2.6 滚动更新详解2.7 回滚 kubectl rollout2.8 删除 kubectl delete 一…

用IPV6地址远程连接服务器端(Linux系统)

环境:centos7、防火墙放行、selinux放行 目的:用ipv6,ssh远程访问服务器 修改/etc/ssh/sshd_config(记得重启服务) 查看服务端的ipv6(我有两张网卡,记住内网卡ens34的ipv6地址) [r…

【解决openGauss安装后yum、ssh命令无法使用】

【解决openGauss安装后yum、ssh命令无法使用】 🔻 一、操作系统及数据库版本🔰 1.1 操作系统版本🔰 1.2 openGauss数据库版本 🔻 二、关于openGauss安装🔻 三、问题详情🔰 3.1 使用yum命令报错&#x1f530…

学习Vue3——To全家桶

toRef 如果原始对象是非响应式的&#xff0c;就不会更新视图&#xff0c; 数据是会变的 <template><div>{{ person }}</div><div>{{ name }}</div><button click"change">修改</button> </template><script se…

数据跨度长达10年!这款Android 应用遭重大数据泄露

据The Hacker News 6月29日消息&#xff0c;一款基于 Android 的手机监控应用程序LetMeSpy披露了一个安全漏洞&#xff0c;该漏洞已导致未经授权的第三方窃取了数千名用户的敏感数据。 LetMeSpy 在其网站上发布的公告中声称&#xff0c;通过此次攻击&#xff0c;攻击者获得了用…

javafx实现图片缩放和拖动

目录 前言方式一方式二1.带有滚动条的缩放&#xff08;1&#xff09;代码&#xff08;2&#xff09;效果 2.fxml 布局java代码(1) fxml 布局文件(2) java 代码(3) 效果 前言 本文使用的是 jdk8 的 javafx 运行实现的图片缩放操作效果。 方式一 通过改变 ImageView 的 FitHei…

element 日期选择器下拉框被覆盖

解决&#xff1a;在对应下拉框el-select 标签 添加calss属性即可。此方法不仅适用于日期下拉框&#xff0c;适用于所有下拉框 class"dropdownbox" .dropdownbox{ z-index: 10001 !important; } 图片来自&#xff1a;element ui 时间筛选样式遮盖问题修复_代码搬运媛…

Jmeter接口测试:jmeter导入和导出接口的处理

JMeter测试导入接口 利用Jmeter测试上传文件&#xff0c;首先可根据接口文档或者fiddler抓包分析文件上传的接口&#xff1b;如下图&#xff1a; 以下是我通过fiddler所截取的文件上传的接口 1、填写导入接口的信息 查看文件上传栏下的填写信息&#xff1a; 文件名称&#x…

【STM32】软件I2C控制频率

在上一篇文章中&#xff0c;我们已经介绍了整个软件I2C的实现原理&#xff0c;但是也遗留了一个问题&#xff0c;那就是I2C速率的控制&#xff0c;其实就是控制SCL信号的频率。 微秒级延时 在上篇文章中&#xff0c;我们使用了SysTick进行延时&#xff0c;具体如下&#xff1…

分析生态系统服务社会价值问题

生态系统服务是人类从自然界中获得的直接或间接惠益&#xff0c;可分为供给服务、文化服务、调节服务和支持服务4类&#xff0c;对提升人类福祉具有重大意义&#xff0c;且被视为连接社会与生态系统的桥梁。自从启动千年生态系统评估项目&#xff08;Millennium Ecosystem Asse…

飞致云开源社区月度动态报告(2023年6月)

自2023年6月起&#xff0c;中国领先的开源软件公司FIT2CLOUD飞致云将以月度为单位发布《飞致云开源社区月度动态报告》&#xff0c;旨在向广大社区用户同步飞致云旗下系列开源软件的发展情况&#xff0c;以及当月主要的产品新版本发布、社区运营成果等相关信息。 飞致云开源大…

准备项目管理软考前,这份备考经验你不得不看

早上好&#xff0c;我是老原。 5月的全国计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试 &#xff08;简称软考&#xff09;的考试即将开始&#xff0c;不知道大家都准备的如何&#xff1f; 虽然5月考试的报名时间已经过了&#xff0c;但还是有新一波粉丝朋友…

解决微信后台禁用url问题

解决微信后台禁用url问题 由于目前用的平台&#xff0c;域名都没有在微信授权&#xff0c;所以被微信给禁用了&#xff0c;我们现在用一个接口可以绑定域名的平台转发一下&#xff0c;演示选择使用vscode工具&#xff0c;其它有终端的工具亦可。 1. 安装vercel 全局安装verce…

虹科分享|如何防范MOVEit transfer漏洞|高级威胁防御

美国网络安全和基础设施安全局(CISA)承认&#xff0c;它正在向几个联邦机构提供支持&#xff0c;这些机构在Progress(前身为IpSwitch)MOVEit传输解决方案中暴露出漏洞后被攻破。根据CISA发布的一份警报和网络安全公告&#xff0c;CL0P勒索软件团伙一直在积极利用漏洞进行数据外…

SpringBoot + Druid监控 MySQL,慢SQL快速定位,真好用!

我们都使用过连接池&#xff0c;比如C3P0&#xff0c;DBCP&#xff0c;hikari&#xff0c; Druid&#xff0c;虽然HikariCP的速度稍快&#xff0c;但Druid能够提供强大的监控和扩展功能&#xff0c;也是阿里巴巴的开源项目。 Druid是阿里巴巴开发的号称为监控而生的数据库连接…

环肽抑制剂:244082-19-7,CTTHWGFTLC, CYCLIC,属于基质金属蛋白酶 MMP-2 和 MMP-9

文章编辑来自于&#xff1a;陕西新研博美生物科技有限公司MISS.wu​ CTTHWGFTLC, CYCLIC | CAS&#xff1a;244082-19-7| 纯度&#xff1a;95% 结构式&#xff1a; 试剂参数信息&#xff1a; CAS&#xff1a;244082-19-7 外观&#xff08;Appearance&#xff09;&#xff1…

fastadmin框架select下拉框该怎么写(接口数据)

先让大家看一下最终效果&#xff1a; 来上代码&#xff1a; <select id"c-education" data-rule"required" class"form-control selectpicker" name"row[education]">{foreach name"education" item"vo"}&…

【Linux | Shell命令】bash shell 进程、磁盘、文件处理命令

目录 &#x1f384;一、概述&#x1f384;二、进程相关命令✨2.1 ps 命令 —— 查看进程✨2.2 top 命令 —— 实时监测进程✨2.3 kill、pkill 命令 —— 结束进程 &#x1f384;三、磁盘相关命令✨3.1 mount、umount 命令 —— 挂载、卸载命令✨3.2 df 命令 —— 查看磁盘空间✨…

DCompute链下计算外包:只EVM就足够了么?

1. 引言 当前的以太坊L2扩容方案主要有&#xff1a; Optimistic RollupzkRollup&#xff1a;如Polygon zkEVM、Scroll等 这些L2方案仍是基于EVM的。 但游戏、链上订单簿、Web3社交、机器学习、基因组建模等高性能应用是compute-heavy的&#xff0c;对于L2 EVM来说仍是昂贵的…