【机器学习】038_梯度消失、梯度爆炸

一、原因

神经网络梯度

· 假设现在有一个 d 层的神经网络,每层的输出为一个对输入作 f_t 变换的函数结果

· 用 h^t 来表示第 t 层的输出,那么有下列公式:

h^t = f_t(h^{t-1})

· 链式法则计算损失 l 关于某一层某个参数 w_t 的梯度:

\frac{\partial l}{\partial w_t}=\frac{\partial l}{\partial h^d}\frac{\partial h^d}{\partial h^{d-1}}...\frac{\partial h^t}{\partial w_t}

· 注意到,h^t 为向量,这相当于一个 d-t 次的矩阵乘法

这个传递可能造成以下问题:

· 假设每次的梯度为1.5,但随着神经网络的规模变大,往后传递过去可能就有 1.5^{100}=4*10^{17} 这么大,从而产生梯度爆炸。

· 假设每次的梯度为0.8,同样的道理,传递过去可能有 0.8^{100}=2*10^{-10} 这么小,从而使模型最后的变化幅度很小,出现梯度消失。

二、梯度消失

假设用sigmoid函数作为激活函数

· 导数的问题是,当输入相对较大或者较小时,求导计算之后,每次向上传递的梯度会变得很小

· 累乘起来之后,这个值可能就会变得更小

可能造成的问题:

· 梯度值非常接近0,使得模型无法训练,每次训练改变幅度非常小

· 在神经网络较深时,对于底部层尤为严重

        · 反向传播时,顶部的训练可能较好,拿到的梯度较正常

        · 越到底部,梯度越小,底部层无法训练,使得神经网络无法变深

三、梯度爆炸

假设我们使用ReLU函数作为隐藏层的激活函数

· ReLU激活函数的导数会使大于0的输出求导后都是1,小于等于0的输出求导后都是0

· 首先将链式法则的求导公式代入ReLU激活函数转化一下,得到下式

· 这时,h^{t-1} 与 w_t 相乘后再在ReLU函数里求导的结果就是0或1,那么每次传递的就是 w_t 转置值

· 如果中间层 d-t 很大,那么最后累乘的结果就会很大,最终导致梯度爆炸

可能造成的问题:

· 值超过上限(如16位浮点数,可能数值上溢)

· 对学习率非常敏感

        · 若学习率较大—大参数值—更大的梯度

        · 若学习率较小—训练效果小

        · 需要不断调整学习率

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

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

相关文章

【NI-RIO入门】CompactRIO介绍及环境安装

CompactRIO是什么? CompactRIO系统提供了高处理性能、传感器专用I/O和紧密集成的软件工具,使其成为工业物联网、监测和控制应用的理想之选。实时处理器提供可靠,可预测的行为,而FPGA在需要高速逻辑和精确定时的较小任务上表现出色…

11.20 知识总结(choices参数、MVC和MTV的模式、Django与Ajax技术)

一、 choices参数的使用 1.1 作用 针对某个可以列举完全的可能性字段,我们应该如何存储 .只要某个字段的可能性是可以列举完全的,那么一般情况下都会采用choices参数 1.2 应用场景 应用场景: 学历: 小学 初中 高中 本科 硕士…

MATLAB | 官方举办的动图绘制大赛 | 第二周赛情回顾

今天带来一下MATHWORKS官方举办的迷你黑客大赛第三期(MATLAB Flipbook Mini Hack)的最新进展!!目前比赛已经进行了两周非常荣幸能够成为第一周的阶段性获奖者: 本来并不打算每周进行一次赛况讲解,但是由于字符限制改成了2000&…

【MySql】13- 实践篇(十一)

文章目录 1. 自增主键为什么不是连续的?1.1 自增值保存在哪儿?1.2 自增值修改机制1.2.1 自增值的修改时机1.2.2 自增值为什么不能回退? 1.3 自增锁的优化1.3.1 自增锁设计历史 2. Insert语句为何很多锁?2.1 insert … select 语句2.2 insert 循环写入2…

Revive开发商加入VR开源标准OpenXR

导读作为一款能让HTC Vive用户玩到Oculus平台游戏的软件,它的开发商CrossVR今日宣布即将加盟为VR和AR应用程序开源组织,即OpenXR。 由Khronos Group引领的OpenXR旨在创建一个标准化且免版税的应用程序编程接口(API),该…

60 权限提升-MYMSORA等SQL数据库提权

