深度学习经典模型之VGGNet

embedded/2024/11/14 12:09:52/

1 VGGNet

1.1 模型介绍

​ VGGNet是由牛津大学视觉几何小组(Visual Geometry Group, VGG)提出的一种深层卷积网络结构,他们以7.32%的错误率赢得了2014年ILSVRC分类任务的亚军(冠军由GoogLeNet以6.65%的错误率夺得)和25.32%的错误率夺得定位任务(Localization)的第一名(GoogLeNet错误率为26.44%) [ 5 ] ^{[5]} [5],网络名称VGGNet取自该小组名缩写。VGGNet是首批把图像分类的错误率降低到10%以内模型,同时该网络所采用的 3 × 3 3\times3 3×3卷积核的思想是后来许多模型的基础,该模型发表在2015年国际学习表征会议(International Conference On Learning Representations, ICLR)后至今被引用的次数已经超过1万4千余次。

1.2 模型结构

在这里插入图片描述

​ 图 1 VGG16网络结构图

​ 在原论文中的VGGNet包含了6个版本的演进,分别对应VGG11、VGG11-LRN、VGG13、VGG16-1、VGG16-3和VGG19,不同的后缀数值表示不同的网络层数(VGG11-LRN表示在第一层中采用了LRN的VGG11,VGG16-1表示后三组卷积块中最后一层卷积采用卷积核尺寸为 1 × 1 1\times1 1×1,相应的VGG16-3表示卷积核尺寸为 3 × 3 3\times3 3×3),本节介绍的VGG16为VGG16-3。图1中的VGG16体现了VGGNet的核心思路,使用 3 × 3 3\times3 3×3的卷积组合代替大尺寸的卷积(2个 3 × 3 卷积即可与 3\times3卷积即可与 3×3卷积即可与 5 × 5 5\times5 5×5卷积拥有相同的感受视野),网络参数设置如表2所示。

​ 表2 VGG16网络参数配置

