Going deeper with convolutions笔记

本文是20140926的周报,没写完,后补全。

Abstract

本文提出了一种新的分类和检测的新网络。该网络最大的特点就是提升了计算资源的利用率。在网络需要的计算不变的前提下,通过工艺改进来提升网络的宽度和深度。最后基于Hebbian Principle和多尺寸处理的直觉来提高性能。在ILSVRC-2014中提交了这种网络,叫GoogLeNet有22层。

Introduction

GoogLeNet 只用了比[9]少12倍的参数,但正确率更高。本文最大的工作是通过CNN和普通的计算机视觉结合,类似于R-CNN[6]。因为算法的ongoing traction of mobile和嵌入式计算,算法的效率变得很重要。也导致了本文不会使用绝对的数量。本文将会关注CV的深度神经网络“Inception”。本文既将Inception提升到了一个新的高度,也加深了网络的深度。

Related Work

最近两年的工作是增加层数和层大小,利用dropout来解决过拟合的问题。而传统的CNN还用来进行定位、检测、人体姿势估计。

[15]用了不同的大小。GoogLeNet用了很多相同的层,共22层。[12]的Network in Network用来提高神经网络的power。本文用Network in Network有两方面用途,降低维度来降低计算瓶颈,也可以提高网络的深度和宽度。[6]所提出的R-CNN将检测分成两部分:在浅层利用颜色、次像素组成等信息检测,再利用深层的CNN进行分类。作者对这种方法也进行了提高。

Motivation and High Level Considerations

简单的使网络更深更大,容易导致过拟合,且增加计算性能的消耗。其根本的解决办法是将全连接层变为稀疏链接层[2]。对于非均衡的稀疏数据,今天的计算效率不高。[3]提出将多个稀疏矩阵合并成相关的稠密子矩阵来解决问题。

……

Architectural Details

Inception主要的思想就是如何找出最优的局部稀疏结构并将其覆盖为近似的稠密的组件。[2]提出一个层与层的结构,在结构的最后一层进行相关性统计,将高相关性的聚集到一起。这些簇构成下一层的单元,与上一层的单元连接。假设前面层的每个单元对应输入图像的某些区域,这些单元被滤波器进行分组。低层(接近input层)的单元集中在某些局部区域,意味着在最终会得到在单个区域的大量群,他们能在下一层通过1*1卷积覆盖[12]。然而也可以通过一个簇覆盖更大的空间来减小簇的数量。为了避免patch-alignment问题,现在滤波器大小限制在1*1,3*3和5*5(主要是为了方便也非必要)。在pooling层添加一个备用的pooling路径可以增强效率。

Inception模块都堆在其他Inception模块的上面,……

上述模块一个巨大的问题就是,即使是一个合适数量的卷积,也会因为大量的滤波而变得特别expensive。经过pooling层输出的合并,最终可能会导致数量级增大不可避免。处理效率不高导致计算崩溃。

第二种方法:在需要大量计算的地方进行慎重的降维。压缩信息以聚合。1*1卷积不仅用来降维,还用来修正线性特性。

只在高层做这个,底层还是普通的卷积。

……

GoogLeNet

QQ截图20140925171057表1

#3*3 reduce代表3*3卷积前1*1滤波器的个数。所有的reduction/projection层都利用了修正线性激活。网络包含22层带参数层和5层不含参数的pooling层。总共有约100层。分类前的pooling是基于[12],只是我们利用了不同的线性层。有利于精细的调节网络,但不期望它有多出色。从全连接层move到下采样会将Top1准确率提高0.6%,但是dropout仍然需要。

QQ截图20140926161943图1

googlenet图2

在浅层网络来说,相对中间的网络产生的特征非常有辨识力。在这些层中增加一些额外的分类器,能个增加BP的梯度信号和提供额外的正则化。这些分类器将小德卷积网络放在4a和4b的输出上。在训练过程中,损失会根据权重叠加,而在测试时丢弃。

Training Methodology

利用[4]提供的分布式机器学习系统和数据平行。用数个高端GPU,一周达到收敛。利用[17]异步随机梯度下降,0.9动量,学习率每八个周期下降4%。最后用Polyak averaging [13]来创建最后用来测试的模型。

采样变化很大。[8]的光度扭曲有助于对付过拟合。还进行了随机插入。

ILSVRC 2014 Classification Challenge Setup and Results

①训练了7个网络,只是采样方法和随机输入图像不同,取综合值。

②将图像的短边缩放成4中:256,288,320,352。取图像的上中下块。每块取四个角、中间的224*224和将其缩放到224*224以及它们的镜像。结果是4*3*6*2=144,即每个图像采样144块输入图。但可能实际生产中不能应用。

③maxpooling和在分类器平均,最后的结果都不如简单的平均好。

QQ截图20140925214634 表2

QQ截图20140925214621 表3

ILSVRC 2014 Detection Challenge Setup and Results

方法与[6]的R-CNN很像,但增加了Inception模块。结合了用multi-box [5] 的方法和Selective Search [20] 来提高定位框的召回率。这让从Selective Search [20] 得到的结果减半。再加上200个[6]的方法,总共[6]占60%,可以将覆盖率从92%提高到93%。上述方法可以将准确率相对单一模型提高1%。在分类区域的时候利用6个卷积网络科将准确率从40%提高到43.9%。

表4最后GoogLeNet最好,比去年大了接近一倍。表5表示GoogLeNet在单模型的情况下,只比最好的低0.3%,但那个用了3个模型,而GoogLeNet在多模型的情况下结果好得多。

QQ截图20140925213620 表4

QQ截图20140925213608

表5

Conclusions

将最佳稀疏结构稠密化是一种有效提高CV神经网络的方法。优点是只适度增加计算量。本文检测方法不利用上下文,不会定位框回归,证明了Inception方法的强壮。本文提供了一个将稀疏变稠密的途径。

[2] Sanjeev Arora, Aditya Bhaskara, Rong Ge, and Tengyu Ma. Provable bounds for learning some deep representations. CoRR, abs/1310.6343, 2013.

[6] Ross B. Girshick, Jeff Donahue, Trevor Darrell, and Jitendra Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In Computer Vision and Pattern Recognition, 2014. CVPR 2014. IEEE Conference on, 2014.

[9] Alex Krizhevsky, Ilya Sutskever, and Geoff Hinton. Imagenet classification with deep con-volutional neural networks. In Advances in Neural Information Processing Systems 25, pages 1106–1114, 2012.

[12] Min Lin, Qiang Chen, and Shuicheng Yan. Network in network. CoRR, abs/1312.4400, 2013.

[15] Thomas Serre, Lior Wolf, Stanley M. Bileschi, Maximilian Riesenhuber, and Tomaso Poggio. Robust object recognition with cortex-like mechanisms. IEEE Trans. Pattern Anal. Mach. Intell., 29(3):411–426, 2007.

 

arXiv编号:1409.4842v1

paper of the team who get Classification 1st,Localisation 2nd in ILSVRC-2014

 

PrintEvernoteQQFacebookTwitterGoogle+分享