googlenet论文_图像处理必读论文之四GoogLe-2:Batch Normalization

0d9376377fe58227e8b60465d722bdde.png

晓强Deep Learning的读书分享会,先从这里开始,从大学开始。大家好,我是晓强,计算机科学与技术专业研究生在读。我会不定时的更新我的文章,内容可能包括深度学习入门知识,具体包括CV,NLP方向的基础知识和学习的论文;网络表征学习的相关论文解读。当然我每天的读书心得也会分享给大家,可能涉及我们生活各个方面的书籍。我也会不定时回答大家的问题与大家一同进步,共同交流,互相监督,结交更多的朋友。希望大家多留言,多交流,多多关照。

【晓白】今天终于更新图像处理必读论文系列了!大家久等了,之前的几天都更新了算法设计与分析的内容,感兴趣的朋友可以关注我,继续阅读其他的文章。最近我分享了一些AI领域会议的总结,每天都涨粉,谢谢精神合伙人的支持,我会继续努力。以后我会不定期更文章,先从计算机视觉开始,逐步更新多个深度学习应用领域的知识点,如有错误大家多指正,多交流,多讨论,共同学习,互相进步。如果内容对大家有一些帮助,请大家多点赞支持,分享。接下来我们来分享深度学习技术应用到图像处理方向的另一篇佳作-它是Going Deeper with Convolutions(GooLeNet-1)的后续论文,Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift。如果对基础知识掌握不熟可以阅读我的其他论文,或者私信与我讨论,进入我们的学习家族,一起进步。如果对大家有帮助的话,可以点赞,收藏,关注支持一下。

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

批标准化:缓解内部协变量偏移加快深度神经网络训练

作者: Sergey Ioffe & Christian Szegedy(GoogLeNet-v1 一作)

单位: Google Inc.

时间: 2015

研究背景

ImageNet Large Scale Visual Recognition Challenge 是李飞飞等人于2010年创办的图像识别挑战赛,自2010起连续举办8年,极大地推动计算机视觉发展

比赛项目涵盖:图像分类(Classification)、目标定位(Object localization)、目标检测(Object detection)、视频目标检测(Object detection from video)、场景分类(Scene classification)、场景解析(Scene parsing)

竞赛中脱颖而出大量经典模型: alexnet,vgg,googlenet,resnet,densenet等

ImageNet

相信读过我的系列文章的人,这些内容并不陌生,如果不了解可以继续阅读我的其他CV系列论文。

GoogLeNet –V1 采用多尺度卷积核,1*1卷积操作,辅助损失函数,实现更深的22层卷积神经网络,夺得ILSVRC-2014 分类和检测冠军,定位亚军。

本文在GoogLeNet-V1 基础上加入BN层,同时借鉴VGG的小卷积核思想,将5*5卷积替换为2个3*3卷积。

4dc1545d0ab5d8f92cce47eba2ce9c6b.png

