VGG-19 是由牛津大学视觉几何组和 Google DeepMind 的研究人员在 2014 年提出的一个非常经典的深度卷积神经网络模型

一 核心结构

(1)深度: 模型名称中的 "19" 指的是模型拥有 19 层带有权重的层(通常指:16 个卷积层 + 3 个全连接层 = 19。如果严格数带参数的层,输入层和 ReLU 激活层不计入深度统计)。

(2)简单范式: VGG 系列模型(包括 VGG-11, VGG-13, VGG-16, VGG-19)的核心思想非常简单:只使用非常小的 3x3 卷积核,并通过连续堆叠多个这样的卷积层来构建一个很深的网络。这种设计在保持相同感受野的同时,大大减少了参数量(相比大卷积核),并增加了网络的深度和非线性。

(3)结构图:

输入图像 (224x224x3 RGB)
-> 2 x [卷积 (3x3, 64)] -> 最大池化 (2x2)  // Block 1
-> 2 x [卷积 (3x3, 128)] -> 最大池化 (2x2) // Block 2
-> 4 x [卷积 (3x3, 256)] -> 最大池化 (2x2) // Block 3
-> 4 x [卷积 (3x3, 512)] -> 最大池化 (2x2) // Block 4
-> 4 x [卷积 (3x3, 512)] -> 最大池化 (2x2) // Block 5
-> 3 x [全连接 (4096, 4096, 1000)]        // FC Layers
-> Softmax -> 1000 类输出概率

(4)激活函数: 所有卷积层和全连接层后都使用 ReLU (Rectified Linear Unit) 激活函数,这是深度学习中常见的非线性激活函数。

(5)池化层: 使用 2x2 的最大池化层(Max Pooling),步长为 2,在每组卷积块之后将特征图的空间尺寸减半。总共有 5 次空间下采样(池化)。

(6)全连接层: 在卷积部分之后,通常有两个 4096 单元的全连接层,最后是一个 1000 单元(对应 ImageNet 的 1000 个类别)的输出层。

二 模型特点

(1)深度有效: 通过堆叠多个小的 3x3 卷积核,VGG-19 证明了增加网络深度(层数)能显著提升模型理解复杂视觉特征的能力。

(2)结构统一: 所有卷积层都使用相同的 3x3 核大小(步幅为 1,填充为 1 以保持空间分辨率直到池化),设计非常一致且易于理解。

(3)参数量大: VGG-19 是一个非常大的模型,拥有约 1.38 亿个参数,主要集中在最后几个全连接层。这使得它训练和推理都非常耗费计算资源和内存

(4)高精度 (At the time): 在 2014 年的 ImageNet 竞赛中,VGG-19 展现出了当时最顶尖的识别精度。(虽然当年冠军是 GoogLeNet/Inception-v1,但 VGG 因其结构简单、效果显著而极具影响力)

三 与之前版本的区别

VGG-16(13 个卷积层 + 3 个全连接层)举例:

VGG-16 和 VGG-19 的结构非常相似,主要区别在于 Block 3、4、5 中卷积层的数量

Block 3, VGG-16 有 3 层卷积,VGG-19 有 4 层。

Block 4, VGG-16 有 3 层卷积,VGG-19 有 4 层。

Block 5, VGG-16 有 3 层卷积,VGG-19 有 4 层。

VGG-19 比 VGG-16 更深(多 3 个卷积层),参数量也略多(但量级都在 1.38 亿附近)。精度通常略高于 VGG-16,但提升边际效应递减。

