VGG-19(Visual Geometry Group)模型

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 …