卷积神经网络之-VGGNet

2023-11-20

更多内容请关注『机器视觉 CV』公众号
原文地址

VGGNet 是由牛津大学视觉几何小组(Visual Geometry Group, VGG)提出的一种深层卷积网络结构,他们以7.32%的错误率赢得了2014年ILSVRC分类任务的亚军(冠军由GoogLeNet以6.65%的错误率夺得)和25.32%的错误率夺得定位任务(Localization)的第一名(GoogLeNet错误率为26.44%)

论文地址:https://arxiv.org/abs/1409.1556

网络结构

在《Very Deep Convolutional Networks for Large-Scale Image Recognition》论文中,作者给出了 6 个 VGG 模型,对应不同的网络结构和深度,具体结构如下:

不同的网络结构

不同网络结构的参数量(单位:百万)

VGG-19 的网络结构

设计要点

  • 预处理过程:图片每个像素中减去在训练集上的图片计算 RGB 均值
  • 所有隐藏层都配备了 ReLU 激活
  • 全局使用 3×3 小卷积,可以有效的减少参数,2 个 3×3 卷积可以替代一个 5×5 卷积,参数量变成 5×5 卷积的2×3×3/5×5=0.72 倍,3 个 3×3 卷积可以替换 1 个 7×7 卷积,参数量是 7×7 卷积的 3×3×3/7×7=0.6 倍。这样的连接方式使得网络参数量更小,而且多层的激活函数令网络对特征的学习能力更强。多个 3*3 的卷积核比一个较大尺寸的卷积核有更多层的非线性函数,增加了非线性表达,使判决函数更具有判决性。
  • 结合 1×1 卷积层是增加决策函数非线性而不影响卷积层感受野的一种方式。
  • 训练设置:批量大小设为 256,动量为 0.9。训练通过权重衰减(L2 惩罚乘子设定为 5×10^−4)进行正则化,前两个全连接层采取 dropout 正则化(dropout 比率设定为 0.5)。学习率初始设定为 10−2,然后当验证集准确率停止改善时,学习率以 10 倍的比率进行减小。学习率总共降低 3 次,学习在 37 万次迭代后停止(74 个 epochs)。
  • 为了进一步增强训练集,裁剪图像经过了随机水平翻转和随机 RGB 颜色偏移
  • 全连接转卷积(测试阶段),使用不同的尺度进行测试

结果分析

  • 单尺度的测试结果

image.png

  1. 网络的性能随着网络的加深而提高。
  2. 应该注意到 B,C,D 这个网络的性能。C 网络好于 B 网络,说明额外添加的非线性激活函数,确实是有好处的;但是,D 网络好于 C 网络,这说明也可以使用非平凡的感受野( non-trivial receptive fields)来捕获更多的信息更有用。
  3. 当网络层数达到 19 层时,使用 VGG 架构的错误率就不再随着层数加深而提高了。更深的网络应该需要更多的数据集。
  4. 论文还将网络 B 与具有 5×5 卷积层的浅层网络进行了比较,浅层网络可以通过用单个 5×5 卷积层替换 B 中每对 3×3 卷积层得到。测量的浅层网络 top-1 错误率比网络 B 的 top-1 错误率(在中心裁剪图像上)高 7%,这证实了具有小滤波器的深层网络优于具有较大滤波器的浅层网络。
  • 多尺度评估,测试图像的尺度抖动对性能的影响

在单尺度上评估 ConvNet 模型后,我们现在评估测试时尺度抖动的影响。它包括在一张测试图像的几个归一化版本上运行模型(对应于不同的 Q 值),然后对所得到的类别后进行平均。考虑到训练和测试尺度之间的巨大差异会导致性能下降,用固定 S 训练的模型在三个测试图像尺度上进行了评估,接近于训练的尺度:Q = {S−32, S, S+32}。同时,训练时的尺度抖动允许网络在测试时应用于更广的尺度范围,所以用变量 S ∈ [Smin; Smax] 训练的模型在更大的尺寸范围 Q = {Smin, 0.5(Smin + Smax), Smax} 上进行评估。

  • 稠密和多裁剪图像评估

Dense(密集评估),即指全连接层替换为卷积层(第一 FC 层转换到 7×7 卷积层,最后两个 FC 层转换到 1×1 卷积层),最后得出一个预测的 score map,再对结果求平均。

multi-crop,即对图像进行多样本的随机裁剪,将得到多张裁剪得到的图像输入到网络中,最终对所有结果平均

模型特性

  • 整个网络都使用卷积核尺寸为 3×3 和最大池化尺寸2×2。
  • VGGNet 在训练时有一个小技巧,先训练浅层的的简单网络 VGG11,再复用 VGG11 的权重来初始化 VGG13,如此反复训练并初始化 VGG19,能够使训练时收敛的速度更快。
  • 在训练过程中使用多尺度的变换对原始数据做数据增强,使得模型不易过拟合。

参考:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

卷积神经网络之-VGGNet 的相关文章

