卷積神經網絡(CNN)的主要架構

卷積神經網絡(CNN, Convolutional Neural Networks)是深度學習中最重要的模型之一,廣泛應用于計算機視覺目標檢測語義分割等任務。自 LeNet 誕生以來,CNN 結構經歷了多個重要發展階段,出現了許多經典架構,包括 AlexNet、VGG、GoogLeNet(Inception)、ResNet、DenseNet、MobileNet 等。

本文將詳細介紹 CNN 的主要架構及其核心思想,幫助大家深入理解 CNN 發展歷程及各架構的特點。


1. LeNet-5(1998)—— 卷積神經網絡的奠基者

提出者:Yann LeCun
貢獻

  • 提出了 CNN 的基本框架(卷積層 + 池化層 + 全連接層)。
  • 率先應用 CNN 處理手寫數字識別(MNIST 數據集)。
  • 采用Sigmoid/Tanh 作為激活函數。

結構:

  • 輸入: 32 × 32 32 \times 32 32×32灰度圖像(MNIST 手寫數字)。
  • C1:卷積層(6 個 5 × 5 5 \times 5 5×5過濾器)
  • S2:池化層(平均池化)
  • C3:卷積層(16 個 5 × 5 5 \times 5 5×5過濾器)
  • S4:池化層(平均池化)
  • C5:全連接層
  • F6:全連接層(輸出 10 類)

特點:

  • 第一個真正意義上的 CNN
  • 采用權重共享,大幅減少參數量。
  • 由于計算機硬件限制,僅適用于簡單任務(MNIST)。

2. AlexNet(2012)—— 深度學習的復興

提出者:Alex Krizhevsky, Geoffrey Hinton
貢獻

  • 在 ImageNet 競賽中首次擊敗傳統方法(SIFT + SVM),引發深度學習熱潮
  • 采用 ReLU 激活函數,解決梯度消失問題。
  • 通過Dropout 進行正則化,減少過擬合。
  • 使用 GPU 計算,顯著提高訓練速度。

結構:

  • 輸入 224 × 224 224 \times 224 224×224 RGB 圖像
  • C1:卷積層(96 個 11 × 11 11 \times 11 11×11過濾器,步長 4)
  • P2:最大池化( 3 × 3 3 \times 3 3×3,步長 2)
  • C3:卷積層(256 個 5 × 5 5 \times 5 5×5 過濾器)
  • P4:最大池化
  • C5, C6, C7:三個卷積層
  • P8:最大池化
  • F9, F10:兩個全連接層(4096 維)
  • F11:Softmax 進行分類

特點:

  • 加深網絡層數(8 層),但仍然較淺。
  • 引入 ReLU,加速訓練并提高收斂速度。
  • 采用 GPU 訓練,比 CPU 速度快 10 倍以上。

3. VGG(2014)—— 簡單但深度

