深度学习第六天: BatchNormalization.md
2016-09-14 00:47
309 查看
batch normalization:accelerating deep network training by reducing internal covariate shift
可以用更高的学习率,更少的关于初始化,正则化减少dropout的使用。概述:训练机器学习系统时,一个一般的假设是它每次的输入的分布是稳定的。如果不满足这个假设,就是covariate shift,这个通常通过domian adaption解决。在训练一个复杂的机器学习系统时,同样要求这个sub-network对应的输入(activation)分布(distribution)是稳定的,如果不满足这个假设,就是本文提出的internal covariate shift(ICS)。本文CNN训练中,存在的ICS问题提出batch normalizaiton,一方面通过normalization使得每个网络层的输入尽量保持稳定的分布(均值为0以及单位方差),另一方面通过一个线性变化(transform)使得该层的输入在表达能力上也同时保持较好的效果。
对于CNN训练中存在的ICS问题,在原文中通过一个带sigmoid activation function的层进行了说明,具体而言:首先这个中间层的输入是原始数据在先网络(preceding network)上变化后的结果,所以这层的输入首先是跟它前面的网络参数有很大关联,这样的话前面网络参数的变化必然带来这层在输入上的变化,而且这个网络深度越深,这种现象就会被扩大(amplify),从而导致输入的不稳定;另一方面,对于一个sigmoid激活函数,它的导数随着自变量绝对值增大而减小,输入x的很多维上的梯度往往太小而导致梯度不能有效的传播(saturation problem and gradient descent)。之前,解决这个问题的方法包括 using Rectified linear units,care initialization以及small learning rate。这往往导致的问题就是学习速度太慢并且学习的效果太依赖于初始化。如果能够保持每层输入的分布稳定, 那么这个问题就能很好的解决,本文从这个角度提出了batch normalization。除了保持输入数据的稳定性之外,BN技术还能消除梯度算法中梯度与参数大小和初始值之间的关系,同时regularized the model并且减少对dropout的需求。文章通过实验验证,通过BN技术,可以显著提高学习的效率,同时也能提高模型的性能。
来源: http://www.voidcn.com/blog/a1154761720/article/p-5693390.html
相关文章推荐
- Coursera deeplearning.ai 深度学习笔记2-3-Hyperparameter tuning, Batch Normalization and Programming Framew
- caffe+报错︱深度学习参数调优杂记+caffe训练时的问题+dropout/batch Normalization
- caffe+报错︱深度学习参数调优杂记+caffe训练时的问题+dropout/batch Normalization
- caffe+报错︱深度学习参数调优杂记+caffe训练时的问题+dropout/batch Normalization
- 关于深度学习中的Batch normalization的理解
- 深度学习中的BatchNormalization理解
- 深度学习中的数学与技巧(2):《Batch Normalization Accelerating Deep Network Training by Reducing Interna
- caffe+报错︱深度学习参数调优杂记+caffe训练时的问题+dropout/batch Normalization
- 谈谈深度学习中的 Batch_Size
- 深度学习第三天: LeNet在Python实现Mnist手写数字.md
- 深度学习第四天: 基础Theano图像处理知识.md
- 深度学习中的batch的大小对学习效果的影响
- Batch Normalization 学习笔记
- 深度学习中的 Batch_Size
- [6]深度学习和Keras---- 深度学习中的一些难理解的基础概念:softmax, batch,min-batch,iterations,epoch,SGD
- tensorflow学习笔记--深度学习中的epochs,batch_size,iterations详解
- 谈谈深度学习中的 Batch_Size
- 深度学习第二天: 基础理论.md
- 深度机器学习中的batch的大小对学习效果有何影响?
- 谈谈深度学习中的 Batch_Size