随机推荐

  • Redis热点数据处理

    1 概念 热点数据就是访问量特别大的数据 2 热点数据引起的问题 流量集中 达到物理网卡上限 请求过多 缓存分片服务被打垮 redis作为一个单线程的结构 所有的请求到来后都会去排队 当请求量远大于自身处理能力时 后面的请求会陷入等待 超时
  • The style on this component requires your app theme to be Theme.MaterialComponents

    MD版本采用如下 implementation com google android material material 1 2 0 alpha01 再采用MD的Dialog的时候报标题错误 后经分析查找 当前版本强制APP主题为Mater
  • FreeRTOSConfig.h 配置优化及深入

    本篇目标 基于上一篇的移植freertos stm32f4 freertos 上 修改 FreeRTOSConfig h 文件的相关配置来优化辅助 FreeRtos 的使用 并且建立一些基本功能 信号量 消息地列等 的简单应用位于 stm3
  • 如何才能避免辛苦开发出来的产品惨遭市场冷遇?

    精益创新与传统创新模式的主要区别 1 传统的火箭发射式创新 认为用户需求和解决方案都是可以预知的 且可以准确把握的 直到产品成型的那一刻才面向用户 2 精益创新 认为用户痛点和解决方案在本质上都是未知的 无法完美预测的 需要通过不断地验证与
  • 双系统删除Ubuntu后出现grub界面而无法正常启动Windows系统的解决方法

    第一次安装双系统的时候由于不怎么会弄 设置了ubuntu引导windows 这种方法是非常不推荐的 因为当ubuntu出现问题或者是当你不再使用ubuntu的时候 删除ubuntu就会成为一个很麻烦的问题 本人也遇到了这样的问题 然后直接删
  • vscode网页版code-server搭建和使用

    主力编辑器是vscode 手上正好也有台闲置的服务器 如果把vscode搞到浏览器中 那么在一些没有vscode的设备上也可以愉快的敲代码了 code server它可以让有浏览器的设备访问服务器上运行的vscode 这篇文章记录下code
  • [keil5] 中有关“TOOLS.INI-Section ‘[C51]‘ : missing ‘PATH‘ enty “错误

    在安装vdmagdi后 打开keil5 uVision5出现 gt gt gt TOOLS INI Section C51 missing PATH enty lt lt lt 错误 原因如下 双击运行vdmagdi exe文件 选择了AG
  • java static关键字的作用是什么_java中的static关键字

    一 static代表着什么 在Java中并不存在全局变量的概念 但是我们可以通过static来实现一个 伪全局 的概念 在Java中static表示 全局 或者 静态 的意思 用来修饰成员变量和成员方法 当然也可以修饰代码块 Java把内存
  • Qt在线帮助文档网址以及安装包下载地址

    Qt在线帮助文档网址 https doc qt io qt 5 classes html Qt安装包下载地址 http download qt io new archive qt http download qt io archive qt
  • 解决Django运行报错:Couldn't import Django. Are you sure it's installed and available on your environment**

    今天在创建一个Django项目的时候 使用命令行 进入项目目录运行 python manage py runserver 然后报错 ImportError Couldn t import Django Are you sure it s i
  • CMake输出编译时间信息

    使用CMake进行编译的代码 有时候会希望获得当前代码编译的时间信息 使用CMake提供的函数和宏等功能可以实现这个功能 下面是实现这个功能的一段代码 原文链接 CMake输出编译时间信息
  • 软件开发-专业英语(主Qt-help)

    QIODevice Class 的一段描述 Certain subclasses of QIODevice such as QTcpSocket and QProcess are asynchronous This means that I
  • 用微信开发者工具--打开小程序组件vant Weapp示例

    浏览器搜索 https github com youzan vant weapp 1 下载Vant Weapp组件 2 打开微信开发者工具 把vant weapp example目录添加进去 3 把dist目录复制到example目录下 在
  • ag-gride-vue 数据的多选

    1 data checkAll false selectedRowIds isIndeterminate false 2 methods changeSelectedRow flag id flag this selectedRowIds
  • 小程序开发——微信外环境静态h5跳转小程序

    亲测有效 微信外环境静态h5跳转小程序
  • draw.io---一款免费、开源的流程图绘制工具

    draw io 是一款非常强大实用的免费 开源流程图绘制工具 功能众多 例如通过流程图来可视化您的工作流程 创建组织结构图来来显示人员结构 创建网络图来可视化网络等等 适用于商务 工程 电气 网络设计 软件设计等诸多领域 同时还内置了相当丰
  • ddos攻击怎么防?防御ddos的几种方法

    现在的互联网行业大多数企业基本上都依靠网络来获取流量和订单或者服务 但是却对网络的利弊知之甚少 特别是网站的较大威胁DDOS攻击 很多互联网企业基本都遭遇过DDOS攻击的勒索和恶性竞争 大部分企业网站一旦被DDOS攻击就立马挂了 从而影响了
  • Linux下printk输出

    由于Linux内核的级别控制 导致printk打印的内容不一定都能从控制台正常输出 可以使用dmesg命令来输出所有级别的信息 输入 sudo dmesg n 8 可以把所有日志信息输出来 Linux命令 dmesg 功能说明 显示开机信息
  • Tips系列之飞书日历

    最近收到很多小伙伴的问题 咨询飞书日历如何使用 今天就给大家呈上几个小Tips 让你更全面的了解飞书日历 免费使用 飞书官网 1 订阅日历 你可以订阅同事的日历 查看对方的忙闲状态 省去反复沟通的麻烦 快速找到空闲时间并邀约会议 如何订阅日
  • 卷积神经网络之-VGGNet

    更多内容请关注 机器视觉 CV 公众号 原文地址 VGGNet 是由牛津大学视觉几何小组 Visual Geometry Group VGG 提出的一种深层卷积网络结构 他们以7 32 的错误率赢得了2014年ILSVRC分类任务的亚军 冠