ICS(Internal Covariate Shift,内部协变量偏移

ICS现象:输入数据分布变化,导致的模型训练困难,对深度神经网络影响极大

a18784268d93c4350ca9648f2884c325.png

022de91d2962630e11b20cc090129574.png

白化(Whitening)

白化的目的是去除输入数据的冗余信息。假设训练数据是图像,由于图像中相邻像素之间具有很强的相关性,所以用于训练时输入是冗余的;白化的目的就是降低输入的冗余性。

输入数据集X,经过白化处理后,新的数据X'满足两个性质:

(1)特征之间相关性较低;

(2)所有特征具有相同的方差。

[1] 1998-LeCun, Y., Bottou, L., Orr, G., and Muller, K. Efficient backprop. In Orr, G. and K., Muller (eds.), Neural Net- works: Tricks of the trade. Springer, 1998b.

[2]2011-Wiesler, Simon and Ney, Hermann. A convergence anal- ysis of log-linear training. In Shawe-Taylor, J., Zemel, R.S., Bartlett, P., Pereira, F.C.N., and Weinberger, K.Q. (eds.), Advances in Neural Information Processing Sys- tems 24, pp. 657–665, Granada, Spain, December 2011.

研究成果

提出BN层:加快模型收敛,比googlenet-v1快数十倍,获得更优结果

GoogLeNet-v2 获得ILSVRC 分类任务 SOTA

BN 优点:

1. 可以用更大学习率,加速模型收敛

2. 可以不用精心设计权值初始化

3. 可以不用dropout或较小的dropout

4. 可以不用L2或者较小的weight decay

5. 可以不用LRN(local response normalization)

4dc1545d0ab5d8f92cce47eba2ce9c6b.png

研究意义

加快了深度学习的发展

开启神经网络设计新时代,标准化层已经成为深度神经网络标配

在Batch Normalization基础上拓展出了一系例标准化网络层,如Layer Normalization(LN),Instance Normalization(IN),Group Normalization(GN)

257ee168c8680e8e115d14c872cc4b5b.png
均值和方差求取方式

摘要

1. 提出问题:数据分布变化导致训练困难(PS:权重变化--输出变化--输入变化--训练困难)

2. 已有方法:通过小学习率和精心权重初始化,但是很训练缓慢,效果不佳

3. ICS:上述现象为ICS,本文提出标准化网络层来缓解它

4. BN:在模型中增加BN层,可在mini-batch中执行标准化,让模型可以用大学习率,不需要精心设计权值初始化,可以少用Dropout

5. 本文成果:BN使模型训练加快14倍,并且可显著提高分类精度,在Imagenet分类任务中超越了人类的表现

论文图表

e47b2a6ffbefeea9c65401135f333135.png
算法1. BN层操作流程

dad6b18aa66d09e02f72a70e5675d1bb.png
算法2. 训练及推理时BN层的操作

cc6b2d75c2e0206a17471efc00ab1768.png
图1. MNIST上进行BN实验

7bb3eb9ecb1c20a86e51cd7ec98f3d73.png
图2. ILSVRC上,BN与GoogLeNet-v1速度对比

558e760c4eaa98db17620bf656312c76.png
图3. ILSVRC上,BN与GoogLeNet-v1精度对比

1e173faff95f33e716387f3d6fadd7e4.png
图4. ILSVRC上,GoogLeNet-V2 与 其它模型对比

f13adfcbb31c71599e58103ff12226f9.png
图5. GoogLeNet-V2 结构图

BN层

Batch Normalization:批标准化

批:一批数据,通常为mini-batch

标准化:使得分布为 mean=0, std=1

83f29ab79aa9146ad04ff97360f9ac41.png

如 1, 2 ;mean=1.5, std=0.5, 变换得到-1, 1

一定有正有负,并且拉到0附近了

a18784268d93c4350ca9648f2884c325.png

730a813a1b4e17a94e38a73ca4967d55.png

0236dbcc4b14104a58fb04589284ca80.png

cecaadb7044a6d340f043a120ee0f608.png

faf8c315647617be8236e4bc81bbd9c6.png

6dda63ba6345be1a6970e348fd40fd2b.png

95120558f8e20c525c3feba9265ad7b6.png
采用指数滑动平均,at当前值,mvt是指数滑动平均值

比如,

7bb449c35307da9902c005c603180439.png

65b44a2569fc4b7b40f246c0208f192e.png
decay=0.9

2036f8a39f342cf2b9106badd746f2ad.png

BN优点

可采用较大学习率

针对类似Sigmoid的饱和激活函数,加上BN层后,可采用较大学习率

充当正则,顶替Dropout

加入BN层后,将当前样本与以前样本通过统计信息联系起来,相当于某种约束,经实验表明可减轻Dropout的使用

BN注意事项

BN层前一层不需要加偏置(bias),该偏置可被BN层中的Shift(Beta)给抵消

卷积网络时,是针对特征图为单位进行BN层,即使2D的BN操作,这一点要好好理解,比较容易理解错误。

GoogLeNet-V2结构

GoogLeNet-V2 模型特点

对V1的改进:

激活函数前加入BN

5*5卷积替换为2个3*3卷积

第一个Inception模块增加一个Inception结构

增多“5*5”卷积核

尺寸变化采用stride=2的卷积

增加9层(10-1层)到 31层

(10表示inception数量)

595be3ed79b35cd8f9ca60ee5409cca8.png

eee15163d4de4069c4d44dc5e63ac518.png

实验结果及分析

MNIST实验

观察收敛速度

观察MLP网络最后一层输出值分布

结果:

加入BN层之后,收敛速度更快

加入BN层之后,输出值更稳定,缓解ICS问题

77b6ba23d8c9bdfd78bb1c411a6aacf8.png

ILSVRC 分类实验一:速度对比

参数设置:初始学习率=0.0015

x5: 表示学习率 = 0.0015*5 = 0.0075

加BN更快:BN-Baseline比Inception快一倍

可用大学习率:BN-x5 比 Inception 快14倍

加BN精度更高:BN-x30比 x5 慢,但精度更高

Sigmoid时,加BN精度更高:BN-x5-Sigmoid虽精度最低,比Inception-Sigmoind高很多

8548df74f0858a1a10ed56a103b1b368.png

de78283f6e38284a0e416fe387959f6b.png

ILSVRC 分类实验二:模型集成,超越人类

六个BN-x30集成,六个BN-x30不同之处:

增大权重初始化的值,即分布的标准差变大

dropout设为5%或10%,GoogLeNet-V1是40%

75eea65ebc27abf45c8f6aca26fb8d17.png

论文总结

关键点&创新点

提出BN层,缓解ICS带来的训练困难,可实现

1. 可以用更大学习率,加速模型收敛

2. 可以不用精心设计权值初始化

3. 可以不用dropout或较小的dropout

4. 可以不用L2或者较小的weight decay

5. 可以不用LRN(local response normalization)

借鉴VGG,全面将5*5卷积替换为两个3*3卷积堆叠

1. 两个模型组合优点,放在一句话。加速14倍是BN-x5,获得显著提升的是BN-x30

we can match its performance using only 7% of the training steps, and can further exceed its accuracy by a substantial margin. (1 Introduction p6)

2. 0均值,1标准差的数据分布可加速网络训练

It has been long known (LeCun et al., 1998b; Wiesler & Ney, 2011) that the network training converges faster if its in- puts are whitened – i.e., linearly transformed to have zero means and unit variances, and decorrelated. (2 towards Reducing Internal Covariate Shift p1)

3. 即使不去相关,0均值,1方差的数据分布也可加快网络训练

As shown in (LeCun et al., 1998b), such normalization speeds up convergence, even when the fea- tures are not decorrelated.(3 Normalization via Mini-Batch Statistics p1)

4. 推理时,BN相当于线性变换,即缩放加平移,进一步的,可将BN层融合到卷积层中

Since the means and variances are fixed during inference, the normalization is simply a linear transform applied to each activation. (3.1 p1)

5. bias作用被抵消,因此不需要bias,并且线性变换中的beta可充当bias

Note that, since we normalize W u+b, the bias b can be ignored since its effect will be canceled by the subsequent mean subtraction (3.2 p2)

6. 卷积层的BN中,不仅考虑batch维度,还考虑空间维度,以feature map维度进行求取均值,方差

we let B be the set of all values in a feature map across both the elements of a mini-batch and spatial locations – so for a mini-batch of size m and feature maps of size p × q, we use the effec- tive mini-batch of size m′ = |B| = m · pq. We learn a pair of parameters γ(k) and β(k) per feature map, rather than per activation.(3.2 p2

7. 一个样本的计算受到其它样本的约束,可认为是一种正则约束

a training example is seen in conjunction with other examples in the mini-batch, and the training network no longer producing deterministic values for a given training example. (3.4 p1)

8. 堆叠使用2个3*3卷积,全面替换5*5卷积,并且给予更多卷积核

The main difference to the net- work described in (Szegedy et al., 2014) is that the 5 × 5 convolutional layers are replaced by two consecutive lay- ers of 3 × 3 convolutions with up to 128 filters. (4.2 p1)

9. 加速BN的7个改变

1). Increase learning rate: BN特性

2). Remove Dropout:BN可充当正则

