【深度学习笔记】梯度消失与梯度爆炸

本专栏是网易云课堂人工智能课程《神经网络与深度学习》的学习笔记,视频由网易云课堂与 deeplearning.ai 联合出品,主讲人是吴恩达 Andrew Ng 教授。感兴趣的网友可以观看网易云课堂的视频进行深入学习,视频的链接如下:

神经网络和深度学习 - 网易云课堂

也欢迎对神经网络与深度学习感兴趣的网友一起交流 ~

目录

1 梯度消失与梯度爆炸

2 初始化权重


1 梯度消失与梯度爆炸

        训练神经网络,尤其是深度神经网络所面临的一个问题是,梯度消失(Vanish gradient)与梯度爆炸(Explode gradient)。也就是说,当你训练深度网络时,导数或梯度有时会变得非常大,或非常小,甚至以指数方式变小,这加大了训练的难度。

        假设你正在训练这样一个极深的神经网络,为了简单起见,假设使用激活函数 g(z) = z,那么输出 y 等于各层权重的矩阵乘积作用在输入 x 上。

 

假设前 L-1 层的权重都取如下矩阵

 那么最后的输出 \hat{y} 为

         对于深度神经网络来说,L 的值很大,那么激活函数的输出也很大,并且以指数级增长;相反地,如果对角线上的权重是 0.5,激活函数的输出将以指数级递减。对应地梯度下降法的步长会变得非常大,或非常小,不利于梯度下降算法的计算过程。

2 初始化权重

        针对深度神经网络的梯度消失与梯度爆炸问题,有一种不完整的解决方案,虽然不能解决问题,但是能帮助我们谨慎地选择初始化权值。

 

        对于单个神经元的模型,假如有 n 个输入特征。为了防止 z 的值过大,在 n 值越大时,我们希望各层的权重 wi 越小,最合理的权重初始化方法是,使 wi 的方差 Var(wi) = 1/n,实现代码为

W = np.random.randn(X.shape) * np.sqrt(1/n)

如果激活函数使用 ReLU,那么设置 Var(wi) = 2/n,效果会更好。

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

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

相关文章

udx大带宽大延迟网络与xquic bbr, tcp bbr实测比较

quic在其白皮书中声称可以在大延迟大带宽网络中表现良好,为此我对比过目前xq,lsq,pq几种实现,因为这些都是开源项目通过不断的折腾,向这方面研究的同学索取不同版本的实现进行实际测试。 经过,对不同国家的主机,到国内…

Meta分析在生态环境领域里的应用

Meta分析(Meta Analysis)是当今比较流行的综合具有同一主题的多个独立研究的统计学方法,是较高一级逻辑形式上的定量文献综述。20世纪90年代后,Meta分析被引入生态环境领域的研究,并得到高度的重视和长足的发展&#x…

东方通信基于 KubeSphere 的云计算落地经验

作者:周峰 吴昌泰 公司简介 东方通信股份有限公司(以下简称“东方通信”)创立于 1958 年,是一家集硬件设备、软件、服务为一体的整体解决方案提供商。公司于 1996 年成功改制上市,成为上海证交所同时发行 A 股和 B 股…

linux之Ubuntu系列(五)用户管理、查看用户信息 终端命令

创建用户 、删除用户、修改其他用户密码的终端命令都需要通过 sudo 执行 创建用户 设置密码 删除用户 sudo useradd -m -g 组名 新建用户名 添加新用户 -m:自动建立用户 家目录 -g:指定用户所在的组。否则会建立一个和用户同名的组 设置新增用户的密码&…

Vue-Router相关理解4

两个新的生命周期钩子 activated和deactivated是路由组件所独有的两个钩子&#xff0c;用于捕获路由组件的激活状态具体使用 activated路由组件被激活时触发 deactivated路由组件失活时触发 src/pages/News.vue <template><ul><li :style"{opacity}&qu…

自洽性改善语言模型中的思维链推理

自洽性改善语言模型中的思维链推理 摘要介绍对多样化路径的自洽实验实验设置主要结果当CoT影响效率时候&#xff0c;SC会有所帮助与现有方法进行比较附加研究 相关工作总结 原文&#xff1a; 摘要 本篇论文提出了一种新的编码策略——自洽性&#xff0c;来替换思维链中使用的…

对Element DatePicker时间组件的封装,时间组件开始时间和结束时间绑定

背景 我们时常有时间范围选择&#xff0c;需要选择一个开始时间和一个结束时间给后端&#xff0c;但我们给后端的是两个字段&#xff0c; 分别是开始时间和结束时间&#xff0c;现在使用element绑定的值是一个数组&#xff0c;我们还要来回处理&#xff0c;很麻烦列表也的查询…

解决appium-doctor报ffmpeg cannot be found

一、下载ffmpeg安装包 https://ffmpeg.org/download.html 找到如图所示红框位置点击下载ffmpeg安装包。 二、配置ffmpeg环境变量 三、检查ffmpeg版本信息 重新管理员打开dos系统cmd命令提示符&#xff0c;输入ffmpeg查看是否出现版本信息&#xff0c;安装完好。 ffmpeg

面试题:redis是单线程、StringBuffer是线程安全的

1、说明String 和StringBuffer的区别 类底层/ 可变&#xff1f;线程安全Stringfinal char[] 不可变是StringBuffer char[] 可变 是&#xff08;synchronized方法&#xff09;StringBuilder char[] 可变否 (4条消息) Java基础&#xff1a;String、StringBuffer、…

Selenium自动化之弹窗处理

1.前言 我们在使用Selenium做Web自动化测试时&#xff0c;页面经常出现弹窗&#xff0c;如果不处理后续的测试脚本就无法正常运行&#xff0c;今天我们就带大家一起来学习如何处理Web页面上的弹窗。 2.Web页面弹窗的分类 弹窗通常有3种&#xff1a;Alert类型弹框、Confirm类…

【操作系统】Liunx项目自动化构建工具-make/Makefile

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员&#xff0c;2024届电子信息研究生 目录 一、背景 二、Makefile 实现 Makefile依赖 依赖关系 makefile的工作原理 项目清理 补充&#xff1a; .PHONY是什么&#xff1f; Linux如何进行多行注释&#xff1a; 说明&#xf…

微服务部署架起App运维的高速通道

今天来说下微服务&#xff0c;我们知道微服务在 App 开发中具备模块化开发、独立部署扩展、问题隔离等特点&#xff0c;这种微服务架构模式能够使应用程序更具弹性、可扩展和可维护&#xff0c;能够更好地应对快速变化的需求和规模的增长。 准备通过系统的梳理说一说微服务部署…