批归一化是一个深度神经网络训练的技巧,它不仅可以加快了模型的收敛速度,而且更重要的是在一定程度缓解了深层网络中“梯度弥散”的问题,从而使得训练深层网络模型更加容易和稳定。所以目前BN已经成为几乎所有卷积神经网络的标配技巧了。

在BN出现之前,对一批数据{x1,x2……,xn}\{x_1,x_2……,x_n\}{x1​,x2​……,xn​},求均值和方差做归一化。

1.求每一个训练批次数据的均值μ\muμ
2.求每一个训练批次数据的方差σ\sigmaσ
3.使用求得的均值和方差对该批次的训练数据做归一化,获得0-1分布。其中ε是为了避免除数为0时所使用的微小正数。
4.尺度变换和偏移:将xix_ixi​乘以γ调整数值大小,再加上β增加偏移后得到yiy_iyi​,这里的γ是尺度因子,β是平移因子。这一步是BN的精髓,由于归一化后的xi基本会被限制在正态分布下,使得网络的表达能力下降。为解决该问题,我们引入两个新的参数:γ,β。 γ和β是在训练时网络自己学习得到的。

a中左图是没有经过任何处理的输入数据,曲线是sigmoid函数,如果数据在梯度很小的区域,那么学习率就会很慢甚至陷入长时间的停滞。减均值除方差后,数据就被移到中心区域如右图所示,对于大多数激活函数而言,这个区域的梯度都是最大的或者是有梯度的(比如ReLU),这可以看做是一种对抗梯度消失的有效手段。对于一层如此,如果对于每一层数据都那么做的话,数据的分布总是在随着变化敏感的区域,相当于不用考虑数据分布变化了,这样训练起来更有效率。

BN在深层神经网络的作用非常明显:若神经网络训练时遇到收敛速度较慢,或者“梯度爆炸”等无法训练的情况发生时都可以尝试用BN来解决。同时,常规使用情况下同样可以加入BN来加速模型训练,甚至提升模型精度。

ANN中批归一化的意义和在SNN中的转化相关推荐

  1. 突破模糊定性分析,批归一化和权重衰减的球面优化机制

    本文内容整理自 PaperWeekly 和 biendata 在 B 站组织的直播回顾,点击文末阅读原文即可跳转至 B 站收看本次分享完整视频录像,如需嘉宾课件,请在 PaperWeekly 公众号回 ...

  2. 直播 | 旷视研究院最新理论成果:批归一化和权重衰减的球面优化机制

    「PW Live」是 PaperWeekly 的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和交流可能会让知识的传播更加有意义, ...

  3. 【深度学习】深入理解Batch Normalization批归一化

    [深度学习]深入理解Batch Normalization批归一化 转自:https://www.cnblogs.com/guoyaohua/p/8724433.html 这几天面试经常被问到BN层的 ...

  4. 归一化处理公式_数学建模中的数据处理——归一化处理

    关于数据处理,很常见的一个方法就是"去量纲处理",在大家数据处理中经常使用到数据的标准化处理,后边的主成分分析法,因子分析,聚类分析等,都会使用到数据归一化处理.,在此分享一下关于 ...

  5. TensorFlow实现条件批归一化(Conditional Batch Normalization)

    TensorFlow实现条件批归一化(Conditional Batch Normalization) 条件批归一化(Conditional Batch Normalization) TensorFl ...

  6. 批归一化作用_批归一化(Batch Normalization)

    论文:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift Inte ...

  7. 深度学习中的归一化方法简介(BN、LN、IN、GN)

    文章目录 1. 协方差偏移 1.1 协方差偏移的概念 1.2 协方差偏移的影响 2. 归一化的通用框架与基本思想 3. 常见的归一化方法 3.1 Batch Nomalization 3.1.1 什么 ...

  8. 何恺明、吴育昕最新成果:用组归一化替代批归一化

    编译 | 阿司匹林 AI科技大本营按:近日,FAIR 团队的吴育昕和何恺明提出了组归一化(Group Normalization,简称 GN)的方法.其中,GN 将信号通道分成一个个组别,并在每个组别 ...

  9. 批归一化和Dropout不能共存?这篇研究说可以

    https://www.toutiao.com/a6691855920672014852/ 2019-05-17 12:59:22 自批归一化提出以来,Dropout 似乎就失去了用武用地,流行的深度 ...

最新文章

  1. 2020黑客报告:7位道德黑客赏金收入超100万
  2. python解码函数_python2和python3的编码encode解码decode函数
  3. 怎么UI数组惊醒初始化 c语言,C语言教案7-数组.ppt
  4. js控制Iframe 和 iframe与主页的交互,传值 (转载)
  5. 转载 cglib代理和java代理
  6. Flex itemRenderer 内联渲染器
  7. Java性能监控:您应该了解的5个开源工具
  8. Taro+react开发(28)本地用require线上不必
  9. *【POJ - 1860】Currency Exchange (单源最长路---Bellman_Ford算法判正环)
  10. 多线程编程-工具篇-BlockingQueue
  11. 面试常考题目之atoi的实现
  12. sprinboot中编程式事务_SpringBoot系列教程之事务传递属性
  13. 使用VideoView实现简单视频播放器
  14. 【Ansible】Ansible 连接主机显示报错的处理方案
  15. 电脑如何进行长截图?
  16. 若程序员们的“反996协议”实行,会发生什么
  17. 企业微信网页应用开发 - 异步请求
  18. ACL——拒绝源地址
  19. Paper Reading: Re-ranking Person Re-identification with k-reciprocal Encoding
  20. 输入PM2.5的值,输出当日的空气质量

热门文章

  1. YIi 设置 ajax 验证
  2. 【转载】前后端分离的思考与实践(五)
  3. 批处理 安卓一键打包脚本快速解析
  4. 1.2 Coin 项目
  5. Ubuntu 10.04 分辨率调整
  6. web_find()函数检查中文字符串失败的处理方法
  7. 哈工程816计算机专业考研资料,哈尔滨工程大学计算机科学与技术学院816计算机专业基础综合(自命题①数据结构,②计算机组成原理)历年考研真题汇编.pdf...
  8. 五大软件设计原则学习笔记5——依赖倒置原则
  9. PAT乙级(1008 数组元素循环右移问题)
  10. jquery 乱码 传参_jquery ajax传递中文参数乱码问题及解决方法说明