Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift 总结
神经网络存在的问题:
第一:训练深度神经网络的复杂性在于,每层输入的分布在训练过程中会发生变化,因为前面的层的参数在整个训练过程中都会发生变化。
第二:较低的学习率和仔细的参数初始化不仅减慢了训练,并且使具有饱和非线性的模型训练起来非常困难(在反向传播时会引起梯度消失)。这种现象称为内部协变量转移。
在实践中解决这两个问题的方法:
第一:使用relu激活函数(优点:激活区间不受限制;收敛速度快;计算量小;输出均值非0;不饱和)
第二:仔细的初始化(初始化方法:Xavier-tanh; Xavier-ReLU; He-ReLU)
第三:较小的学习率
但是这些方法可能会使模型收敛的非常慢,本文中解决这两个问题的方法:
第一:解决根源问题:内部协变量转移。所以只要每一层网络的输入分布都保持稳定,那么优化器不太可能陷入饱和区域,这样既解决了梯度消失的问题,也加快了模型的收敛速度。
第二:How?
这里参考了一篇解释的不错的博客(https://www.cnblogs.com/skyfsm/p/8453498.html)
第三:Why?
第四:使用小批量数据集进行标准化的优点:使用小批量样本,而不是一次一个样本,在一些方面是有帮助的。(1)小批量数据的梯度损失是训练集上的梯度估计,其质量随着批量增加而改善。(2)由于现代计算平台提供的并行性,对一个批次的计算比单个样本计算m次效率更高。(3)虽然随机梯度是简单有效的,但它需要仔细调整模型的超参数,特别是优化中使用的学习速率以及模型参数的初始值。训练的复杂性在于每层的输入受到前面所有层的参数的影响——因此当网络变得更深时,网络参数的微小变化就会被放大。(4)在梯度下降时,一个样本的方向并不能代表整个数据集的方向,所以可能会引起震荡。
批标准化的优势:
第一:减少了梯度对参数或它们的初始值尺度上的依赖,对通过网络的梯度流动有有益的影响。这允许我们使用更高的学习率而没有发散的风险。
第二:批标准化使模型正则化并减少了对Dropout,是在一定程度缓解了深层网络中“梯度弥散”的问题。
第三:批标准化通过阻止网络陷入饱和模式让使用饱和非线性成为可能。
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift 总结相关推荐
- Batch normalization:accelerating deep network training by reducing internal covariate shift的笔记
说实话,这篇paper看了很久,,到现在对里面的一些东西还不是很好的理解. 下面是我的理解,当同行看到的话,留言交流交流啊!!!!! 这篇文章的中心点:围绕着如何降低 internal covari ...
- 批归一化《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》
批归一化<Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift ...
- 【BN】《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》
ICML-2015 在 CIFAR-10 上的小实验可以参考如下博客: [Keras-Inception v2]CIFAR-10 文章目录 1 Background and Motivation 2 ...
- 《Batch Normalization Accelerating Deep Network Training by Reducing Internal Covariate Shift》阅读笔记与实现
今年过年之前,MSRA和Google相继在ImagenNet图像识别数据集上报告他们的效果超越了人类水平,下面将分两期介绍两者的算法细节. 这次先讲Google的这篇<Batch Normali ...
- Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift 论文笔记
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift 论文链接: h ...
- 【论文泛读】 Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
[论文泛读] Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift ...
- 论文阅读:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
文章目录 1.论文总述 2.Why does batch normalization work 3.BN加到卷积层之后的原因 4.加入BN之后,训练时数据分布的变化 5.与BN配套的一些操作 参考文献 ...
- 读文献——《Batch Normalization Accelerating Deep Network Training by Reducing Internal Covariate Shift》
在自己阅读文章之前,通过网上大神的解读先了解了一下这篇文章的大意,英文不够好的惭愧... 大佬的文章在https://blog.csdn.net/happynear/article/details/4 ...
- 深度学习论文--Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
本文翻译论文为深度学习经典模型之一:GoogLeNet-BN 论文链接:https://arxiv.org/abs/1502.03167v3 摘要:训练深度神经网络的难度在于:前一层网络参数的变化,导 ...
- Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
机器学习领域有个很重要的假设:IID独立同分布假设,就是假设训练数据和测试数据是满足相同分布的,这是通过训练数据获得的模型能够在测试集获得好的效果的一个基本保障.BatchNorm就是在深度神经网络训 ...
最新文章
- 【effective c++读书笔记】【第7章】模板和泛型编程(3)
- 1.6 动态数据抓取 -- PyQuery详解
- 泰安第一中学2021年高考成绩查询,等级考第一天结束 泰安部分考生已完成2021年高考...
- 建设数据中台之前,建议先看这份企业数据能力测评 | 大咖说中台
- 01 前言/基础设施 - DevOps之路
- 捷联惯导基础知识解析之二(捷联惯导更新算法和误差方程)
- python的pyaudio教程入门_Python音频操作工具PyAudio上手教程!
- 如何把cad转换成jpg软件操作
- HashSet去重方法VS数据库去重查询
- 数字调制系统工作原理_图文讲解液压系统溢流阀分类与工作原理
- linux下多线程编程、线程间同步通信及应用详解、及踩过的坑
- TTL转HDMI,首选LT8618SXB,提供技术支持
- 【c++笔记一】名字空间(namespace)
- 天梯赛HBU训练营——链表去重 (25分)(测试点2和段错误解决)
- 文笔很差系列1 - 也谈谈AlphaGo
- to be top。。。
- SpringBoot实现微信小程序登录功能
- 北京的十大尾货批发市场【接近生活】
- HBase二级索引的设计与应用(详解)
- [摘录]高效人士七习惯—自我管理原则