VGG阅读笔记

原文:https://arxiv.org/abs/1409.1556

摘要:

    本文研究了在大规模图片识别中,卷积神经网络的深度对准确率的影响。论文的主要贡献是使用3×3卷积的神经网络架构全面评估增加深度对网络的影响,结果表明通过将深度推至16-19层可以使网络性能得到显着提高。作者还表明此模型可以泛化到其他数据集上,在其他数据集上可以获得很好的结果。作者公开了两个性能最佳的VGG模型,以便进一步研究在计算机视觉中深度学习的应用。

1.引言

    随着CNN在图像识别方面成功的应用,为了达到更高的准确率,已经进行了许多尝试来改进AlexNet。例如,ZFNet在第一个卷积层中使用较小的卷积核以及较短的步长,另一条改进路线是在整个图像和多个尺度上多次训练和测试网络。在本文中,作者关注于CNN架构设计的另一个重要方面——深度。为此,论文固定了架构中的其它参数,并通过添加更多的卷积层来稳定地增加网络的深度。这是可行的,因为在每层都使用非常小的3*3卷积。

2.VGG配置

    在训练期间,CNN的输入是固定大小的224×224 RGB图像。预处理是对图像中每个像素减去在训练集上计算得到的RGB均值。整个网络都采用3*3的卷积,因为两个3*3的叠加相当于一个5*5,三个3*3的卷积相当于一个7*7,使用3*3叠加不仅可以达到5*5、7*7的效果,还能减少网络参数,减少计算量。其中,在某些3*3的后面还添加了一个1*1的卷积,一方面可以减小计算量,另一方面还可以增加网络的非线性(因为1*1后面接入了RELU激活函数)。最后,在一系列卷积层之后是三个全连接层:前两层是4096维,第三层是1000维,最后一层是softmax,用于输出预测概率。网络结构如表1所示。

表1:CNN配置,从A到E,卷积层参数表示为“conv〈卷积核大小〉-通道数”,为了简洁起见,不显示ReLU激活函数。

3.分类框架

3.1 训练

    VGG的训练过程与Alexnet的一样,通过使用具有动量的小批量梯度下降来优化多项式逻辑回归目标函数进行训练。批次大小为256,动量为0.9,训练通过权值衰减(L2惩罚因子设置为5*10^-4)和对前两个全连接层进行dropout(比率0.5)实现正则化。学习率初始化为0.01,当验证集准确率不提升时以10倍速率衰减。总的来说,学习率会衰减3次,然后训练次数为370000次(74个epoch)。作者猜想,尽管与AlexNet相比,VGG的网络参数更多,深度更深,但是却需要更少的epoch次数就可以收敛,这是因为网络深度的增加和采用多个3*3卷积叠加,以及某些层的预初始化。网络权重的初始化很重要,由于CNN梯度下降的不稳定性,不好的初始化会阻碍学习。为了规避这个问题,我们从训练网络A开始,它足够浅,能够用随机初始化进行训练。然后,当训练更深网络结构时,我们用网络A的权重初始化前四个卷积层和后三个全连接层(中间层被随机初始化)。对预初始化层,不降低学习率,允许它们在学习过程中改变。对于随机初始化,我们从0均值和0.01方差的正态分布中取值,偏差初始化为0。为了得到固定大小的224x224的VGG输入图像,我们随机从经过尺寸缩放的训练集图片中进行裁剪(每张图的每次SGD迭代时裁剪一次)。为了进一步对训练集数据进行增强,被裁剪图片将进行随机水平翻转及RGB颜色转换。

3.2 测试

    在测试时,给定一个训练后的卷积神经网络及一张输入图片,用以下方式进行分类。首先,各向同性缩放成预定义的最小边,设为Q(也称为测试尺寸)。注意Q不一定等于训练尺寸S,每个S使用多个Q可以提高性能。然后,根据Sermanet的方法将网络密集应用在测试图片上,也就是说,全连接层先被转换化为卷积层(第一个全连接层转为7x7的卷积层,最后两个转化为1x1的卷积层)。然后将得到的全卷积网络运用在整幅图像上。结果是一个分类得分图,其中通道数等于类别数,并且空间分辨率依赖于输入图片的尺寸。最后,为了得到固定尺寸的分类得分向量,将分类得分图进行平均化。我们还通过水平翻转图像来增加测试集;在原始图像和翻转图像上的softmax分类概率的平均值作为这幅图像的最终得分。测试阶段不对图像进行多个裁剪采样。此外,由于不同的卷积边界条件,多重裁剪评估与密集评估是互补的:对一个裁剪图像使用卷积网络,卷积得到的特征图被0填充,而在密集评估的情况下,相同裁剪图像的填充自然会来自于图片的相邻像素,这大大增加了整个网络的感受野,因此可以获取更多的上下文信息。