网络层输入尺寸核尺寸输出尺寸参数个数
卷积层 C 11 C_{11} C11 224 × 224 × 3 224\times224\times3 224×224×3 3 × 3 × 64 / 1 3\times3\times64/1 3×3×64/1 224 × 224 × 64 224\times224\times64 224×224×64 ( 3 × 3 × 3 + 1 ) × 64 (3\times3\times3+1)\times64 (3×3×3+1)×64
卷积层 C 12 C_{12} C12 224 × 224 × 64 224\times224\times64 224×224×64 3 × 3 × 64 / 1 3\times3\times64/1 3×3×64/1 224 × 224 × 64 224\times224\times64 224×224×64 ( 3 × 3 × 64 + 1 ) × 64 (3\times3\times64+1)\times64 (3×3×64+1)×64
下采样层 S m a x 1 S_{max1} Smax1 224 × 224 × 64 224\times224\times64 224×224×64 2 × 2 / 2 2\times2/2 2×2/2 112 × 112 × 64 112\times112\times64 112×112×64 0 0 0
卷积层 C 21 C_{21} C21 112 × 112 × 64 112\times112\times64 112×112×64 3 × 3 × 128 / 1 3\times3\times128/1 3×3×128/1 112 × 112 × 128 112\times112\times128 112×112×128 ( 3 × 3 × 64 + 1 ) × 128 (3\times3\times64+1)\times128 (3×3×64+1)×128
卷积层 C 22 C_{22} C22 112 × 112 × 128 112\times112\times128 112×112×128 3 × 3 × 128 / 1 3\times3\times128/1 3×3×128/1 112 × 112 × 128 112\times112\times128 112×112×128 ( 3 × 3 × 128 + 1 ) × 128 (3\times3\times128+1)\times128 (3×3×128+1)×128
下采样层 S m a x 2 S_{max2} Smax2 112 × 112 × 128 112\times112\times128 112×112×128 2 × 2 / 2 2\times2/2 2×2/2 56 × 56 × 128 56\times56\times128 56×56×128 0 0 0
卷积层 C 31 C_{31} C31 56 × 56 × 128 56\times56\times128 56×56×128 3 × 3 × 256 / 1 3\times3\times256/1 3×3×256/1 56 × 56 × 256 56\times56\times256 56×56×256 ( 3 × 3 × 128 + 1 ) × 256 (3\times3\times128+1)\times256 (3×3×128+1)×256
卷积层 C 32 C_{32} C32 56 × 56 × 256 56\times56\times256 56×56×256 3 × 3 × 256 / 1 3\times3\times256/1 3×3×256/1 56 × 56 × 256 56\times56\times256 56×56×256 ( 3 × 3 × 256 + 1 ) × 256 (3\times3\times256+1)\times256 (3×3×256+1)×256
卷积层 C 33 C_{33} C33 56 × 56 × 256 56\times56\times256 56×56×256 3 × 3 × 256 / 1 3\times3\times256/1 3×3×256/1 56 × 56 × 256 56\times56\times256 56×56×256 ( 3 × 3 × 256 + 1 ) × 256 (3\times3\times256+1)\times256 (3×3×256+1)×256
下采样层 S m a x 3 S_{max3} Smax3 56 × 56 × 256 56\times56\times256 56×56×256 2 × 2 / 2 2\times2/2 2×2/2 28 × 28 × 256 28\times28\times256 28×28×256 0 0 0
卷积层 C 41 C_{41} C41 28 × 28 × 256 28\times28\times256 28×28×256 3 × 3 × 512 / 1 3\times3\times512/1 3×3×512/1 28 × 28 × 512 28\times28\times512 28×28×512 ( 3 × 3 × 256 + 1 ) × 512 (3\times3\times256+1)\times512 (3×3×256+1)×512
卷积层 C 42 C_{42} C42 28 × 28 × 512 28\times28\times512 28×28×512 3 × 3 × 512 / 1 3\times3\times512/1 3×3×512/1 28 × 28 × 512 28\times28\times512 28×28×512 ( 3 × 3 × 512 + 1 ) × 512 (3\times3\times512+1)\times512 (3×3×512+1)×512
卷积层 C 43 C_{43} C43 28 × 28 × 512 28\times28\times512 28×28×512 3 × 3 × 512 / 1 3\times3\times512/1 3×3×512/1 28 × 28 × 512 28\times28\times512 28×28×512 ( 3 × 3 × 512 + 1 ) × 512 (3\times3\times512+1)\times512 (3×3×512+1)×512
下采样层 S m a x 4 S_{max4} Smax4 28 × 28 × 512 28\times28\times512 28×28×512 2 × 2 / 2 2\times2/2 2×2/2 14 × 14 × 512 14\times14\times512 14×14×512 0 0 0
卷积层 C 51 C_{51} C51 14 × 14 × 512 14\times14\times512 14×14×512 3 × 3 × 512 / 1 3\times3\times512/1 3×3×512/1 14 × 14 × 512 14\times14\times512 14×14×512 ( 3 × 3 × 512 + 1 ) × 512 (3\times3\times512+1)\times512 (3×3×512+1)×512
卷积层 C 52 C_{52} C52 14 × 14 × 512 14\times14\times512 14×14×512 3 × 3 × 512 / 1 3\times3\times512/1 3×3×512/1 14 × 14 × 512 14\times14\times512 14×14×512 ( 3 × 3 × 512 + 1 ) × 512 (3\times3\times512+1)\times512 (3×3×512+1)×512
卷积层 C 53 C_{53} C53 14 × 14 × 512 14\times14\times512 14×14×512 3 × 3 × 512 / 1 3\times3\times512/1 3×3×512/1 14 × 14 × 512 14\times14\times512 14×14×512 ( 3 × 3 × 512 + 1 ) × 512 (3\times3\times512+1)\times512 (3×3×512+1)×512
下采样层 S m a x 5 S_{max5} Smax5 14 × 14 × 512 14\times14\times512 14×14×512 2 × 2 / 2 2\times2/2 2×2/2 7 × 7 × 512 7\times7\times512 7×7×512 0 0 0
全连接层 F C 1 FC_{1} FC1 7 × 7 × 512 7\times7\times512 7×7×512 ( 7 × 7 × 512 ) × 4096 (7\times7\times512)\times4096 (7×7×512)×4096 1 × 4096 1\times4096 1×4096 ( 7 × 7 × 512 + 1 ) × 4096 (7\times7\times512+1)\times4096 (7×7×512+1)×4096
全连接层 F C 2 FC_{2} FC2 1 × 4096 1\times4096 1×4096 4096 × 4096 4096\times4096 4096×4096 1 × 4096 1\times4096 1×4096 ( 4096 + 1 ) × 4096 (4096+1)\times4096 (4096+1)×4096
全连接层 F C 3 FC_{3} FC3 1 × 4096 1\times4096 1×4096 4096 × 1000 4096\times1000 4096×1000 1 × 1000 1\times1000 1×1000 ( 4096 + 1 ) × 1000 (4096+1)\times1000 (4096+1)×1000

