VGG简介
- 论文名称:《VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION》。
- 作者团队:Karen Simonyan ∗ & Andrew Zisserman +;Visual Geometry Group, Department of Engineering Science, University of Oxford。
- 2014年,牛津大学计算机视觉组(Visual Geometry Group)和Google DeepMind公司的研究员一起研发出了新的深度卷积神经网络:VGGNet,并取得了ILSVRC2014比赛分类项目的第二名(第一名是GoogLeNet,也是同年提出的)和定位项目的第一名。
VGGNet目的和结果
VGGNet探索了卷积神经网络的深度与其性能之间的关系,成功地构筑了16~19层深的卷积神经网络,证明了增加网络的深度能够在一定程度上影响网络最终的性能,使错误率大幅下降,同时拓展性又很强,迁移到其它图片数据上的泛化性也非常好。
VGGNet架构和特点
- 预处理:每一张图片减去其RGB均值。
- 卷积层:
-
- 3*3的卷积核,步长为1;
-
- 保证大小不变,padding=1并且补充0;
-
- 最大值池化,2*2,步长为2;
-
- 有隐藏层使用ReLU(每次卷积之后使用。LRN没使用,是因为没有效果,还会加重内存消耗和计算时间);
- 全连接
-
- 3层全连接:4096-4096-1000;
- 分类:最后soft-max分类。
VGGNet的训练
除了从多尺度训练图像上采集输入图像外,VGGNet的训练过程与AlexNet类似。
- 方法:多项逻辑斯蒂回归;
- 优化 (optimizer):含有动量的随机梯度下降(SGD+momentum(0.9)+batch size(256)).
- 正则化(regularization):采用L2正则化=weight decay;惩罚乘数λ是5∗10^−4。
- 随机失活(Dropout):在前两个全连接层,p=0.5;
- 学习速率:初始值设置为10^−2,当验证集的准确性不再提高的时候,下降十倍,总共下降三次;
- 初始化权值:随机初始化(在正态分布上面采样,均值为0,方差为10^−2)。
训练时图像处理
测试
- 确定测试尺寸Q:
-
- Q为单尺度评估:当训练尺度S是单尺度,测试尺度Q=S;
当训练尺度S是多尺度,测试尺度Q=0.5∗(S_min+S_max);
- Q为单尺度评估:当训练尺度S是单尺度,测试尺度Q=S;
-
- Q为多尺度评估:当训练尺度S是单尺度,测试尺度Q={S-32,S+32};
当训练尺度S是多尺度,测试尺度Q={S_min , 0.5∗(S_min+S_max,S_max)。
- Q为多尺度评估:当训练尺度S是单尺度,测试尺度Q={S-32,S+32};
- Dense密集评估:即全连接变为全卷积,这导致图片放缩后将不用裁剪了。
- 全卷积完的结果是多通道的类分数图,图的通道数等于类的个数;随后每一个类分数图进行求和,得到一个包含每个类分数的向量;最后soft-max。(这个分数其实是概率)
- 为了增强测试集:测试集进行了水平翻转。所以,把原始图像和翻转图像的soft-max分类后验概率取平均得到最终的分数。
测试的两种策略
转载:https://blog.csdn.net/Alter__/article/details/117444720
查看评论