转载大神的文章。感觉写的通俗易懂

https://blog.csdn.net/sinat_33741547/article/details/87158830

具体计算的方法可以看我的博客https://blog.csdn.net/gbz3300255/article/details/107997814

在训练过程中,随着网络加深,分布逐渐发生变动,导致整体分布逐渐往激活函数的饱和区间移动,从而反向传播时底层出现梯度消失,也就是收敛越来越慢的原因。

说白了Normalization就是为了解决上面问题,不让梯度往激活函数的饱和区移动

而Normalization则是把分布强行拉回到均值为0方差为1的标准正态分布,使得激活输入值落在非线性函数对输入比较敏感的区域,这样输入的小变化就会导致损失函数较大的变化,避免梯度消失问题产生,加速收敛,如下:

如上,假设正态分布均值是-2,方差是0.5,如上图绿色曲线,通过标准化操作转换为均值为0,方差为1的正态分布,如上图红色曲线。
实际上是将输入x的取值正态分布整体右移2(均值变化),图形曲线更平缓了(方差变化)。那么这么做的好处是什么呢?

图为标准正态分布的图形,可以看到,在一个标准差范围,有68%的概率x其值落在[-1,1]的范围内;在两个标准差范围,有95%的概率x其值落在了[-2,2]的范围内,假如这就是需要进行激活的分布,激活函数为sigmoid,如下:

可以看到,在[-2, 2]的范围内,即是标准正态分布两个标注差范围内,在sigmoid函数中为线性变换区域,微小的变化就能得到很大的改变,也即是梯度比较大。
如果不经过变换,存在一个均值为-6,方差为1的分布,对应到激活函数中就是[-8, -4]的区域,这已经是饱和区了,这也就是所谓的梯度消失。

所以标准化其实就是把大部分激活的值落入非线性函数的线性区内,其对应的导数远离导数饱和区,这样来加速训练收敛过程。饱和区就是梯度接近消失的区域。

Normalization如何解决梯度消失相关推荐

  1. 如何解决梯度消失和梯度爆炸?

    何为梯度消失,梯度爆炸? 目前优化神经网络的方法都是基于反向传播的思想,即根据损失函数计算的误差通过梯度反向传播的方式,指导深度网络权值的更新优化.这样做是有一定原因的,首先,深层网络由许多非线性层堆 ...

  2. RNN梯度消失和爆炸的原因 以及 LSTM如何解决梯度消失问题

    RNN梯度消失和爆炸的原因 经典的RNN结构如下图所示: 假设我们的时间序列只有三段,  为给定值,神经元没有激活函数,则RNN最简单的前向传播过程如下: 假设在t=3时刻,损失函数为  . 则对于一 ...

  3. RNN梯度爆炸原因和LSTM解决梯度消失解释

    RNN梯度爆炸原因: 经典的RNN结构如下图所示: 假设我们的时间序列只有三段, 为给定值,神经元没有激活函数,则RNN最简单的前向传播过程如下: 假设在t=3时刻,损失函数为 . 则对于一次训练任务 ...

  4. LSTM解决梯度消失问题

    "LSTM 能解决梯度消失/梯度爆炸"是对 LSTM 的经典误解. 1.首先需要明确的是,RNN 中的梯度消失/梯度爆炸和普通的 MLP 或者深层 CNN 中梯度消失/梯度爆炸的含 ...

  5. 【深度学习笔记】Batch Normalization 以及其如何解决梯度消失问题

    前言 Batch Normalization作为最近一年来DL的重要成果,已经广泛被证明其有效性和重要性.目前几乎已经成为DL的标配了,任何有志于学习DL的同学们朋友们雷迪斯俺的詹特曼们都应该好好学一 ...

  6. 收藏 | 用 Keras 实现神经网络来解决梯度消失的问题

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者 | Jonathan Quijas 编译 | rong ...

  7. LSTM如何解决梯度消失或爆炸的?

    from:https://zhuanlan.zhihu.com/p/44163528 哪些问题? 梯度消失会导致我们的神经网络中前面层的网络权重无法得到更新,也就停止了学习. 梯度爆炸会使得学习不稳定 ...

  8. lstm解决梯度消失

    本人认为: lstm只能缓解梯度消失,并不能完全解决:因为最新的状态单元可以是过去的一个线性组合,过去的信息传递到现在主要是由每个时间步的遗忘门参数连乘决定的: 而rnn是过去时间序列的一个连乘:由参 ...

  9. 解决梯度消失和梯度弥散的方法

    第一个问题:模型过拟合 1.1 什么是过拟合 所谓过拟合(Overfit),是这样一种现象:一个假设在训练数据上能够获得比其他假设更好的拟合,但是在训练数据外的数据集 上却不能很好的拟合数据.此时我们 ...

最新文章

  1. 点云处理不得劲?球卷积了解一下
  2. ubuntu apache2配置详解(含虚拟主机配置方法)
  3. mysql中删除标识列的语句_MySQL中一些常用的数据表操作语句笔记
  4. 对讲机服务器信号不好怎么办呢,手机信号不好是什么原因?该怎么办?教你一招立马解决(绝对有效)...
  5. 【技术解决方案】GitHub本地仓库管理与远程仓库管理
  6. 【视频】Vue作者分享:Vue 3.0 进展
  7. 机器人驾驶的神经网络愿景(上)
  8. 没有绝对的技术,只有不停的创新
  9. MAC PHP Composer
  10. 华中科技大学标准c语言程序设计上机试题,答案及报告格式,华中科技大学标准C语言程序设计上机试题、答案及报告格式.pdf...
  11. 如何在macOS下调整磁盘分区大小
  12. 线程的创建以及线程的本质
  13. 解决RHEL6 vncserver 启动 could not open default font 'fixed'错误.
  14. php 7.x memcache.dll nts,vc15等下载
  15. cpu超线程优缺点_超线程对游戏性能会影响?
  16. 写bat文件,报系统找不到指定文件的处理方式
  17. 《C语言》课程设计——学生成绩统计
  18. 微博微信QQ等开发者平台注册应用时提交签名信息的坑点。
  19. 第二周 半导体器件基础(二)
  20. android检测ibeacon电量,Android检测IBeacon热点的方法

热门文章

  1. 【PCB专题】PCB 阻焊层(solder mask)与助焊层(paste mask)有什么区别
  2. Linux centos7 DNS服务器基于bind正反解析服务的搭建
  3. execute(),executeQuery(),executeUpdate()和executeBatch()的使用与区别
  4. BIM模型到3Dtiles转换后精确定位工作流及存在的问题
  5. 百度账号因安全问题被限制登录,该如何申诉?
  6. Linux命令入门教程(三):文件基础篇
  7. ann flann alglibB最近邻方法时效性探索
  8. 推荐5款Windows桌面效率工具
  9. FreeTpye库学习笔记:将矢量字体解析为位图
  10. 数码相框(四、使用freetype库实现矢量字体显示)