VGG-NET论文翻译解读

摘要

    该文贡献是提出了非常深且具有非常小(3\times 3)的卷积核的卷积神经网络,并把之前的网络深度推向了19层,并且取得了不错的性能。

一、背景

    略。

二、网络配置

2.1、架构

    网络输入是 224\times 224 的RGB图像,唯一的预处理是将每个像素减轻在整个训练集上计算得到的所有的像素的均值。图像在一系列的卷积层传递,这些卷积层的核都是 3\times 3 (这是捕获上下、左右、中心的最小核尺寸)。在其中一个配置当,也使用了 1\times 1 卷积核,它可以看做是对通道的一个线性变换(后面也有非线性变换)。卷积步长固定为1,padding方式是卷积前后尺寸相同,也就是对于 3\times 3 卷积核来说padding是1个像素。池化选择最大池化,窗口是 2\times 2,步长是2。

    全连接层不做解释,基本和之前的网络结构一样。

2.2、配置

    各个网络的配置如表一所示,除了深度不同之外,其它之处基本类似。这些网络虽然很深,但是很瘦,所以参数数量并不比有些浅而比较胖的模型多。

VGG-NET论文翻译解读_第1张图片 表1

2.3、讨论

    和之前的网络不同,在前面几层中,仅使用了3\times 3这种很小的卷积核和1像素的步长(每个像素都),没有使用很大的卷积核和很大的步长。一个很重要的结论:两个 3\times 3 卷积层堆叠在一起相当于具有一个 5\times 5 感受野的卷积层,而3个 3\times 3 卷积层堆叠在一起相当于具有一个 7\times 7 感受野的卷积层,。这么所的好处有:(1):两个或多个卷积层的非线性比一个卷积层的非线性强;(2):参数数量减少了,这相当于在 7\times 7 卷积层上加上了正则化。

    1\times 1 卷积核的引入是一种在不影响卷积层感受野的前提下增加决策函数非线性的方式。

三、分类架构

3.1、训练

    训练的超参数同之前的一些网络一样,不再赘述。

    训练图片尺寸。令 S 是各向同性缩放后的图片的短边,从原始图片中裁剪出一个边长为 S 的图片作为网络输入。

    有两种训练尺度的设置方法。一是固定 S,也就是单尺度训练,在实验中该文采用了256和384两种尺寸分别训练网络。首先用256尺寸的图片训练网络,在训练384尺寸图片的网络时,为了加速,采用256尺寸上训练完的模型的参数初始化网络,并使用了一个更小的学习率(这种做法很值得考究

    第二种是多尺度训练。每张图片独立的进行各向同性缩放(缩放后的短边范围是在 [S_{min},S_{max}] 中随机采样),缩放后再进行固定尺寸的裁剪。由于图片尺寸不一,将这种尺度抖动数据增强方法考虑在内是有好处的,这样的模型是在多个不同尺度图片上进行训练的,应该会有更好的泛化性同样的,为了加快多尺度模型训练,采用了384尺寸图片训练完成的网络参数来初始化多尺度模型,并逐层微调

3.2、测试

    将测试图片各向同性的缩放到短边长度为 Q,Q 不一定和 S 相等。然后,网络被密集地应用在重新缩放的测试图像上。也即,全连接层先转换成卷积层(第一个全连接层转成 7\times 7 的卷积层,第二个全连接层转成 1\times 1 的卷积层)。最终的全卷积网络应用在未缩放的整个图片上,生成了一个类打分映射,映射的通道数量与类别数相等,并且具有不同尺寸的输入图片,其空间分辨率也不同。最后,为了得到一个长度固定的类别打分向量,将类别打分映射中的每个通道进行加和平均池化,最终得到一个长度与通道数一致的向量,这就是类别打分向量。该文也通过水平翻转进行数据增强。对于每个测试图片,将其原始图片与经过水平翻转的图片的soft-max类后验概率进行平均,得到每个类别在图片上的打分

    由于全卷积网络应用在整个图片上,因此在测试时没有必要再进行裁剪,由于需要对每个裁剪的图片块进行计算,拖慢了网络的效率。但同时,大量的裁剪的图像块提高了网络精度,因为相比全卷积网络这种方式可以得到更加精细的图片采样。

3.3、实现细节

    多GPU同步进行训练,每个GPU分担一部分batch的数据,每个GPU计算完梯度后,所有的GPU的计算结果求平均值作为一轮迭代的梯度计算结果。

四、分类实验

4.1、单尺度评估

    结论:深而瘦的网络比浅而胖的网络性能好。尺度抖动数据增加有助于捕获多尺度的图像信息。

你可能感兴趣的:(VGG-NET论文翻译解读)