3). Reduce the L2 weight regularization by a factor of 5.

因为BN允许权重大一些,所以对于权重大小的限制可以减轻一些

4).Accelerate the learning rate decay

5). Remove Local Response Normalization

6). Shuffle training examples more throughly

7). Reduce the photometric distortions

10. GoogLeNet-V1 采用ReLU和Sigmoid,获得的精度几乎是一样的,即ReLU在V1中并没有提升精度

We also tempted to train the original Inception with sigmoid, but the model remained at the accuracy equivalent to chance.

11. GoogLeNet-V1 训练到收敛,用了大约826个epochs,这一个数据在V1论文中从未给出

Inception reached the accuracy of 72.2% after 31 · 10^6 training steps.

12. 下一步工作:研究RNN中BN的效用,以及BN在域适应领域的应用

Our future work includes applications of our method to Recurrent Neural Networks (Pascanu et al., 2013), where the internal covariate shift and the vanishing or exploding gradients may be especially severe.

We plan to investigate whether Batch Normalization can help with domain adaptation, in its traditional sense – i.e. whether the normalization performed by the network would al- low it to more easily generalize to new data distribu- tions, perhaps with just a recomputation of the population means and variances. (5 conclusion p4)

dac171af52ee6c7c158ac5b690f51432.png

至此,GoogLeNet-2网络更新完毕!希望大家多多支持一下!知乎小号,每天坚持更新不容易!关注我,读下面更多文章.

