3 CLASSIFICATION FRAMEWORK
这个部分讲的是ConvNet分类网络训练和测试的细节。
3.1 TRAINING
ConvNet的训练程序基本和AlexNet差不多。也就是说,训练是通过使用具有**动量 (momentum)**的,基于反向传播的mini-batch梯度下降来优化多项logistic regression. batch size设置为256,momentum为0.9.
这个训练是通过weight decay(
L
2
r
e
g
u
l
a
r
i
z
a
t
i
o
n
L^2 regularization
L2regularization)被正则化的(
L
2
L^2
L2 penalty multiplier设置为
5
×
1
0
−
4
5\times10^{-4}
5×10−4)。对前两个fc层的dropout设置为0.5. 学习率设置为
1
0
−
2
10^{-2}
10−2,然后每当验证集的精确率停止提升时就降低10倍。 研究者推测尽管与AlexNet相比VGG参数量更大,网络更深,但网络更容易收敛,因为:(a) 被更大的深度和更小的卷积核增强的隐性正则化;(b) 对特定层的预先初始化。
对网络权重的初始化是重要的,因为不好的初始化会因为深度的网络中不稳定的梯度来阻止学习。
先训练较浅的模型,再用较浅模型的参数为较深模型进行初始化
为了解决这个问题,研究者先训练了配置A(Tabel 1),配置A的深度足够浅以至于可以用随机初始化训练。然后在训练更深的结构时,研究者用配置A的前四个卷积层和后三个全连接层来初始化,其余的层是随机初始化的。研究者没有给预先初始化的层减少学习率,这些层的学习率会随着训练的进行而改变。对于应用了随机初始化的层,权重是来自平均数为0,方差为 1 0 − 2 10^{-2} 10−2的高斯分布。偏置(biases)被初始化为0.
直接通过一些关于初始化的算法进行初始化
在不通过预训练的情况下可以通过Glorot & Bengio (2010)的随机初始化程序来进行初始化。(还有很多这个类型的算法)
数据增强
为了得到固定大小224×224的输入图像,这些来自重新标度的训练图像被随机裁剪。为了更进一步增强训练集,图像还经过了随机水平翻转和随机RGB颜色移位
训练图像大小的调整
使S为各向同性的重新标度(isotropically-rescaled)的训练图像的最小一边,从该图像中ConvNet输入被裁剪了(S也被称为训练尺度(training scale))。 当裁剪大小被固定在224×224时,理论上S取不小于224的任何值:对于S=224,裁剪部分就是全图像统计数据,完全横跨训练图像的最小边;对于S≫224,裁剪部分将对应于图像的一小部分,包含一个小对象或对象的一部分。
single-scale training
固定S的值,该实验中使用了S=256和S=384. 为了加快S=384的训练,它被S=256预先初始化了,而且学习率为 1 0 − 3 10^{-3} 10−3
multi-scale training
每个训练图像通过从一定范围 [ S m i n , S m a x ] [S_{min},S_{max}] [Smin,Smax]内随机采样S来单独重新标度,研究者用了 S m i n = 256 和 S m a x = 512 S_{min}=256和S_{max}=512 Smin=256和Smax=512。为了加快训练,研究者通过对具有相同配置的单尺度模型的所有层进行微调来训练多尺度模型,预先用固定的S=384进行训练。
3.2 TESTING
在测试时,给定一个经过训练的ConvNet和一个输入图像,它按以下方式分类。 首先,它被各向同性地重新标度为预定义的最小图像侧,Q(或称为测试尺度)。 Q不一定等于S( 对于每个S使用多个Q值会提高性能)。 然后,网络被密集地应用于重新标度的测试图像。也就是说,全连接层首先被转换为卷积层(第一FC层转换为7×7卷积层,最后两个FC层转换为1×1卷积层)。 然后将得到的全卷积网应用于整个(未裁剪)图像。 结果是一个类分数图(class score map),其通道数等于类的数目,而且还有一个可变的空间分辨率(spatial resolution),取决于输入的图像大小。 最后,为了获得图像的类分数的固定大小向量,对类分数映射进行空间平均(求和)。 研究者还通过对图像的水平翻转来增强测试集;对原始图像和翻转图像的Soft-max类后验进行平均,以获得图像的最终分数。