1、为什么随着网络深度增加,神经网络训练越来越慢呢?

因为深层神经网络在做非线性变换前的激活输入值,随着网络深度加深或者在训练过程中,其分布逐渐发生偏移或者变动。训练收敛慢,一般是因为整体分布逐渐往非线性函数的取值区间的上下限两端靠近,这导致反向传播时低层神经网络的梯度消失,这是训练深层神经网络收敛越来越慢的本质原因。

2、BN(Batch Normalization)的基本思想

BN不仅仅对输入层做标准化处理,还对网络的每一中间层的输入(激活函数前)做标准化处理,使得输出服从均值为0,方差为1的正态分布,从而避免变量分布偏移的问题。之所以称之为标准化,是因为在训练期间,我们仅通过计算当前层一小批数据的均值和方差来标准化每一层的输入。相当于把每层神经网络任意神经元这个输入值的分布强行拉回到均值为0,方差为1的标准正态分布。

3、Batch Normalization的优点

(1)避免梯度消失和梯度爆炸。把越来越偏的分布强制拉回比较标准的分布,这样使得激活输入值落在非线性函数对输入比较敏感的区域,这样输入的小变化就会导致损失函数较大的变化,这样可以让梯度变大,避免梯度消失问题产生,而且梯度变大意味着学习收敛速度快,能大大加快训练速度。

(2)加快训练速度。

(3)提高模型泛化能力。因为批量标准化不是应用在整个数据集,而是mini-batch上,会产生一些噪声,可以提高模型泛化能力。

4、参考文章:

https://blog.csdn.net/mzpmzk/article/details/80043076

https://www.cnblogs.com/carlber/p/10752240.html

批量正则化Batch Normalization相关推荐

  1. 神经网络中的批量归一化Batch Normalization(BN)原理总结

    0.概述 深层神经网络存在的问题(从当前层的输入的分布来分析):在深层神经网络中,中间层的输入是上一层神经网络的输出.因此,之前的层的神经网络参数的变化会导致当前层输入的分布发生较大的差异.在使用随机 ...

  2. BN(Batch Normalization):批量归一化

    现在的神经网络通常都特别深,在输出层像输入层传播导数的过程中,梯度很容易被激活函数或是权重以指数级的规模缩小或放大,从而产生"梯度消失"或"梯度爆炸"的现象,造 ...

  3. 【文章阅读】BN(2015)理解Batch Normalization批标准化

    Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift Brief 该 ...

  4. 『Batch Normalization』Batch Normalization一文吃透

    Batch Normalization 协变量偏移 神经网络前向传播 引起的问题 Batch Normalization的登场 为什么存在 β \beta β和 γ \gamma γ? 预测时如何使用 ...

  5. 偏差与方差、L1正则化、L2正则化、dropout正则化、神经网络调优、批标准化Batch Normalization(BN层)、Early Stopping、数据增强

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 3.2 深度学习正则化 3.2.1 偏差与方差 3.2.1.1 ...

  6. Batch Normalization批量归一化

    深度学习捷报连连.声名鹊起,随机梯度下降成了训练深度网络的主流方法.尽管随机梯度下降法对于训练深度网络简单高效,但是它有个毛病,就是需要我们人为的去选择参数,比如学习率.参数初始化.权重衰减系数.Dr ...

  7. 深度学习 --- 优化入门四(Batch Normalization(批量归一化)一)

    前几节我们详细的探讨了,梯度下降存在的问题和优化方法,本节将介绍在数据处理方面很重要的优化手段即批量归一化(批量归一化). 批量归一化(Batch Normalization)并不能算作是一种最优化算 ...

  8. 局部响应归一化(Local Response Normalization,LRN)和批量归一化(Batch Normalization,BN)的区别

    为什么要归一化? 归一化已成为深度神经网络中的一个重要步骤,它可以弥补ReLU.ELU等激活函数无界性的问题.有了这些激活函数,输出层就不会被限制在一个有限的范围内(比如tanh的[−1,1][-1, ...

  9. 批标准归一化(Batch Normalization)解析

    1,背景 网络一旦train起来,那么参数就要发生更新,除了输入层的数据外(因为输入层数据,我们已经人为的为每个样本归一化),后面网络每一层的输入数据分布是一直在发生变化的,因为在训练的时候,前面层训 ...

最新文章

  1. 伦敦大学学院开源物体级语义SLAM!支持单/双目+LiDAR!
  2. Asp.net内置对象之Cookies
  3. linux 分析 ptrace
  4. [备忘]macOS和Windows下很赞的软件
  5. batch normalization的原理和作用_springboot自动配置原理
  6. 零基础在学习Java时如何才能打好基础呢
  7. how to get line number of given ABAP source code
  8. 机器学习模型的性能指标
  9. 【推荐】飞鸽传书2013官方下载
  10. 为DbHelper工具类添加关闭资源的方法 jdbc 20210412_212728.mp4
  11. Java 基础-面试题
  12. Hexo 入门指南(三) - 文章 草稿
  13. Unity实现IOS原生分享
  14. Java写的一个二叉树三种遍历递归算法(仅用作理解三种遍历)
  15. letter-spacing和word-spacing之间的区别
  16. 细说面试│产品经理面试快速上岸
  17. 平面阵列天线的3D方向图的Python综合
  18. php微信公众号群发,php实现微信公众号无限群发,php信公众群发
  19. 当元宇宙撞上赛博文化 | 成为「大创夜家」
  20. (新SOTA)UNETR++:轻量级的、高效、准确的共享权重的3D医学图像分割

热门文章

  1. 关于EI计算机视觉投稿
  2. 水滴筹、轻松筹死磕健康保
  3. python实例练习(12)身体质量指数BMI计算
  4. Macbook Pro开机黑屏如何自查问题
  5. linux终端关闭xmanager,xmanager功能和设置
  6. 《28岁未成年》感悟——永远不要失去自我
  7. MTK平台如何决定SensorMode
  8. 在Dreamweaver 中应用模板
  9. html text-decoration,text-decoration 属性
  10. C# Dev利用TreeList设置菜单导航并双击节点打开模块窗体