1.3 模型特性

  • 整个网络都使用了同样大小的卷积核尺寸 3 × 3 3\times3 3×3和最大池化尺寸 2 × 2 2\times2 2×2
  • 1 × 1 1\times1 1×1卷积的意义主要在于线性变换,而输入通道数和输出通道数不变,没有发生降维。
  • 两个 3 × 3 3\times3 3×3的卷积层串联相当于1个 5 × 5 5\times5 5×5的卷积层,感受野大小为 5 × 5 5\times5 5×5。同样地,3个 3 × 3 3\times3 3×3的卷积层串联的效果则相当于1个 7 × 7 7\times7 7×7的卷积层。这样的连接方式使得网络参数量更小,而且多层的激活函数令网络对特征的学习能力更强。
  • VGGNet在训练时有一个小技巧,先训练浅层的的简单网络VGG11,再复用VGG11的权重来初始化VGG13,如此反复训练并初始化VGG19,能够使训练时收敛的速度更快。
  • 在训练过程中使用多尺度的变换对原始数据做数据增强,使得模型不易过拟合。

http://www.ppmy.cn/embedded/137198.html

相关文章

开源 - Ideal库 - 常用枚举扩展方法(一)

今天和大家享一些关于枚举操作相关的常用扩展方法。 我们平时用的比较多的是正常枚举,同时还有加[Flags]特性的位标志枚举,因此以下所有扩展方法同时适用正常枚举以及位标志枚举。 我们首先定义两种枚举用于下面扩展方法测试适用,代码如下&a…

Linux内核编程(二十)RTC子系统一驱动rx8010

本文目录 一、基础知识点1.什么是RTC?2. RTC方案3. 电路原理图 二、RTC芯片(RX8010)移植三、关于时间的一些命令四、应用层使用1. 使用RTC驱动2. 使用time.h库(额外知识点) 一、基础知识点 1.什么是RTC? R…

Excel 无法打开文件

Excel 无法打开文件 ‘新建 Microsoft Excel 工作表.xlsx",因为 文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。 原因是卸载WPS之后,注册表未修改过来。 重新下载WPS,新建,xls工作表&#x…

Vue3 -- 新组件【谁学谁真香系列6】

Teleport Teleport是什么?–Teleport是一种能够将我们的组件html结构移动到指定位置的技术。 父组件: <template><div calss="outer"><h2>我是App组件</h2><img src="https://z1.ax1x.com/2023/11/19/piNxLo4.jpg" alt=&qu…

Prompt Engineering Guide

文章目录 Prompt Engineering Guide提示工程简介基本概念包含要素要避免不明确的prompt技术关注做了什么&#xff0c;不要关注不做什么角色提示Role Prompting 提示技术CoT生成的知识作为预测的知识库判断的一部分Prompting ChainingToT思维链检索增强RAGPrompt策略分析 提示应…

STM32WB55RG开发(3)----生成 BLE 程序连接手机APP

STM32WB55RG开发----3.生成 BLE 程序连接手机APP 概述硬件准备视频教学样品申请源码下载参考程序选择芯片型号配置时钟源配置时钟树RTC时钟配置RF wakeup时钟配置查看开启STM32_WPAN条件配置HSEM配置IPCC配置RTC启动RF开启蓝牙设置工程信息工程文件设置结果演示 概述 本项目旨…

探索深度学习的本质

深度学习的本质是利用多层&#xff08;深层&#xff09;的神经网络结构来从数据中学习复杂的模式和特征。其主要特点是具有层次结构&#xff0c;能够实现自动特征提取。非线性、可扩展性和迁移学习能力是深度学习能够处理复杂问题和广泛&#xff08;低成本&#xff09;应用的关…

使用ookii-dialogs-wpf在WPF选择文件夹时能输入路径

在进行WPF开发时&#xff0c;System.Windows.Forms.FolderBrowserDialog的选择文件夹功能不支持输入路径&#xff1a; 希望能够获得下图所示的选择文件夹功能&#xff1a; 于是&#xff0c;通过NuGet中安装Ookii.Dialogs.Wpf包&#xff0c;并创建一个简单的工具类&#xff1a; …