输入图像 (224x224x3 RGB)
-> 2 x [卷积 (3x3, 64)] -> 最大池化 (2x2)  // Block 1
-> 2 x [卷积 (3x3, 128)] -> 最大池化 (2x2) // Block 2
-> 3 x [卷积 (3x3, 256)] -> 最大池化 (2x2) // Block 3
-> 3 x [卷积 (3x3, 512)] -> 最大池化 (2x2) // Block 4
-> 3 x [卷积 (3x3, 512)] -> 最大池化 (2x2) // Block 5
-> 3 x [全连接 (4096, 4096, 1000)]        // FC Layers
-> Softmax -> 1000 类输出概率
# VGG-16模型定义
class VGG16(nn.Module):def __init__(self, num_classes=10):super(VGG16, self).__init__()self.features = nn.Sequential(# Block 1nn.Conv2d(3, 64, kernel_size=3, padding=1),nn.BatchNorm2d(64),nn.ReLU(inplace=True),nn.Conv2d(64, 64, kernel_size=3, padding=1),nn.BatchNorm2d(64),nn.ReLU(inplace=True),nn.MaxPool2d(kernel_size=2, stride=2),# Block 2nn.Conv2d(64, 128, kernel_size=3, padding=1),nn.BatchNorm2d(128),nn.ReLU(inplace=True),nn.Conv2d(128, 128, kernel_size=3, padding=1),nn.BatchNorm2d(128),nn.ReLU(inplace=True),nn.MaxPool2d(kernel_size=2, stride=2),# Block 3nn.Conv2d(128, 256, kernel_size=3, padding=1),nn.BatchNorm2d(256),nn.ReLU(inplace=True),nn.Conv2d(256, 256, kernel_size=3, padding=1),nn.BatchNorm2d(256),nn.ReLU(inplace=True),nn.Conv2d(256, 256, kernel_size=3, padding=1),nn.BatchNorm2d(256),nn.ReLU(inplace=True),nn.MaxPool2d(kernel_size=2, stride=2),# Block 4nn.Conv2d(256, 512, kernel_size=3, padding=1),nn.BatchNorm2d(512),nn.ReLU(inplace=True),nn.Conv2d(512, 512, kernel_size=3, padding=1),nn.BatchNorm2d(512),nn.ReLU(inplace=True),nn.Conv2d(512, 512, kernel_size=3, padding=1),nn.BatchNorm2d(512),nn.ReLU(inplace=True),nn.MaxPool2d(kernel_size=2, stride=2),# Block 5nn.Conv2d(512, 512, kernel_size=3, padding=1),nn.BatchNorm2d(512),nn.ReLU(inplace=True),nn.Conv2d(512, 512, kernel_size=3, padding=1),nn.BatchNorm2d(512),nn.ReLU(inplace=True),nn.Conv2d(512, 512, kernel_size=3, padding=1),nn.BatchNorm2d(512),nn.ReLU(inplace=True),nn.MaxPool2d(kernel_size=2, stride=2),)

四 VGG优缺点

优点缺点
 历史贡献:深度验证
首创使用连续小卷积堆叠深度网络
- 证明了网络深度对性能的关键作用
参数量过大(主要缺陷)
- 全连接层(FC)参数量爆炸:
- FC1: 25088×4096 ≈ 1.03亿参数
- 总参数量高达 1.38亿
结构统一性
- 仅用 3×3小卷积核 + 2×2最大池化
- 模块化堆叠(64→128→256→512通道)
计算资源消耗大
- 大量卷积+全连接导致:
训练/推理速度慢
- 显存占用高(移动端难以部署)
特征表达能力强大
- 深层网络捕获多尺度特征
- 特征通用性极优(适用于迁移学习)
梯度问题
- 原始版本未用BN层(Batch Normalization)
- 训练易出现梯度消失/爆炸(需配合Dropout)
广泛迁移应用
- 预训练特征成为早期CV任务标准骨干
- 如目标检测、图像风格迁移等
全连接冗余严重
- FC层参数占整体 >90%
- 后发模型(如ResNet)用全局池化替代FC
简洁设计理念
- 架构规整透明,易于复现/改进
- 小卷积堆叠优于大核(更多非线性+更少参数)
训练成本高昂
- 需大数据集(ImageNet级)防止过拟合
- 对超参数敏感

VGG-19 尽管它取得了显著的高精度,但因其庞大的参数量和计算开销,在新模型设计和效率敏感的部署场景中已被 ResNet 等更现代的网络结构所取代。但在图像表示学习、迁移学习和理解深度网络基础方面,VGG-19 仍然是一个非常重要和经典的基准模型。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/85247.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/85247.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/85247.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows11 鼠标卡死任务栏卡死 假死解决方法

最近很多朋友都有一个问题,就是Windows11电脑 在编辑文档或者是切换窗口的时候出现任务栏假死,鼠标左右键失灵等现象,想了几天解决方案今天吧最直接的方法教给大家 首发玖毅论坛 玖毅论坛https://www.webbbs.cn/ 第一步: 第一种…

BeikeShop - 一个开源、用户友好的跨境电子商务平台

BeikeShop - 一个开源、用户友好的跨境电子商务平台 BeikeShop 是全球领先的基于 Laravel 框架的开源电子商务平台,专为国际贸易和跨境电子商务行业设计。 该系统是 100% 开源的!它支持多语言、多币种、支付、物流、会员管理等广泛的实用功能&#xff0…

基于大模型的胆囊结石全周期诊疗方案研究报告

目录 一、引言 1.1 研究背景与意义 1.2 研究目的与目标 1.3 研究方法与创新点 二、大模型预测胆囊结石的原理与技术基础 2.1 大模型概述 2.2 用于胆囊结石预测的数据来源 2.3 模型构建与训练 2.4 模型评估指标 三、术前风险预测与手术方案制定 3.1 术前评估指标与数…

[论文阅读] 人工智能 | Gen-n-Val:利用代理技术革新计算机视觉数据生成

Gen-n-Val:利用代理技术革新计算机视觉数据生成 论文信息 article{huang2025gennval,title{Gen-n-Val: Agentic Image Data Generation and Validation},author{Huang, Jing-En and Fang, I-Sheng and Huang, Tzuhsuan and Wang, Chih-Yu and Chen, Jun-Cheng},jo…

【AI论文】ReasonMed:一个370K的多智能体生成数据集,用于推进医疗推理

摘要:尽管基于推理的大型语言模型(LLM)在数学和编程方面表现出色,但它们在知识密集型医疗问题回答方面的能力仍未得到充分探索。为解决这一问题,我们推出了ReasonMed,这是最大的医疗推理数据集,…

singlefligt使用方法和源码解读

singlefligt使用方法和源码解读 介绍 sync.once保证其整个生命周期内只调用一次;而singleflight则可以保证在一定范围内其只调用一次。 背景|使用场景 应对缓存击穿:加锁可以解决这个问题,但是加锁不太灵活(不能控制访问频率之…

HTTP 协议的基本概念(请求/响应流程、状态码、Header、方法)问题解决方案大全

HTTP 协议的基本概念(请求/响应流程、状态码、Header、方法)问题解决方案大全 一. 摘要 HTTP 协议是 Web 开发的基石,但初学者往往只停留在 GET、POST 的层面,对重定向机制、缓存控制、请求体解析等概念缺乏深入理解,…

Python中常用的函数

以下是Python中常用的函数分类整理,涵盖基础操作、数据处理、文件操作、面向对象等场景,并附上示例说明: --- ### **一、基础内置函数** | 函数 | 作用 | 示例 | |----…

【Windows】删除鼠标右键多余菜单的方法

要删除鼠标右键菜单中的多余菜单,如:“打开抖音壁纸”选项,通常需要通过修改注册表或使用第三方工具来清理残留的注册表项。以下是详细步骤(操作注册表前务必备份!): 方法一:通过注册…

【性能优化】启用zram

性能优化 系统内存不足时,可以考虑启动ZRAM功能(压缩内存)。关于ZRAM的概念,可自行学习。这里记录一下,启用ZRAM的方式。 启用ZRAM,可能会导致CPU升高,以及低内存时的恶性循环。是否启用需要综…

深度解析YOLOv8:CSPHet卷积结构如何实现极致轻量化

文章目录 一、背景介绍1.1 YOLOv8的现状1.2 降参数的必要性 二、相关技术介绍2.1 Dual思想2.2 HetConv 三、CSPHet结构设计3.1 CSP模块的改进3.2 结合HetConv3.3 参数量的下降 四、CSPHet的代码实现五、实验结果六、总结与展望 在目标检测领域,YOLO系列算法一直以其…

适配器模式demo

#include <QCoreApplication> #include <iostream>using namespace std;class XmCom { public:void ComByXm(){cout << "XM电源适配器只适用于小米笔记本电脑" << endl;} };class LxCom { public:virtual void ComByLx() 0;virtual ~LxCom…

数据处理考核要求-SQL测试的答案

在一个团队中&#xff0c;有业务人员。如业务人员深入理解数据处理的内容&#xff0c;会大幅度增强相互配合的效率。 针对业务人员进行针对性培训&#xff0c;还是比较容易掌握SQL的数据处理。类似与大学里面开的一门选修课。数据集选择帆软的Demo数据集。 业务人员学会SQL的…

第十七届全国大学生数学竞赛(数学类)初赛模拟试题

上周组委会发布了第十七届全国大学生数学竞赛通知&#xff0c;初赛暂定于2025年11月8日(星期六)上午9:00-11:30举行&#xff0c;同时今年新增了个亮点&#xff0c;针对与数学类的同学&#xff0c;即&#xff1a; 为提升全国大学生数学竞赛的含金量和公平性&#xff0c;并进一步…

解决: React Native iOS webview 空白页

iOS react-native-webview 之前是正常的, 升级了 react-native / react-native-webview 等 之后, 就变成了空白页. 通过下面的修改, 可以修复, 回到正常的状态. 来源: https://github.com/react-native-webview/react-native-webview/issues/3697 diff --git a/node_modules/…

VMware安装Ubuntu并实现root远程登录

前置信息 垃圾Ubuntu系统默认ssh、vim都没有&#xff01;&#xff01;&#xff01; 已踩坑cnmUbuntu处于sb安全机制要求&#xff0c;默认是禁用root直接登录的 1、修改root密码 sudo -sH &#xff08;可以让一个具有sudo权限的普通用户进入 root&#xff09; 然后就是pas…

量化面试绿皮书:20. 正态生成

文中内容仅限技术学习与代码实践参考&#xff0c;市场存在不确定性&#xff0c;技术分析需谨慎验证&#xff0c;不构成任何投资建议。 20. 正态生成 Q: 如何生成两个标准正态分布&#xff08;N(0,1)&#xff09;的随机变量&#xff0c;使它们之间的相关系数为p&#xff0c;假设…

Arduino入门教程:10、屏幕显示

飞书文档https://x509p6c8to.feishu.cn/docx/N45Pd0tA1oaC4CxUWZjc8Ekyn0b 屏幕应用场景 课程使用的SSD1306是一款128*64像素可以使用IIC驱动的OLED屏幕。 SSD1306 Oled显示模块共有4个引脚&#xff0c;标记为GND, VCC, SCL和SDA。这种Oled显示模块可以使用3.3V到5V轻松上电。…

华为云Flexus+DeepSeek征文|体验华为云ModelArts快速搭建Dify-LLM应用开发平台并创建自己dify钉钉群聊机器人

华为云FlexusDeepSeek征文&#xff5c;体验华为云ModelArts快速搭建Dify-LLM应用开发平台并创建自己dify钉钉群聊机器人 什么是华为云ModelArts 华为云ModelArts ModelArts是华为云提供的全流程AI开发平台&#xff0c;覆盖从数据准备到模型部署的全生命周期管理&#xff0c;帮…

【Pytorch】(1)Pytorch环境安装-①创建虚拟环境

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、创建Pytorch的虚拟环境 前言 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、Anaconda环境基础操作 1.1 启动Anaconda Prompt …