晓强DL:数据分析及机器学习之数据分析处理库pandas​zhuanlan.zhihu.com
9fe2ce9bd191778bd8dafe773104ac5a.png
晓强DL:数据分析及机器学习之科学计算库numpy​zhuanlan.zhihu.com
9fe2ce9bd191778bd8dafe773104ac5a.png
晓强DL:NLP入门必读系列之C2W模型​zhuanlan.zhihu.com
9fe2ce9bd191778bd8dafe773104ac5a.png
晓强DL:NLP入门必读系列之WORD2VECTOR​zhuanlan.zhihu.com
晓强DL:GloVe: Global Vectors for Word Representation​zhuanlan.zhihu.com
晓强DL:图像处理必读论文之三:Going Deeper with Convolutions​zhuanlan.zhihu.com
9fe2ce9bd191778bd8dafe773104ac5a.png
晓强DL:图像处理必读论文之二:VGG网络​zhuanlan.zhihu.com
9fe2ce9bd191778bd8dafe773104ac5a.png
晓强DL:图像处理必读论文之AlexNet​zhuanlan.zhihu.com
晓强DL:Opencv图像处理(一)​zhuanlan.zhihu.com
晓强DL:OpenCV图像处理(二)​zhuanlan.zhihu.com
晓强DL:Opencv图像处理(三)​zhuanlan.zhihu.com
晓强DL:Opencv图像处理 (四)​zhuanlan.zhihu.com
晓强DL:近似算法​zhuanlan.zhihu.com
bfff613b445342e6ebae9330222ad94a.png
晓强DL:分支限界法​zhuanlan.zhihu.com
9fe2ce9bd191778bd8dafe773104ac5a.png
晓强DL:第五章 回溯法(Backtrack)​zhuanlan.zhihu.com
9fe2ce9bd191778bd8dafe773104ac5a.png
晓强DL:第五章、第六章补充Tree Searching Strategies​zhuanlan.zhihu.com
晓强DL:第四章 贪心算法(Greedy Algorithms)​zhuanlan.zhihu.com
9fe2ce9bd191778bd8dafe773104ac5a.png
晓强DL:第三章 动态规划(Dynamic Programming )​zhuanlan.zhihu.com
9fe2ce9bd191778bd8dafe773104ac5a.png
晓强DL:第二章 递归与分治​zhuanlan.zhihu.com
9fe2ce9bd191778bd8dafe773104ac5a.png
晓强DL:计算机算法设计与分析第一章 算法概述​zhuanlan.zhihu.com
9fe2ce9bd191778bd8dafe773104ac5a.png
晓强DL:计算理论与计算模型​zhuanlan.zhihu.com
9fe2ce9bd191778bd8dafe773104ac5a.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值