深度学习经典模型之VGGNet
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,能够使训练时收敛的速度更快。
- 在训练过程中使用多尺度的变换对原始数据做数据增强,使得模型不易过拟合。
相关文章:
深度学习经典模型之VGGNet
1 VGGNet 1.1 模型介绍 VGGNet是由牛津大学视觉几何小组(Visual Geometry Group, VGG)提出的一种深层卷积网络结构,他们以7.32%的错误率赢得了2014年ILSVRC分类任务的亚军(冠军由GoogLeNet以6.65%的错误率夺得)和…...
Axure网络短剧APP端原型图,竖屏微剧视频模版40页
作品概况 页面数量:共 40 页 使用软件:Axure RP 9 及以上,非软件无源码 适用领域:短剧、微短剧、竖屏视频 作品特色 本作品为网络短剧APP的Axure原型设计图,定位属于免费短剧软件,类似红果短剧、河马剧场…...
ES + SkyWalking + Spring Boot:日志分析与服务监控(三)
目录 一、搭建SkyWalking 1.1 版本选择 1.2 下载安装 1.3 配置启动 1.4 SkyWalking UI介绍 二、Springboot项目使用 2.1 Agent下载 2.2 Agent配置skywalking oap地址 2.3 IDEA配置Agent地址 2.4 生成的ES索引介绍 三、在kibana上查看日志 四、问题和解决 3.1 日志…...
php 如何将数组转成对象数组
1. 使用 (object) 操作符: “php $array [‘name’ > ‘John’, ‘age’ > 25]; $object (object) $array; // 访问对象属性 echo $object->name; // 输出: John echo $object->age; // 输出: 25 “ 2. 使用 (stdClass): “php $array …...
HTB:Photobomb[WriteUP]
目录 连接至HTB服务器并启动靶机 使用nmap对靶机进行端口开放扫描 再次使用nmap对靶机开放端口进行脚本、服务扫描 使用ffuf进行简单的子域名扫描 使用浏览器直接访问该域名 选取一个照片进行下载,使用Yakit进行抓包 USER_FLAG:a9afd9220ae2b5731…...
图文组合-pytorch实现
在图文组合任务中,常见的图文融合方式有多种,比如简单的拼接、加权求和、注意力机制、跨模态Transformer等。为了让图片充分补充文本的语义信息,我们可以使用一种简单且有效的图文融合方法,比如通过注意力机制。 我们可以让文本特…...
CentOS AppStream 8 手动更新 yum源
由于CentOS 8的官方支持已在2021年12月31日结束,官方镜像中的CentOS 8包已被移除。因此,如果您仍然需要运行CentOS 8并更新其yum源,您可以考虑使用以下步骤来配置一个可用的yum源,例如阿里云的镜像源。 https://mirrors.aliyun.co…...
虚拟化环境中香港服务器内存如何分配与管理?
虚拟化技术通过创建抽象层来模拟硬件资源,使得可以在单一硬件上运行多个操作系统实例。这通常涉及两个主要组件:管理程序(Hypervisor)和虚拟机监控器(VMM)。管理程序直接安装在物理硬件上,负责创建和管理虚拟机,而VMM则用于监控和…...
Android源码中如何编译出fastboot.exe和adb.exe程序
1、方案背景说明 在进行android项目开发时,如果通用的fastboot工具无法满足项目的定制话的需求时,就需要对fastboot工具的源码进行自定义修改,并编译成新的fastboot和adb工具。 由于安卓源码的的编译通常使用的是ubuntu系统,默认…...
C++ 参数传递 笔记
目录 1、输入参数的传递方式-选择传值还是传引用? 处理用户信息 处理坐标 处理配置 处理ID 2、对于需要修改的参数,使用非const引用传递 有趣的例外:警惕表象的迷惑 需要警惕的陷阱 “糟糕”的update方法: “完美”的set_name与set…...
【Linux】注释和配置文件的介绍
目录 一、help vim-modes指令 二、vim命令模式下的注释 1、直接注释: 2、快捷键注释(比较麻烦,了解即可) 三、vim的配置文件 .vimrc 四、sudo指令的相关问题 一、help vim-modes指令 在底行模式输入该指令可以用于查看vim的十…...
安卓主板_基于联发科MTK MT8788平台平板电脑方案_安卓核心板开发板定制
联发科MT8788安卓核心板平台介绍: MTK8788设备具有集成的蓝牙、fm、wlan和gps模块,是一个高度集成的基带平台,包括调制解调器和应用处理子系统,启用LTE/LTE-A和C2K智能设备应用程序。该芯片集成了工作在2.0GHz的ARM Cortex-A73、最…...
CLIP(Contrastive Language-Image Pre-Training)在SOPHON BM1684X上进行推理
1、链接 https://github.com/sophgo/sophon-demo/tree/release/sample/CLIP2、开发环境中交叉编译生成sophon_arm-3.8.0-py3-none-any.whl 3、sail安装 算能官网技术资料中SDK-24.04.01的 libsophon_soc_0.4.1_aarch64.tar.gz sophon-mw-soc_0.4.1_aarch64.tar.gz SOPHON-SA…...
Ascend Extension for PyTorch的源码解析
1 源码下载 Ascend对pytorch代码的适配,可从以下链接中获取。 Ascend/pytorch 执行如下命令即可。 git clone https://gitee.com/ascend/pytorch.git2 目录结构解析 源码下载后,如果需要编译torch-npu,最好保持pytorch的源码版本匹配&…...
鸿蒙HarmonyOS开发:给应用添加基础类型通知和进度条类型通知(API 12)
文章目录 一、通知介绍1、通知表现形式2、通知结构3、请求通知授权 二、创建通知1、发布基础类型通知2、发布进度类型通知3、更新通知4、移除通知 三、设置通知通道1、通知通道类型 四、创建通知组五、为通知添加行为意图1、导入模块。2、创建WantAgentInfo信息。4、创建WantAg…...
从零开始使用YOLOv11——Yolo检测detect数据集自建格式转换为模型训练格式:20w+图片1w+类别代码测试成功
在之前的文章中记录了YOLO环境的配置安装和基本命令的一些使用,上一篇博文的地址快速链接:从零开始使用YOLOv8——环境配置与极简指令(CLI)操作:1篇文章解决—直接使用:模型部署 and 自建数据集:…...
自动化新时代:机器取代工作,我们该如何重塑自我?
内容概要 在自动化时代的浪潮中,技术的飞速发展对传统工作模式产生了深远影响。我们眼前浮现的是一个充满机遇与挑战的新世界。许多岗位面临被机器取代的威胁,然而,这一变化并不仅仅是消极的。在这个背景下,个体不仅需要重新审视…...
GEE 土地分类——利用Sentinel-2数据进行土地分类
目录 简介 函数 ee.Classifier.smileRandomForest(numberOfTrees, variablesPerSplit, minLeafPopulation, bagFraction, maxNodes, seed) Arguments: Returns: Classifier 代码 结果 简介 利用Sentinel-2数据进行土地分类的流程大致可分为以下几个步骤: 1. 数据获取…...
《C++ 游戏开发》
一、引言 在当今的数字娱乐时代,游戏开发已经成为一个充满活力和创新的领域。C 作为一种强大的编程语言,在游戏开发中占据着重要的地位。它具有高效的性能、丰富的功能和广泛的适用性,能够满足游戏开发中对性能和灵活性的高要求。本文将深入探…...
2024年11月10日系统架构设计师考试题目回顾
案例分析 试题一:质量属性 基于描述填空是什么质量属性,常规题。(性能,功能,安全,可用等等)可用性而言,王工建议采用 ping/echo 机制检测,不过从资源使用角度ÿ…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
从面试角度回答Android中ContentProvider启动原理
Android中ContentProvider原理的面试角度解析,分为已启动和未启动两种场景: 一、ContentProvider已启动的情况 1. 核心流程 触发条件:当其他组件(如Activity、Service)通过ContentR…...
破解路内监管盲区:免布线低位视频桩重塑停车管理新标准
城市路内停车管理常因行道树遮挡、高位设备盲区等问题,导致车牌识别率低、逃费率高,传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法,正成为破局关键。该设备安装于车位侧方0.5-0.7米高度,直接规避树枝遮…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
云安全与网络安全:核心区别与协同作用解析
在数字化转型的浪潮中,云安全与网络安全作为信息安全的两大支柱,常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异,并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全:聚焦于保…...
规则与人性的天平——由高考迟到事件引发的思考
当那位身着校服的考生在考场关闭1分钟后狂奔而至,他涨红的脸上写满绝望。铁门内秒针划过的弧度,成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定",构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...
相关类相关的可视化图像总结
目录 一、散点图 二、气泡图 三、相关图 四、热力图 五、二维密度图 六、多模态二维密度图 七、雷达图 八、桑基图 九、总结 一、散点图 特点 通过点的位置展示两个连续变量之间的关系,可直观判断线性相关、非线性相关或无相关关系,点的分布密…...