4.分类实验

    数据集 在本章,我们讲述了卷积神经网络在ILSVRC2012数据集上的分类结果。数据集包含1000个类别,被分为三部分:训练集(1.3M张图片),验证集(50K张图片),测试集(100K张图片,没有标签)。分类性能使用两个办法评估:top-1和top-5 error。前者是一个多类分类错误率,即错误分类图像的比例;后者是在ILSVRC上的主要评估标准,即真实类别不在top-5预测类别之中的图像的比例。

4.1 单尺度评估

    我们首先评估单个卷积神经网络在单尺度上的性能,其层结构配置如2.2节中描述。测试图像大小设置如下:对于固定的S,Q=S,对于变动的S∈[Smin, Smax>],Q=0.5(Smin + Smax)。结果如表2所示。

表2:单尺度上的卷积网络性能

 首先,我们注意到,使用局部响应归一化(A-LRN)的性能并没有比未用标准化层的A高。因此我们没有在更深的网络结构上使用标准化操作(B-E)其次,我们发现分类的错误率随着卷积层的增加而减少:从11层的A到19层的E。注意,尽管深度相同,配置C(包含3个1x1卷积层)没有配置D(使用3x3卷积层)性能好,这意味着添加非线性层的确有用(C比B好),但是使用卷积获取空间上下文信息更有用(D比C好)。当深度达到19层时,错误率达到饱和,但是更大的数据集使用更深的模型会更好。我们还将网络B与一个具有5x5卷积层的浅层网络(派生自B但是将3x3卷积层换成了一个5x5卷积层)进行了比较。浅层网络的top-1错误率比B高了7%,这证明了具有小滤波器的深层网络比具有较大滤波器的浅层网络。最后,训练时尺寸变化(S ∈ [256;512]) 的性能比固定最小边(S = 256 或 S = 384)的性能要好,尽管测试时使用的是单一尺寸。这证明训练集通过变化尺寸来进行数据增强的确能获取更多尺寸的图片统计信息。

4.2 多尺度评估

    评估了卷积网络模型在单一尺度上的性能之后,我们现在来评估在测试阶段使用尺寸抖动的影响。先在模型上运行一张测试图像的不同尺度图像(对应于不同的Q值),然后计算每个类概率的平均值。考虑到训练与测试尺度之间的巨大差异会导致性能下降,模型使用固定的S训练,通过3个接近训练集的测试集尺寸进行评估:Q={S-32, S, S+32}。同时,训练时的尺寸抖动使测试时能使用更大范围尺寸的图像,所以使用S ∈ [Smin;Smax]训练的模型用更大范围的Q来评估,Q={Smin, 0.5(Smin, Smax), Smax}。

    表3中给出的结果表明,在测试时图片尺寸抖动会使性能更好。与之前相同,最深的配置(D和E)表现的最好,并且训练时尺度抖动比固定最小边S表现更好。我们在验证集上最好的单一网络模型错误率为24.8%(top-1)7.5%(top5)(在表4种加粗)。在测试集上,配置E达到了7.3%的top-5错误率。

表3:在多个测试尺度上的卷积网络性能

4.3 多裁剪评估

    在表4中,我们对密集卷积网络评估和多重裁切评估进行了比较(细节见第3.2节)。我们同样还评估了两种技术通过计算两者softmax输出平均值的互补结果。可以看出,使用多重裁剪比密集评估的效果略好,并且两种方法是完全互补的,因为两者组合的效果比每一种都要好。根据以上结果,我们假设这是由对于卷积边界条件的不同处理方法造成的。

表4:卷积网络评估技术比较。在所有实验中,训练尺度S从[256,512]采样,三个测试尺寸Q为{256, 384, 512}

4.4 卷积网络融合

    到目前为止,我们评估了不同卷积网络模型的性能。在这部分实验中,我们将通过计算多个模型softmax分类概率的平均值来对它们的输出进行组合。由于模型的互补性,性能得到了改善,这也用在Alexnet 和ZFNet的ILSVRC的最佳结果中。

    结果如表5所示。在ILSVRC比赛中我们仅训练了单尺度网络和多尺度网络D(仅仅微调了全连接层而非所有层)。7个模型组合结果在ILSVRC中测试的错误率为7.3%。在提交之后,我们考虑了只用两个表现最好的多尺度模型(D和E)进行组合,使用密集评估将测试错误率降低到7.0%,使用密集和多裁剪评估时错误率为6.8%。作为参考,我们表现最佳的单一模型错误率为7.1%(模型E,表5)。

表5:多卷积网络融合结果

5.结论

    本文评估了卷积神经网络在大规模图片分类中的应用。结果表明,深度有利于提高分类的正确率,通过在传统的网络框架中使用更深的层能够在ImageNet数据集上取得优异的结果。附录中,展示了我们的模型可以很好的泛化到各种各样的任务和数据集上,性能达到甚至超过了目前最先进的网络。实验结果再次证明了深度在视觉表达中的重要性。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值