深度学习经典模型之VGGNet

news/2024/11/14 20:03:27/

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/news/1547021.html

相关文章

ES信息防泄漏:策略与实践

Elasticsearch(简称ES)作为一个开源的搜索和分析引擎,在实时搜索和分析大量数据方面发挥着重要作用。然而,随着数据的增长,ES的信息安全和隐私保护成为了关键问题。信息防泄漏对于ES来说至关重要,它不仅关乎数据的完整性&#xff…

Cobalt Strike 4.8 用户指南-第八节Browser Pivoting

8.1、概述 Zeus 等恶意软件及其变种会将自己注入用户浏览器,以窃取银行信息。这是一种 “浏览器中间人 ”攻击。之所以称之为 “浏览器中间人”,是因为攻击者将恶意软件注入了目标用户的浏览器中。 浏览器中间人恶意软件使用两种方法来窃取银行信息。它…

实习冲刺Day21

算法题 最长公共前缀 14. 最长公共前缀 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:string longestCommonPrefix(vector<string>& strs) {if(strs.size()0)return "";//如果数组为空&#xff0c;直接返回空字符串string ans str…

数字IC实践项目(10)—基于System Verilog的DDR4 Model/Tb 及基础Verification IP的设计与验证(付费项目)

数字IC实践项目&#xff08;10&#xff09;—基于System Verilog的DDR4 Model/Tb 及基础Verification IP的设计与验证&#xff08;付费项目&#xff09; 前言项目框图1&#xff09;DDR4 Verification IP2&#xff09;DDR4 JEDEC Model & Tb 项目文件1&#xff09;DDR4 Veri…

大数据学习10之Hive高级

1.Hive高级 将大的文件按照某一列属性进行GROUP BY 就是分区&#xff0c;只是默认开窗存储&#xff1b; 分区是按行&#xff0c;如一百行数据&#xff0c;按十位上的数字分区&#xff0c;则有十个分区&#xff0c;每个分区里有十行&#xff1b; 分桶是根据某个字段哈希对桶数取…

使用 Python 流式 Websocket 传输 Binance 订单更新 附代码

对于从事加密货币行业的任何人来说,使用 RESTapi从交易所查询实时数据并不总是最佳做法,原因有很多 效率低下:每个查询都需要时间,并且会显着影响性能,尤其是对于高频策略。 交易所施加的限制很容易被打破,例如Binance的硬限制为每分钟 1200 个请求权重您只能检索有限数量…

什么是 eCPRI,它对 5G 和 Open RAN 有何贡献?

这里写目录标题 eCPRI 协议平面&#xff1a;功能分解eCPRI与CPRI的区别CPRI具有以下特点&#xff1a;eCPRI具有以下特点&#xff1a;eCPRI 的优势 所需带宽减少 10 倍适用于 5G 和 Open RAN 的 eCPRI&#xff1a; 通用公共无线接口&#xff08;CPRI&#xff09;是一种行业合作&…

前端垂直居中的多种实现方式及应用分析

摘要&#xff1a; 本文主要探讨前端开发中元素垂直居中这一常见问题的多种解决方案。详细分析了基于 CSS 的不同属性组合、使用弹性布局&#xff08;Flexbox&#xff09;和网格布局&#xff08;Grid&#xff09;等现代布局技术实现垂直居中的方法&#xff0c;并讨论了它们在不同…