提出者:Oxford VGG 團隊
貢獻

  • 采用小卷積核( 3 × 3 3 \times 3 3×3,用多個小卷積堆疊代替大卷積,減少參數量同時保持感受野。
  • 層次更深(VGG-16、VGG-19),最高可達 19 層。

結構(VGG-16):

  • 輸入 224 × 224 224 \times 224 224×224 RGB 圖像
  • C1-C2 3 × 3 3 \times 3 3×3卷積(64 個通道)
  • P1:最大池化
  • C3-C4 3 × 3 3 \times 3 3×3卷積(128 個通道)
  • P2:最大池化
  • C5-C7 3 × 3 3 \times 3 3×3卷積(256 個通道)
  • P3:最大池化
  • C8-C13 3 × 3 3 \times 3 3×3卷積(512 個通道)
  • P4:最大池化
  • 全連接層:4096 + 4096 + 1000(分類)

特點:

  • 全部使用 3 × 3 3 \times 3 3×3卷積,網絡結構更規則。
  • 參數量巨大(VGG-16 有 1.38 億個參數)。
  • 計算量大,推理速度慢,適合遷移學習(如 ImageNet 預訓練)。

4. GoogLeNet(2014)—— Inception 結構

提出者:Google
貢獻

  • 提出 Inception 模塊,采用不同尺寸的卷積核并行計算,提高特征表達能力。
  • 通過 1×1 卷積進行降維,減少計算量。

結構(Inception v1):

  • 輸入 224 × 224 224 \times 224 224×224RGB 圖像
  • C1 7 × 7 7 \times 7 7×7卷積
  • P1:池化
  • C2-C3 3 × 3 3 \times 3 3×3卷積
  • 多個 Inception 模塊
  • 全連接層(Softmax 分類)

特點:

  • 并行多尺度特征提取,增強模型能力。
  • 參數量減少,比 VGG 更輕量化。
  • 發展出多個版本(Inception v2, v3, v4, Xception)。

5. ResNet(2015)—— 解決深度退化問題

提出者:Kaiming He, Microsoft Research
貢獻

  • 提出 殘差學習(Residual Learning),通過 跳躍連接(Shortcut Connection) 解決梯度消失問題,使 CNN 深度突破 100 層。
  • ResNet-50, ResNet-101, ResNet-152 等版本成為主流。

殘差塊(Residual Block):
y = F ( x ) + x y = F(x) + x y=F(x)+x
其中:

  • F ( x ) F(x) F(x)由兩層卷積組成。
  • 跳躍連接 讓梯度更容易傳播,避免梯度消失。

特點:

  • 可訓練超深網絡(152 層以上),突破 CNN 訓練極限。
  • 性能卓越,在 ImageNet 競賽中奪冠。
  • 后續衍生出 ResNeXt、WideResNet 等變體

6. MobileNet(2017)—— 輕量級 CNN

提出者:Google
貢獻

  • 采用 深度可分離卷積(Depthwise Separable Convolution),減少計算量和參數量,使 CNN 可用于移動端。
  • 可用于實時應用,如手機端人臉識別。

結構:

  • 標準卷積 替換為 深度可分離卷積
  • 1×1 卷積降維,減少參數量
  • 提供 MobileNetV1, V2, V3 版本,逐步優化

特點:

  • 計算量減少 90% 以上,適合移動設備。
  • 輕量級,適用于嵌入式 AI 任務(如自動駕駛)。

7. EfficientNet(2019)—— 自動搜索優化 CNN

提出者:Google Brain
貢獻

  • 提出了 復合縮放(Compound Scaling) 方法,統一調整 CNN 的深度、寬度和分辨率,提高計算效率。
  • 采用 MobileNetV2 的深度可分離卷積和Swish 激活函數,減少計算量。
  • 在 ImageNet 上比 ResNet、DenseNet 等模型更高效。

結構:

  • 使用 MBConv(MobileNetV2 提出的 Inverted Residual Block)。
  • 通過 神經架構搜索(NAS) 自動優化 CNN 結構。

特點:

  • 參數更少,性能更強(EfficientNet-B7 在 ImageNet 上超越 ResNet152)。
  • 可擴展:EfficientNet-B0 到 B7 提供不同計算復雜度的版本。

8. RegNet(2020)—— 通過規則生成 CNN

提出者:Facebook AI
貢獻

  • 通過系統化搜索找到最佳的 CNN 設計規則,而非單獨優化某個模型。
  • 提出了 可預測的 CNN 結構,在計算資源受限的情況下仍然保持高性能。

特點:

  • 比 ResNet 更高效,在 ImageNet 上實現更優性能。
  • 提供多個變體(RegNetX, RegNetY),可適應不同計算需求。

9. ConvNeXt(2022)—— CNN 重新對標 Transformer

提出者:Facebook AI
貢獻

  • 受 Vision Transformer(ViT) 啟發,對 CNN 進行結構優化,使其在 ImageNet 上與 ViT 競爭。
  • 通過簡化 ResNet 設計,提升 CNN 在現代硬件上的性能。

特點:

  • 改進的殘差結構(ResNet 變體)。
  • 大核卷積(7×7) 提升感受野。
  • 層歸一化(LayerNorm) 替代 BatchNorm,提高訓練穩定性。

CNN 的未來趨勢

雖然近年來 Vision Transformer(ViT)MLP 結構(如 MLP-Mixer)取得了較大突破,但 CNN 仍然是計算機視覺領域的核心方法。未來 CNN 可能會:

  1. 與 Transformer 結合(如 Swin Transformer + CNN)。
  2. 進一步優化輕量級架構(如 MobileNetV3, EfficientNetLite)。
  3. 增強可解釋性,提升透明度和泛化能力。

總結

架構主要特點適用場景
LeNet (1998)CNN 基礎框架早期圖像識別
AlexNet (2012)ReLU + Dropout圖像分類
VGG (2014)深層 CNN,3×3 卷積遷移學習
GoogLeNet (2014)Inception 模塊多尺度特征提取
ResNet (2015)殘差學習,超深網絡高精度任務
MobileNet (2017)輕量級 CNN移動端 AI
EfficientNet (2019)復合縮放 + NAS高效圖像分類
RegNet (2020)規則生成 CNN靈活架構優化
ConvNeXt (2022)CNN 對標 Transformer現代計算機視覺

雖然 Transformer 逐漸成為主流,但 CNN 仍然有廣泛應用,并在不斷進化!
如果你對某個架構感興趣,可以深入研究它的論文或實現!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/72469.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/72469.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/72469.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【開源代碼解讀】AI檢索系統R1-Searcher通過強化學習RL激勵大模型LLM的搜索能力

關于R1-Searcher的報告: 第一章:引言 - AI檢索系統的技術演進與R1-Searcher的創新定位 1.1 信息檢索技術的范式轉移 在數字化時代爆發式增長的數據洪流中,信息檢索系統正經歷從傳統關鍵詞匹配到語義理解驅動的根本性變革。根據IDC的統計…

從0到1入門Docker

一、快速入門 Docker run命令中的常見參數 -d:讓容器后臺運行--name:給容器命名(唯一)-e:環境變量-p:宿主機端口映射到容器內端口鏡像名稱結構:Repository :TAG(鏡像名&…

接口自動化入門 —— Jmeter實現在接口工具中關聯接口處理方案

1. JMeter 接口關聯處理的核心概念 接口關聯是指在多個接口請求之間共享數據,例如將一個接口的返回值作為另一個接口的輸入參數。常見的場景包括: 使用登錄接口返回的 Token 作為后續接口的認證信息。 將一個接口返回的 ID 作為另一個接口的請求參數。…

Flink-學習路線

最近想學習一下Flink,公司的實時需求還是不少的,因此結合ai整理了一份學習路線,記錄一下。 當然,公司也有Scala版本Flink框架,也學習了一下。這里只說Java版本 1. Java基礎 目標: 掌握Java編程語言的基礎知識。 內容…

ranger集成starrock報錯

org.apache.ranger.plugin.client.HadoopException: initConnection: Unable to connect to StarRocks instance, please provide valid value of field : {jdbc.driverClassName}.. com.mysql.cj.jdbc.Driver. 可能的原因 JDBC 驅動缺失:運行環境中沒有安裝 MySQL …

python Jsonpath表達式語法取值

python Jsonpath 語法規則: 演示數據:{"status":"0","msg":"成功","data": [ {"foo1": "bar1"},{"foo1": "bar2"}]} 根節點:$ $.status $.…

Blender-MCP服務源碼2-依賴分析

Blender-MCP服務源碼2-依賴分析 有個大佬做了一個Blender-MCP源碼,第一次提交代碼是【2025年3月7號】今天是【2025年月15日】也就是剛過去一周的時間,所以想從0開始學習這個代碼,了解一下大佬們的開發思路 1-核心知識點 from mcp.server.fas…

反射(第三篇)、代理模式、靜態代理和動態代理、InvocationHandler實際應用

DAY11.3 Java核心基礎 反射(第三篇) 前兩篇我們學習了反射的概念和基本操作 實際開發中,反射應用于那里? 動態代理 java中的動態代理就是一個重要的作用 代理模式 代理模式是java中常用的設計模式 指的是在處理一個業務邏輯…

Unity 封裝一個依賴于MonoBehaviour的計時器(上) 基本功能

靈感來自下面這本書的協程部分,因此我就自己嘗試寫了一個 我的新書Unity3D游戲開發(第3版) | 雨松MOMO程序研究院 如果你不知道什么是協程:unity保姆級教程之協同程序_unity協同-CSDN博客 一句話概括:協程就是單線程的異步操作,其作用于Unity的主線程 1…

數學建模 第一節

目錄?????? 前言 一 優化模型的類型 二 線性規劃1 線性規劃2 三 0-1規劃 總結 前言 數學建模主要是將問題轉化為模型,然后再以編程的形式輸出出來 算法都知道,數學建模也需要用到算法,但是不是主要以編程形式展示,而是…

Vulkan視頻解碼decode顯示display之同步

在ReleaseDisplayedPicture函數中消耗圖片資源并且顯示display完成,設置兩個標志m_hasConsummerSignalFence true 和m_hasConsummerSignalSemaphore true virtual int32_t ReleaseDisplayedPicture(DecodedFrameRelease** pDecodedFramesRelease, uint32_t nu…

網絡空間安全(32)Kali MSF基本介紹

前言 Metasploit Framework(簡稱MSF)是一款功能強大的開源安全漏洞檢測工具,被廣泛應用于滲透測試中。它內置了數千個已知的軟件漏洞,并持續更新以應對新興的安全威脅。MSF不僅限于漏洞利用,還包括信息收集、漏洞探測和…

設計模式學習記錄

設計模式23種 創建型抽象工廠模式工廠模式生成器模式原型模式單例模式 結構型適配器模式橋接模式組合模式裝飾模式外觀模式享元模式代理模式 行為型責任鏈模式命令模式解釋器模式迭代器模式中介者模式備忘錄模式觀察者模式狀態模式策略模式模版方法模式訪問者模式 創建型 與對…

2.5 python接口編程

在現代軟件開發的復雜生態系統中,不同系統、模塊之間的交互協作至關重要。接口編程作為一種關鍵機制,定義了組件之間的通信規范與交互方式。Python 憑借其卓越的靈活性、豐富的庫資源以及簡潔易讀的語法,在接口編程領域占據了重要地位&#x…

mesh開發解析

開源的Mesh網絡協議棧及相關項目: 1.B.A.T.M.A.N.(Better Approach to Mobile Ad-hoc Networking)? 簡介:B.A.T.M.A.N.是一種用于多跳自組織網絡的路由協議,適用于無線Mesh網絡。它通過優化數據傳輸路徑,確保網絡的高可靠性和動…

PyTorch PINN實戰:用深度學習求解微分方程

在人工智能與計算數學的交匯點,物理信息神經網絡(Physics-Informed Neural Networks,PINN)正引領著一場求解微分方程的革命。傳統上,微分方程是描述自然現象和工程問題中各種關系的重要工具,但其求解往往依…

【WiFi 7核心技術及未來挑戰】

作為剛剛開始從事這一領域的人,淺淺學習了一下WiFi 7(IEEE 802.11be)。Wi-Fi 7發展迅速,提供前所未有的速度、更低的延遲和更高的可靠性。但從頻譜政策到能效挑戰,再到成本,仍有許多問題亟待解決。 Wi-Fi 7…

Oracle Linux Server 7.9安裝fail2ban

yum search oracle-epel-release yum install oracle-epel-release-el7 search fail2ban yum install fail2ban nano /etc/fail2ban/jail.d/00-firewalld.conf # defalut這里是設定全局設置,如果下面的監控沒有設置就以全局設置的值設置。 [DEFAULT] # 用于指定哪…

目標在哪里?——尋找人生的意義與方向

在職場中,許多人都會經歷這樣的困惑:工作看似順利,卻逐漸失去了成就感和成長感。一位在500強企業工作的學員就遇到了這樣的問題。她曾考慮過轉型做培訓,但苦于找不到明確的切入點,對未來的目標感到迷茫。她不禁問自己&…

C++類與對象——拷貝構造與運算符重載

拷貝構造函數和賦值運算符重載就是C類默認六個函數之二。 拷貝構造函數: 如果?個構造函數的第?個參數是自身類類型的引用,且任何額外的參數都有默認值,則此構造函數 也叫做拷貝構造函數,也就是說拷貝構造是?個特殊的構造函數…