卷積神經網絡(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 可能會:
- 與 Transformer 結合(如 Swin Transformer + CNN)。
- 進一步優化輕量級架構(如 MobileNetV3, EfficientNetLite)。
- 增強可解釋性,提升透明度和泛化能力。
總結
架構 | 主要特點 | 適用場景 |
---|---|---|
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 仍然有廣泛應用,并在不斷進化!
如果你對某個架構感興趣,可以深入研究它的論文或實現!