论文简介
该论文提出深度神经网络的深度对于大规模图像识别模型的表现有显著提升。模型使用3*3的小型卷积过滤器和较小的卷积层步幅,并且其神经网络层数达到了16-19层。基于这些发现在ImageNet-2014比赛中取得了第一名和第二名。并且该模型在其他类型的图像数据集上也具有泛化性,具有良好的迁移能力。
神经网络设置
神经网络的输入是224×224像素尺寸的RGB图片,并且对图片进行了预处理,减去平均RGB值。模型中使用了非常小的感受野,尺寸为3×3,这种设置刚好能捕获一个像素周围的其他像素值。并且卷积层的步幅为1,这意味这每个像素都会被进行特征提取。经过这种卷积处理后,输入的空间分辨率依旧保持不变。空间池化由跟在卷积层后面的5个最大池化层执行。最大池化在2×2的窗口上执行,步幅为2。
卷积层后是全连接层,第1、2层输入为4096通道,第3层进行1000路分类,最后是softmax层。所有的隐藏层都设置了ReLU非线性激活函数。不同于AlexNet(Krizhevsky et al., 2012),该模型不包含LRN(Local Response Normalization),它不会改进模型效果并且会增加计算量。
图1中每一列都表示一种卷积网络设置,他们在神经网络结构上都是类似的,只有卷积网络的深度不同,网络深度从11层到19层。卷积层的宽度也更小,第一层只有64 。每经过一次最大池化,卷积层宽度就会变为原来的两倍。
图2展示了这6种网络模型的参数数量,深度的增加并没有使神经网络参数更多,反而比AlexNet等模型参数更少一些。
相比较于使用更大的感受野和卷积步幅,整个模型都只使用了3×3的感受野和步幅为1的卷积方式。在不插入池化操作的情况下,两个3×3的卷积层栈总共有5×5的有效感受野,三个卷积层则有7×7的有效感受野。一个7×7的卷积层的有效感受野和三个3×3的卷积栈的有效感受野相同,并且通过合并三个非线性校正层,使得决策函数更加具有区分性。这种操作也减少了参数的数量:假设三层3×3的卷积栈输入和输出都有C个通道,所需参数为$3(32C2)=27C^2$, 而一个7×7卷积层的参数为$72C2=49C^2$ 。所需参数数量变为原来的81%。这种方式可以看成是对7×7的卷积过滤施加了一个正则化,使得他们通过3×3过滤器进行分解,并加入了非线性激活函数。
配置C中1×1卷积层的加入,可以在不影响感受野的情况下,为决策函数增加非线性激活函数。1×1的卷积层也被使用在“Network of Network-Lin et al. (2014)”模型中。
图像分类训练和评估
训练
模型训练通过使用带动量的小批量梯度下降(基于LeCun等人的反向传播算法),优化多项式逻辑回归目标。批数量为256,动量0.9 。通过设置L2惩罚系数为5×10^-4来进行权重衰减,在两个全连接层加入参数为0.5的dropout。学习率被设置为0.01,当验证集准确率停止下降后,将学习率除以10 。经过74轮训练37万次迭代,学习率下降三次。
虽然与AlexNet相比该模型具有更多的参数和更深的网络结构,但是却能够更快地收敛,这可能是由于更深的网络层数和更小的卷积尺寸,或者是在某些层进行的初始化。
通过对表1中的网络结构A进行随机初始化预训练,然后将训练参数用于更深层次的网络,把A的参数初始化前四层卷积层后后三层全连接层。对于其他层采取随机初始化,将权重设置为均值为0,方差为0.01的正态分布,偏差被设置为0 。也可以使用Glorot & Bengio (2010) 的随机初始化过程而不进行预训练。
为了获得224×224的输入图片,对尺寸变换后的图片进行随机裁决,每次迭代的每次随机梯度下降都进行一次裁剪。训练也使用了(Krizhevsky et al., 2012)的数据增强方法,对图像进行水平镜像和随机RGB颜色变换。
训练集也通过改变训练集图片尺寸来进行数据增强:将S记为图片放缩后最小边的长度,输入图片的像素尺寸固定为224×224,所以放缩后的图片S不能小于224。当图片放缩后尺寸S=224,模型会获取整个图片的特征,生成最小的图片图片。如果放缩后图片尺寸S远大于224,那么图片就会进行裁剪后再输入模型。这种裁剪会获得图片每个分块的特征。
在训练过程中会使用两种放缩尺寸S。第一种是固定参数,选取了S的两种大小:256和384 。通过将训练图片放缩到这两种尺寸进行训练。模型会对放缩后的图片进行裁切,获得多个224×224的输入图片。
第2种方法是将S设置为多尺度,每个训练图片会被随机放缩到$[S_{min},S_{max}]$尺度范围内。本论文选取的最小值和最大值为256和512 。因为图片中的对象可能是各种大小的,这种放缩更有可能捕获到图像中不同位置不同大小的对象。为了加速训练,本文中先预训练了固定尺寸S=384的模型。
测试
在测试时,会将图片放缩到比例为Q。Q不必等于训练集的放缩比例S。
第一种测试方式为dense evaluation。通过将网络的全连接层进行替换,第一个全连接层换为7×7的卷积层,剩下两个全连接层换为1×1的卷积层。然后把测试图片放缩后输入全卷积网络进行测试,得到一个类别得分图,通道的数量和分类的数量一致,以及一个依赖于输入图像尺寸的变量空间分辨率。测试中也会将测试集图片进行水平翻转,然后将这些图片的softmax分类结果进行平均,获得最终的分类。
因为全卷积网络应用于整个图像,也就没有必要去在测试时采样多个裁剪图片,这会很低效,需要网络重新计算每个裁剪图片。
同时,multi-crop使用一组裁剪图片也可以改进测试准确率,相较于全卷积网络,它可以在对输入图像的每个采样都得出一个结果。
multi-crop评估和稠密评估一定程度上是互补的,这是由于不同的卷积边界条件。当把卷积网络应用于一个裁切图片,其包含的特征映射是填充零的。而稠密评估因为卷积和空间池化操作,是填充同一裁切图片相邻部分的特征,这显著增加了整个网络的感受野以及捕获的上下文。但是multi-crop提升的准确率还不及它额外的计算成本显著。
实现细节
模型的训练使用4块并行计算,把每一个batch的图像输入不同的GPU进行梯度计算,梯度和参数在GPU之间都是共享的,训练效果和在一块GPU上是类似的。但是通过这种方法加速了计算过程。训练一个卷积网络所用的时间大概在2-3周。
分类实验
数据集采用了ILSVRC-2012数据集,这个数据集在ILSVRC 2012-2014比赛都在使用。数据集包含1000类图像:130万训练集、5万验证集和10万测试集。
单尺度评估
根据表格3的内容,训练集上的尺度抖动能够显著提升模型在测试集上的表现。
通过测试发现,从A-E卷积网络深度增加错误率会下降。虽然C和D有相同的网络深度,但是C包含1×1卷积层,C的表现不如D。这证明虽然1×1卷积层增加了非线性过滤,但是通过卷积网络捕获空间上下文是更重要的。
通过将B中一对3×3的卷积层换成一个5×5的卷积层,模型表现反而下降了7%,证明更深的卷积网络和更小的感受野能够提升模型表现。
多尺度评估
多裁剪评估
稠密评估方法和随机裁剪评估方法有互补性,在测试中随机裁剪略由于稠密评估,但是将两者的softmax结果进行平均后,效果要好于单独使用一种方法。
卷积网络融合
之前单独测试了每种卷积网络的表现,通过将多个模型的soft-max结果进行平均。从测试结果可以发现,融合D和E网络结构的结果,使用多裁剪和稠密评估结合后,模型表现再次提升。
通过对不同方法的不同卷积网络数量进行综合对比和比较,发现多个卷积网络融合后能够取得更好的效果。卷积网络融合的方法能提升大部分模型的表现。
结论
通过评估发现,更深的卷积神经网络在大规模图像分类上表现很好。卷积网络的深度有益于分类准确度。此外,VGG模型有很好的泛化能力,能够在其他分类任务和数据集上表现良好。
标签:训练,卷积,模型,VGG,笔记,放缩,文献,224,图片 From: https://www.cnblogs.com/d42z/p/16793127.html