文章重点:
1.使用更小的3*3的卷积核与更深的网络(16-19层)获得了比ZFNet和AlexNet更好的效果,并且作者测试了不同的数据集证明了该网络具有很好的泛化性,在其他的测试集上也表现出了很好的性能。
2.作者对比了5种深度的卷积网络证明深度越深,在训练数据越大的情况下效果越好。
3.使用了多尺度缩放数据增强技术,证明效果比单尺度数据增强效果提高接近%1.
4.网络的配置:在训练阶段,卷积网络的输入为固定尺寸
5.最后效果:VGG(2Nets,muti-crop & dence eval)top1错误率:23.7
以下全文翻译转载自:http://blog.csdn.net/wspba/article/details/61625387
摘要
本文研究了深度对卷积网络在大规模图像识别中准确率的影响。本文的主要贡献是,对使用很小(
1 介绍
卷积网络(ConvNets)最近在大规模的图像和视频识别中获得了很大的成功,这可能得益于大型公共图像库,如 ImageNet,以及高性能计算系统,如GPU或大规模分布式集群。特别是在深度视觉识别结构发展中扮演重要角色的ImageNet大规模视觉识别大赛(ILSVRC),从高维浅层特征编码 (ILSVRC-2011冠军)到深度卷积网络(ILSVRC-2012 冠军),它为几代大规模图像分类系统提供了测试平台。
随着卷积网络在计算机视觉领域的应用越来越广泛,为了获得更高的准确率,越来越多的人尝试在krizhevsky2012imagenet中的原始框架上进行改进。例如,ILSVRC-2013最好的参赛模型在第一个卷积层上使用了较小的接受域窗口以及较小的滑动步长。另一种改进方案是在整幅图像以及它的多个尺寸上,稠密的训练和测试网络。本文中,我们关注了卷积网络结构设计中的另一个重要因素——深度。为此,我们固定了网络框架的其他参数,然后通过增加更多的卷积层来增加网络的深度,这是可行的,因为我们在所有层都是用非常小(
因此,我们提出了更加精确的卷积网络框架,它不仅在ILSVRC分类和定位任务上获得了最好的成绩,同时在其他图像识别数据集上也表现出了很优异的性能,即便只是用来作为一个相对简单框架的一部分(例如,无需微调的线性SVM深度特征分类)。我们公布了两个性能最好的模型来促进进一步的研究。
本文其余部分组织如下。在Sect.2 中,描述了我们的卷积网络框架。Sect.3 介绍了图像分类任务的训练和评估的主要细节。Sect.4 在ILSVRC分类任务上对不同框架进行了对比。Sect.5 对本文进行了总结。为了文章的完整性,我们在Appendix A 中描述了我们的ILSVRC-2014目标定位系统,并在Appendix B 中讨论了非常深的特征对于其他数据集的泛化能力。最后,Appendix C 包含了本文的主要修订记录。
2 CONVNET CONFIGURATIONS
为了公平的衡量由增加的卷积层深度所带来的效果,我们所有的卷积层都以相同的方式设计。本章中,首先介绍了我们的卷积网络的通用结构,然后描述了在评估中具体配置的细节。最后讨论了我们的设计选择并与先前最好的网络进行了比较。
2.1 ARCHITECTURE
在训练阶段,我们的卷积网络的输入为固定尺寸
在一整堆的卷积层后(对于不同框架有不同深度)接了3个全连接层(FC):前两个全连接层各有4096个通道,第三个用来做1000类的ILSVRC分类,因此包含1000个通道(每个通道代表一类)。最后一层是一个soft-max层。全连接层的配置在所有网络中一致。
所有隐层都是用非线性修正(ReLU)。注意到我们的网络(除了一个)都包含了局部响应标准化(LRN):在Sect.4 中会展示,这个标准化并不会提高网络在ILSVRC数据集上的性能,反而会增加内存消耗和计算时间。
2.2 CONFIGURATIONS
本文所评估的卷积网络的配置如Table1 所示,每一列代表一种网络。接下来我们分别称它们为(A-E)。所有网络的配置遵循Sect 2.1中的通用设计,只有深度不同:从含有11个权重层的网络A(8个卷积层和3个全连接层)到含有19个权重层的网络E(16个卷积层和3个全连接层)。卷积层的宽度(通道的数量)非常小,从第一层的
在Table2 中我们展示了每一种配置的参数数量。尽管网络很深,但是权重的数量并不比一个更浅但是卷积层宽度和接受域尺寸更大的模型多。
(sermanet2013overfeat中有144M的权重)。
2.3 DISCUSSION
我们的卷积网络的配置与ILSVRC-2012和ILSVRC-2013竞赛中表现最好的模型不同。我们在第一个卷积层并没有使用相当大的接受域(例如krizhevsky2012imagenet中接受域为
那么使用三个
小尺寸的卷积滤波器之前在ciresan2011flexible中使用过,但是他们的网络远没有我们的深,而且他们也没有在大规模的ILSVRC数据集上进行评估。goodfellow2013multi在街道数字识别的任务中应用了深度卷积网络(
3 CLASSIFICATION FRAMEWORK
在上一章中,展示了我们网络配置的细节。在这一章,我们将对分类卷积网络的训练和评估的细节进行介绍。
3.1 TRAINING
卷积网络的训练过程基本遵循krizhevsky2012imagenet(除了从多尺度训练图像上采样裁切的输入图像,稍后会解释)。也就是说,通过使用含动量的小批量(mini-batch)梯度下降(基于反向传播)优化多元逻辑回归来对模型进行训练。小批量的尺寸为
网络权重的初始化是非常重要的,由于深度网络梯度的不稳定性,不合适的初始化将会阻碍网络的学习。为了避免这个问题,我们从训练配置A开始(Table1),它足够浅以致于能够使用随机初始化进行训练。然后在训练更深的结构时,我们对前四个卷积层和最后三个全连接层使用网络A来初始化(中间层使用随机初始化)。我们没有降低预初始化层的学习率,允许它们在训练过程中进行改变。对于随机初始化,我们从0均值
随机的从经过尺寸缩放的训练图像上进行裁切,来获得卷积网络固定尺寸
Training image size 用
我们考虑使用两种方法来设定训练尺寸
第二种设定S的方法是多尺度训练,每一幅图像单独的从
3.2 TESTING
在测试阶段,对于一个训练好的卷积网络和一张输入图像,由以下方法进行分类。首先,图像的最小边被各向同性的缩放成预定义的尺寸,设为
由于测试阶段在整幅图像上使用了全卷积网络,因此不需要对图像进行多个裁切采样krizhevsky2012imagenet,因为网络对每个裁切的重新计算会使效率降低。而与此同时,正如GoogLeNet 所做的,使用大量的裁切图像可以提高准确率,因为和全卷积网络相比,它能生成关于输入图像更好的采样。同样的,由于不同的卷积边界条件,多重裁切评估与密集评估是互补的:当在裁切图像上使用卷积网络时,卷积特征图使用0进行填充,而使用密集评估时,对于相同裁切图像的填充自然而然的来自图像邻近的部分(由于卷积和空间池化),这大大增加了网络整体的接受域,因此获取了更多的上下文信息。虽然我们认为在实践中,多重裁切带来的计算时间并不能成为准确率上潜在收益的理由,但是作为参考,我们依然在评估时对每个尺寸使用了
3.3 IMPLEMENTATION DETAILS
本文的实验基于公开的Caffe(C++)工具包(2013年12月版本),但进行了一些重要修改,让我们能够在一个系统的多块GPU上进行训练和评估,以及对对(如上所述)多个尺度的全尺寸图像(未裁切)进行训练和评估
多GPU训练利用数据并行,通过将每批图像分给多批GPU来进行并行运算。当每批的梯度计算好之后,再求平均值作为总的梯度。在多个GPU上的梯度计算是同步的,因此和使用单一GPU进行训练的结果一致。
虽然krizhevsky2014one提出了更加复杂的方法来加快卷积网络的训练,它在网络中不同层上利用模型和数据并行。但是我们发现单是提出的相对简单的方案在现成的4块GPU系统上已经比单GPU提升了3.75倍的计算速度。在配备4块NVIDIA Titan Black GPU的系统上,训练一个单一网络需要2——3周的时间
4 CLASSIFICATION EXPERIMENTS
Dataset 本章我们展示了本文所描述的卷积网络在ILSVRC-2012数据集(被用在ILSVRC2012——2014挑战赛上)上的图像分类结果。数据集包含1000类的图像,并分为训练集(
对于大部分实验,我们使用验证集作为测试集。某些实验也在测试集上进行,并提交给官方ILSVRC服务器作为“VGG”团队参加ILSVRC-2014竞赛。
4.1 SINGLE SCALE EVALUATION
我们开始评估在单一尺度上使用Sect 2.2中层配置的独立卷积网络模型的性能。测试图像尺寸的设置按照:对于固定的
首先,我们注意到使用局部响应标准化(A-LRN网络)并没有提高不使用任何标准化层的模型A的性能。因此我们不在更深的结构(B–E)中使用标准化操作。
其次,我们观测到分类的错误率随着卷积网络深度的增加而降低了:从含有11层的A到含有19层的E。值得注意的是,虽然配置C和配置D具有相同的深度,含有3个
最后,即使在测试阶段使用单一尺度进行测试,但是在训练阶段使用尺寸抖动(
4.2 MULTI-SCALE EVALUATION
评估了卷积网络模型在单一尺度上的性能之后,我们现在来评估在测试阶段使用尺寸抖动的效果。先在几个经过尺寸缩放的测试图像上运行模型(对应于不同的
Table4 中的结果表明,使用尺寸抖动的模型在测试阶段获得了更好的性能(与使用单一尺度的相同模型Table3 相比)。与之前的一样,最深的配置(D和E)表现最好,同时训练阶段使用尺寸抖动比最短边
4.3 MULTI-CROP EVALUATION
Table5 中我们对密集卷积网络评估和多重裁切评估进行了比较(见Sect 3.2)。我们同样还评估了两种技术通过计算两者soft-max输出平均值的互补结果。可以看出,使用多重裁切比密集评估的效果略好,并且两种方法是完全互补的,因为两者组合的效果比每一种都要好。根据以上结果,我们假设这是由对于卷积边界条件的不同处理方法造成的。
4.4 CONVNET FUSION
至此,我们评估了独立卷积网络模型的性能。在这部分实验中,我们通过计算多个模型soft-max分类概率的平均值来对它们的输出进行组合。由于模型的互补性,性能有所提高,这也用在ILSVRC的最佳结果中。
结果如Table6 所示。在提交ILSVRC参赛模型时,我们只训练了单尺度网络和一个多尺度模型D(只对全连接层进行调优而不是所有层)。7个模型组合的结果在ILSVRC错误率上为
4.5 COMPARISON WITH THE STATE OF THE ART
最后,对我们的结果与Table7 中业界最好的结果进行了比较。在ILSVRC-2014竞赛的分类任务上,我们的“VGG”团队使用了7个模型的组合以
从Table7 可以看出,我们非常深的卷积网络比在ILSVRC-2012和ILSVRC-2013中成绩最好的模型效果明显要好。我们的结果与分类任务的冠军旗鼓相当(GoogLeNet为
5 CONCLUSION
本文中,我们评估了非常深的卷积网络(达到了19个权重层)在大规模图像分类上的性能。结果表明,表达的深度有利于分类准确率的提升,在传统的卷积网络框架中使用更深的层能够在ImageNet数据集上取得优异的结果。
在附录中也展示了我们的模型在广泛的任务和数据集上良好的泛化能力,性能达到甚至超过了围绕较浅深度的图像表达建立的更复杂的识别流程。我们的实验结果再次确认了视觉表达中深度的重要性。
APPENDIX A LOCALISATION
本文我们主要针对ILSVRC竞赛的分类任务,对不同深度的卷积网络框架进行了全面的评估。本章我们主要介绍定位任务,在这项上我们以
A.1 LOCALISATION CONVNET
在目标定位中,我们使用了非常深的卷积网络,最后一个全连接层用来预测边界框的位置而不是分类得分。边界框由一个4-D向量表示,包括了它的中心坐标、宽度和高度。关于边界框的预测有两种方案:是在所有类之间共享的(单类回归,SCR)还是针对特定类的(每类回归,PCR)。对于前一种,最后一层的输出维度是4-D;而对于后一种,最后一层的输出维度是4000-D(因为数据集中共有1000中类别)。除了最后一个边界框预测层,前面我们使用配置D的卷积网络,它包含16个权重层,在分类任务中性能是最好的(Sect.4)。
Training 定位卷积网络的训练和分类卷积网络的训练类似(Sect 3.1)。主要的区别是我们将逻辑回归替换成了欧式损失(Euclidean loss),用来惩罚预测的边界框参数与真值之间的偏差。我们训练了两个定位模型,分别使用单一尺寸:
Testing 我们考虑两种测试方案。第一种用来比较使用不同网络修正(即调优方式不同,所有层调优/全连接层调优)在验证集上的区别,只考虑对真实类别的边界框预测(排除了分类错误).只在图像的中心裁切上使用网络来获得边界框。
第二种,全面的、基于定位卷积网络在整幅图像上密集应用的测试程序,这类似于分类任务(Sect 3.2)。不同的是,最后一个全连接层的输出是由一组边界框的预测取代了分类得分图。为了获得最终预测结果,我们使用了sermanet2013overfeat中的贪婪合并程序,先合并空间上接近的预测(通过计算坐标的平均值),然后使用由分类卷积网络获得的分类得分对他们进行评级。当使用了一些定位卷积网络时,我们首先得到它们对边界框预测的合集,然后在这个合集上运行合并程序。我们并没有使用sermanet2013overfeat中用来增加边界框预测空间分辨率的多重池化偏移技术来进一步提升结果。
(译者注:即第一种是在真实类上预测边界框,为了确定模型配置;第二种在确定模型配置后,使用预测类,在预测类上预测边界框。)
A.2 LOCALISATION EXPERIMENTS
本章,我们先来确定性能最好的定位网络设定(使用第一种测试方案),再使用一个全面的方案(第二种方案)来对它进行评估。定位错误率根据ILSVRC标准进行衡量,即,如果预测的边界框与真实边界框的重叠率大于
Settings comparison Table8 中可以看出,每类回归(PCR)由于类无关的单类回归(SCR),而这和sermanet2013overfeat中的发现正好相反。我们也注意到,对于定位任务,在所有层进行调优的结果明显比只在全连接层调优的结果好得多(与sermanet2013overfeat相同)。在这些实验中,图像的最小边设置为
Fully-fledged evaluation
在得到了最佳的定位网络设定(PCR,在所有层调优)后,我们使用一个完整的方案来进行评估,使用我们性能最好的分类系统(Sect 4.5)来对top-5类别进行预测,然后使用sermanet2013overfeat的方法来对多个密集计算预测的边界框进行合并。从Table9 中可以看出,在整幅图像上使用定位卷积网络,比在中心裁切图像上(Table8 )的结果明显要好, 尽管使用的是top-5的预测类而不是真实类。与分类任务(Sect.4)相同,在多个尺度上进行测试然后组合多个模型的预测结果,能够对性能产生进一步的提升。
Comparison with the state of the art Table10 将我们的定位模型结果与业界最好的结果进行比较。我们的“VGG”团队以
APPENDIX B GENERALISATION OF VERY DEEP FEATURES
在前几章,我们讨论了非常深的卷积网络在ILSVRC数据集上的训练和评估。在本章,使用我们在ILSVRC上预训练的卷积网络作为其他更小数据集的特征提取器,因为小数据集上从头开始训练大的模型会由于过拟合而变得很困难。最近,有很多很有趣的案例发现,从ILSVRC上学到的深度图像表达,在其他数据集上的泛化能力很好,它们比手工表达的效果要好很多。根据这一系列工作,我们也开始研究我们的模型是否能比业界最好方法所使用的的浅层模型效果更好。在这项评估中,我们考虑两个在ILSVRC上分类性能最好的模型(Sect.4)——配置“Net-D”和“Net-E”(我们都进行了公开)。
为了在其它数据集上使用在ILSVRC上预训练的模型来进行图像分类,我们去除了最后一个全连接层(用来进行1000类的ILSVRC分类),使用倒数第二层的4096-D激活作为图像特征,并在多个位置和尺度之间汇总。由此产生的图像描述子使用
特征的汇总方式与我们的ILSVRC评估程序(Sect 3.2)相似。也就是说,先将图像尺寸缩放到使它的最短边等于
Image Classification on VOC-2007 and VOC-2012 我们开始评估PASCAL VOC-2007和VOC-2012基准数据集的图像分类任务。这两个数据集分别包含10K和22.5K张图像,每一张图像标注有一个或多个标签,对应有20个目标种类。VOC组织者将数据集分为训练集、验证集和测试集(VOC-2012测试集并没有公开,而提供了一个官方的评估服务器)。识别性能使用多类上的平均精度(mAP)来评估。值得注意的是,通过验证在\mbox{VOC-2007}和VOC-2012验证集上的性能,我们发现通过计算多个尺度间的平均来融合描述子与通过堆叠来融合的效果相似。我们认为这是因为VOC数据集中,目标通常呈现在多个尺度上,因此并没有分类器可以利用的特定的尺度语义。由于计算平均并不会增加描述子的维度,我们能够融合大范围尺度的图像描述子:
在测试集上的性能以及与其他方法的比较见Table11。我们的网络“Net-D”和“Net-E”在VOC数据集上展现了相同的性能,它们的组合对结果略有提高。我们在ILSVRC数据集上的预训练模型,展现了优异的图像表达能力,比之前最好的结果chatfield2014return高出了
Image Classification on Caltech-101 and Caltech-256 本章,我们在Caltech-101和Caltech-256的图像分类基准上对非常深的特征进行评估。Caltech-101包含9k张图像,一共有102类标签(101个目标种类和一个背景类别),Caltech-256有31K张图像和257种类别。
一个标准的评估方案就是将这些数据集随机分成多份训练和测试数据,然后报告多份之间的平均识别性能,识别性能有平均类召回率来衡量(是对每类测试图像数量不相同的补偿)。在Caltech-101上我们随机生成了3份训练和测试数据,每一份中每类含有30张训练图像,以及多达50张的测试图像。在Caltech-256上我们也随机生成3份数据,每一份每类含有60张训练图像(剩下的都用来测试)。在每一份中,20%的训练图像作为验证集,用来进行超参数选择。
我们发现与VOC不同的是,在Caltech数据集上,将多个尺度上计算的描述子进行堆叠的效果比求平均或者最大池化的效果好。这可能是因为,在Caltech图像中,目标通常占据整幅图像,因此多个尺度上的图像特征是语义不同的(整个目标 vs 目标的一部分),而堆叠使得分类器能够利用这样特定尺度的表达。我们使用三种尺度:
Table11 中对我们的模型与业界最好的结果进行了比较。可以看出来,更深的19层的Net-E比16层的Net-D效果更好,它们俩的组合能够进一步的提升性能。在Caltech-101上,我们的表达与he2014spatial中的方法性能相近,但是它在VOC-2007上的表现明显比我们的模型差得多。在Caltech-256上,我们的特征比业界最好的结果chatfield2014return有了很大的提升(
Action Classification on VOC-2012 我们同样在PASCAL VOC-2012动作分类任务上评估了我们性能最好的图像表达(Net-D和Net-E特征的堆叠),包含了在给定人物动作的边界框时对动作类别的预测。数据集包含4.6K张训练图像,共有11类标签。与VOC-2012目标分类任务相似,性能用mAP 来评估。我们考虑以下两种训练设定:
(i) 在整幅图像上计算卷积网络特征,并忽略提供的边界框;
(ii) 在整幅图像上和在提供的边界框上计算特征,然后将它们堆叠来获得最终的表达。
在Table12 中对我们的方法和其他方法的结果进行了比较。
我们的表达在不使用提供的边界框时,在VOC动作分类任务上达到了业界最好的水平,而同时使用图像和边界框时的结果得到了进一步的提升。不同于其他方法,我们并没有使用任何任务特定的探索法,只是依赖于非常深的卷积特征的表达能力。
Other Recognition Tasks 自从我们的模型公开以来,它们被研究机构广泛的使用在图像识别任务中,并一致的优于浅层表达的性能。例如,girshick2014rich通过将krizhevsky2012imagenet中的卷积网络替换成我们的16层模型,达到了目标检测业界最好的结果。在语义分割、图像字幕生成}以及纹理和材料识别都有着类似的结果。