VGGNet 总结

VGGNet 总结本文是对 VeryDeepConv ScaleImageRe 的论文解读和总结 该论文发表于 ICLR2015 由牛津大学视觉几何组 VisualGeomet 和 DeepMind 公司提出 这也是 VGG 名字的由来 自 2015 年发表至今 已有超过 7K 的引用量 是 ILSVRC 2014 中定位任

本文是对《Very Deep Convolutional Networks for Large-Scale Image Recognition》的论文解读和总结。该论文发表于 ICLR2015,由牛津大学视觉几何组(Visual Geometry Group)和 DeepMind 公司提出,这也是 VGG 名字的由来。自2015年发表至今,已有超过1.6万的引用量,是 ILSVRC-2014 中定位任务第一名和分类任务第二名。

注:博文中图片表格均来自原文。

1. 网络结构

这里写图片描述

1.1 不同结构的对比

VGG一共提供了6个网络版本,一次探究不同网络的效果对比。下面简要分析一下各个版本的网络配置细节:

结构 A:与 AlexNet 类似,卷积层分为5个stage,3个全连接层,不同的是,卷积层用的都是3×3大小的卷积核;
结构 A-LRN:保留 AlexNet 中的 LRN 操作,其他结构与A相同;
结构 B:在 A 的 stage2 和 stage3 分别增加一个3×3的卷积层,共有10个卷积层了;
结构C:在 B 的基础上,stage3,stage4,stage5 分别增加一个1×1的卷积层,有13个卷积层,总计16层;
结构D:在 C 的基础上,stage3,stage4,stage5 分别增加一个3×3的卷积层,有13个卷积层,总计16层;
结构E:在 D 的基础上,stage3,stage4,stage5 分别再增加一个3×3的卷积层,有16个卷积层,总计19层。




各结构效果对比:

  • A 与 A-LRN 比较:A-LRN 结果没有 A 好,说明 LRN 作用不大;
  • A 与 B, C, D, E 比较:A 是这当中层数最少的,相比之下 A 效果不如 B,C,D,E,说明层数越深越好;
  • B 与 C 比较:增加 1×1 卷积核,增加了额外的非线性提升效果;
  • C与D比较:3×3 的卷积核(结构D)比 1×1(结构C)的效果好。
1.2 相同的卷积核
1.3 C结构中的 1×1 卷积核

1×1 卷积核主要是为了增加决策函数的非线性,而不影响卷积层的感受野。虽然 1×1 的卷积操作是线性的,但是 ReLU 增加了非线性。

2. 模型训练

数据提升:随机裁剪,水平翻转,RGB颜色通道变化。
正则化:L2正则化,weight decay 为5e-4,dropout 在前两个全连接层后,p = 0.5。
参数初始化:对于较浅的A网络,参数进行随机初始化,权重 w 从 N(0,0.01) 中采样,偏差 bias 初始化为0。然后,对于较深的网络,先用 A 网络的参数初始化前四个卷积层和三个全连接层。但是后来发现,不用预训练的参数而直接随机初始化也可以。
收敛速度:尽管相比于AlexNet网络更深,参数更多,但是 VGGNet 在更少的周期内就能收敛(总迭代次数为370k (74 epochs))。
单一尺度与多尺度训练:首先对原始图片进行等比例缩放,使得短边要大于224,然后在图片上随机提取224×224窗口,进行训练。
两种方式设置训练尺寸:
(1)固定 S 的大小,对应了单一尺度的训练,训练多个分类器:参数S为短边长。训练S=256和S=384两个分类器,其中S=384的分类器用S=256的进行初始化;
(2)多尺度(Multi-scale)训练:直接训练一个分类器,每次数据输入的时候,每张图片被重新缩放,缩放的短边S随机从[256,512]中选择一个,也可以认为通过尺度抖动(scale jittering)增加了训练集的数量。






3. 模型测试

4. 模型评估

4.1 单一尺度评估

这里写图片描述
(1)使用局部响应标准化(A-LRN)并没有改善模型 A (没有使用任何归一化层)的性能;
(2)分类误差随着网络深度的增加而减小,使用小卷积核的深层网络比使用大卷积核的浅层网络性能更好
(3)即使在测试时使用单一的尺度,训练时的尺度抖动 ( S ∈ [ S m i n , S m a x ] ) (S∈[S_{min},S_{max}]) (S[Smin,Smax]) 比在具有固定最小边 (S=256或S=384) 的图像上训练具有更好的结果。这证实了通过尺度抖动增加训练集确实有助于捕获多尺度图像统计数据。


4.2 多尺度评估

这里写图片描述
(1)测试时的尺度抖动可以带来更好的性能;
(2)最深的配置(D 和 E)表现最好,并且使用尺度抖动比固定最小边 S 的训练效果要好。

4.3 多裁剪评估

这里写图片描述
使用多剪裁表现要略好于密集评估,并且这两种方法确实是互补的,因为它们的结合优于它们中的每一种。

4.4 模型融合

这里写图片描述
结合7个网络,实现测试误差7.3%。之后,结合最好的两个模型(D&E)并使用密集评估(dense evaluation),测试误差降低到7.0%,而使用密集评估和多裁剪评估相结合,测试误差为6.8%。最好的单一模型验证误差为7.1%。

5. 结论

深度有益于分类准确度,而且,VGGNet 在不同的任务和数据集上有很多好的泛化能力。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177158.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午8:10
下一篇 2026年3月26日 下午8:10


相关推荐

  • hog特征总结

    hog特征总结一 hog 特征详解 点击 可以进入我所参考的博客 1 hog 特征原理 1 HOG 的核心思想是所检测的局部物体外形能够被光强梯度或边缘方向的分布所描述 1 通过将整幅图像分割成小的连接区域 称为 cells 每个 cell 生成一个方向梯度直方图或者 cell 中 pixel 的边缘方向 这些直方图的组合可表示出 所检测目标的目标 描述子 为改善准确率 局部直方图可以通过计算图像中一个较大区域 称为 block

    2026年3月18日
    2
  • 字典树

    字典树

    2021年8月18日
    42
  • html 隐藏滚动条,css如何隐藏滚动条?

    html 隐藏滚动条,css如何隐藏滚动条?在一个固定窗口内我们做一个可滚动的菜单的时候经常会出现很宽的滚动条 这样不仅影响美观而且影响布局 那么如何隐藏滚动条 如何下面我们来看一下使用 css 隐藏滚动条的方法 希望对大家有所帮助 CSS 伪类选择器 webkit scrollbar 可以影响了一个元素的滚动条的样式 语法 webkit scrollbar styleshere 我们可以通过 webkit scrollbar

    2026年3月17日
    1
  • @datetimeformat注解使用

    @datetimeformat注解使用版权声明 本文为博主原创文章 遵循 CC4 0BY SA 版权协议 转载请附上原文出处链接和本声明

    2026年3月20日
    2
  • pythonrandom函数用法_python标准库总的random函数用法[通俗易懂]

    pythonrandom函数用法_python标准库总的random函数用法[通俗易懂]Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等。random中的一些重要函数的用法:1)、random()返回0…

    2022年6月3日
    49
  • c语言求n个数的中位数_众数中位数平均数的特点

    c语言求n个数的中位数_众数中位数平均数的特点记录一下之前困扰了我很久的中位数和众数的函数TvT#include<stdio.h>#include<stdlib.h>#defineN40doubleAverage(intfeedback[N]);doubleMedian(intfeedback[N]);intMode(intfeedback[N],intb[]);intmain(){intfeedback[N]={0},b[N]={0};intmodnum=0

    2025年12月14日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号