目录 数据库应用提权在权限提升中的意义WEB或本地环境如何探针数据库应用数据库提权权限用户密码收集等方法目前数据库提权对应的技术及方法等 演示案例Mysql数据库提权演示-脚本&MSF1.UDF提权知识点: (基于MYSQL调用命令执行函数)读取数据库存储或备份文件 (了…

Linux内核的安装

1.通过tftp 加载内核和根文件系统 即sd内存卡启动: SD卡的存储以扇区为单位,每个扇区的大小为512Byte, 其中零扇区存储分区表(即分区信息),后续的扇区可自行分区和格式化; 若选择SD卡启动,处理器上电后从第一个扇区开…

车载毫米波雷达行业发展3——市场

3.1 车载毫米波雷达市场分析 中国市场乘用车智能化程度不断提高,车载毫米波雷达市场快速增长。2023 年 1-6 月, 毫米波雷达搭载量达到937.92万颗,同比增长26.36%,其中,前向毫米波雷达搭载量459.29 万颗,同…

C++设计模式——单例模式

单例设计模式 应用场景特点设计模式分类懒汉设计模式饿汉设计模式使用编写的测试代码运行结果 应用场景 当多个类都需要调用某一个类的一些公共接口,同时不想创建多个该类的对象,可以考虑将该类封装为一个单例模式。 特点 单例模式的特点:…

Python编程技巧 – 使用字典

Python编程技巧 – 使用字典 Python Programming Skills – Using Dictionary Dictionary, 即字典,这是Python语言的一种重要的数据结构;Python字典是以键(key)值(value)对为元素,来存储数据的集合。 前文提到Python列…

【CHI】Ordering保序

本节介绍CHI协议所包含的支持系统保序需求的机制,包括: • Multi-copy atomicity • Completion response and ordering • Completion acknowledgment • Transaction ordering 一、 Multi-copy atomicity CHI协议中所使用的memory model要求为mu…

uniapp开发小程序,包过大解决方案

1、首先和大家说一下 微信小程序 主包限制不能超过2M 分包一共不能超过8M 然后具体解决优化步骤如下, 将主包进行分包 在pages.json 下subPackages里面进行配置分包 分包配置完 配置过的文件都需要进行修改对应的路径 2 、 在运行的时候 一定要勾选 压缩代码 有…

【前端学java】java中的日期操作(12)

往期回顾: 【前端学java】JAVA开发的依赖安装与环境配置 (0)【前端学 java】java的基础语法(1)【前端学java】JAVA中的packge与import(2)【前端学java】面向对象编程基础-类的使用 &#xff08…

pyQt主界面与子界面切换简易框架

本篇来介绍使用python中是Qt功能包,设置一个简易的多界面切换框架,实现主界面和多个子界面直接的切换显示。 1 主界面 设计的Demo主界面如下,主界面上有两个按钮图标,点击即可切换到对应的功能界面中,进入子界面后&a…

江湖再见,机器视觉兄弟们,我已经提离职了,聪明的机器视觉工程师,离职不亏本!

我闻江湖已叹息,又闻人间繁闹闹。同为布衣沦落人,相逢何必曾相识。 此生谁料事事休,道不尽人情冷暖,聚散离合总平常,不似勇气少年时。 我估计今年公司年底是发不出工资了,因为订单续不上。年终奖更是没有&…

vscode 设置vue3 通用页面模板

实现效果&#xff1a; 实现步骤&#xff1a; 1.在项目的 .vscode 目录下创建一个名为 vue3.2.code-snippets 的文件&#xff0c;它是一个 JSON 格式的代码片段文件 {"Vue3.2快速生成模板": {"prefix": "Vue3.2","body": ["<…

万字解析设计模式之代理模式

一、代理模式 1.1概述 代理模式是一种结构型设计模式&#xff0c;它允许通过创建代理对象来控制对其他对象的访问。这种模式可以增加一些额外的逻辑来控制对原始对象的访问&#xff0c;同时还可以提供更加灵活的访问方式。 代理模式分为静态代理和动态代理两种。静态代理是在编…

python循环语句

1、while循环 格式&#xff1a; while 判断条件&#xff1a; 执行语句 例子&#xff1a;使用while来计算1到100的总和 无限循环&#xff1a;通过设置条件表达式永远不为false while循环使用else语句&#xff1a;当while后面的条件语句为false时&#xff0c;则执行else的语句…

从入门到精通,mac电脑录屏软件使用教程!

“mac电脑怎么录屏呀&#xff0c;刚买了一台mac电脑&#xff0c;用了几个月感觉挺流畅的&#xff0c;最近因为工作原因&#xff0c;需要用到录屏功能&#xff0c;但是我不会操作&#xff0c;想问问大家有没有简单易懂的录屏教程&#xff0c;谢谢啦。” 在日常生活中&#xff0…

某60区块链安全之不安全的随机数实战二学习记录

区块链安全 文章目录 区块链安全不安全的随机数实战二实验目的实验环境实验工具实验原理实验内容EXP利用 不安全的随机数实战二 实验目的 学会使用python3的web3模块 学会以太坊不安全的随机数漏洞分析及利用 实验环境 Ubuntu18.04操作机 实验工具 python3 实验原理 由…