• 正文
    • LeNet
    • AlexNet
    • ZFNet
    • VGG
    • GoogLeNet (InceptionNet)
    • ResNet
    • DenseNet
    • SENet
    • SqueezeNet
    • MobileNet
    • 小總結
  • 推薦器件
  • 相關推薦
申請入駐 產業(yè)圖譜

一文總結經典卷積神經網絡CNN模型

2024/05/05
1.1萬
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

一般的DNN直接將全部信息拉成一維進行全連接,會丟失圖像的位置等信息。

CNN(卷積神經網絡)更適合計算機視覺領域。下面總結從1998年至今的優(yōu)秀CNN模型,包括LeNet、AlexNet、ZFNet、VGG、GoogLeNet、ResNet、DenseNet、SENet、SqueezeNet、MobileNet。在了解巨佬們的智慧結晶,學習算法上的思路和技巧,便于我們自己構建模型,也便于我們做遷移學習。

在觀看了斯坦福的CS231n課程視頻和同濟子豪兄的視頻后很有感悟,但在csdn發(fā)現沒有類似詳細的總結,希望幫到一些小白,搭配子豪兄的視頻食用更佳哦。

  • 卷積可以 提取原圖中符合卷積核特征的特征,賦予神經網絡 局部感受野,權值共享(卷積核是共享的)。
  • 池化(下采樣)目的是 減少參數量、防止過擬合、平移不變性(原圖像平移不改變模型判斷結果)

模型總結的主線以歷年ImageNet競賽的優(yōu)秀模型為主。

想高效入門深度學習的童鞋可以康康這篇哦:《一文極速理解深度學習》

其中一些經典模型的代碼實現可以康康這篇!《經典卷積神經網絡Python,TensorFlow全代碼實現》

LeNet

1998年提出的模型,為了識別手寫數字。7層CNN,網絡結構就是 卷積池化+卷積池化+3層全連接

在這里插入圖片描述

為了節(jié)省運算,不是所有通道都參與下一個卷積運算。

輸出層不是用softmax,而是用了高斯連接。

采用了 Sigmoid / tanh 激活函數。

AlexNet

總結網絡結構與LeNet差不多,但有更深的模型,更多卷積核,且處理的是自然圖像,而不是手寫數字。是ImageNet 2012年的winner,首次使用CNN,精度大幅提升,具有跨時代意義,之后所有CV領域的模型都是基于卷積神經網絡。

原論文圖中輸入應該是227*227*3,原論文有誤。因為當時GPU內存不夠,所以用2個GPU,每個GPU有48個卷積核,將模型并行計算。

在這里插入圖片描述

在這里插入圖片描述

卷積池化歸一化統(tǒng)一算一層卷積層,因為池化和歸一化沒有參數,所以是8層CNN。

在這里插入圖片描述

參數量有6千萬,比LeNet多了3個數量級。

NORM層是局部響應歸一化層,現在很少用了,現在用Batch Normalization挺好的。

AlexNet使用了ReLU激活函數,Softmax輸出層,最大池化,使用了圖像數據增強,使用了Dropout(0.5),還用7個類似的模型進行了模型集成(精度提高了2.8%)。

核心創(chuàng)新點:

在這里插入圖片描述

ZFNet

ImageNet競賽2013年冠軍。結構跟AlexNet沒有本質區(qū)別,也是8層CNN,主要進行了超參數的優(yōu)化,就是改改卷積的大小和步長。

但是他們這篇論文的核心貢獻點是可視化神經網絡,提出了反卷積、反池化、反激活,把feature map重構回原始輸入空間,從而我們能直觀看到底層的卷積核提取底層的邊緣、顏色,越到高層卷積核提取的特征就越抽象和復雜,直觀地理解CNN提取了哪些特征和特征的重要些。

在這里插入圖片描述
在這里插入圖片描述

VGG

2014年ImageNe分類競賽亞軍,但是在一個定位競賽中是冠軍。

VGG創(chuàng)新地只用了3*3卷積核,并將網絡加深。

在這里插入圖片描述

一共5個block,每個block有卷積和池化。VGG16表示共16個帶參數的層,還有個VGG19,只是在最后3個block分別加了一個卷積層。

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

主要的點是發(fā)揮了感受野的重要性,因為3層3*3卷積的感受野與1層7*7的卷積的感受野相同(2層3*3卷積的感受野與1層5*5的卷積的感受野相同),但3層3*3卷積會帶來更少的參數、更深的網絡、更多非線性變換。

但參數有點臃腫
在這里插入圖片描述

GoogLeNet (InceptionNet)

2014年ImageNe分類競賽冠軍。

之前的網絡結構主要是堆疊卷積池化,GoogLeNet網絡創(chuàng)新提出Inception module,主要堆疊這個 Inception module。
在這里插入圖片描述
本質是多尺度并行卷積和池化(1*1,3*3,5*5).因為有時圖像中重點區(qū)域大小不一樣(比如小狗的近照和遠照),多個卷積核運算賦予同一張圖不同感受野,充分地提取出圖像特征。
在這里插入圖片描述

在這里插入圖片描述
問題來了,這樣子將feature map直接摞起來,會越來越厚,計算量會非常大。

解決方法:1*1卷積

好處:升維或降維、跨通道信息交融、減少參數量增加模型深度(提高非線性能力)。

在這里插入圖片描述

在這里插入圖片描述
子豪兄的這頁PPT總結得非常好:

在這里插入圖片描述
在 network in network 這篇論文中提出1*1卷積的重要性,(a)說明了28*28*256的輸入經過32個5*5卷積,共需要201.8K個參數;(b)說明了28*28*256的輸入先經過16個1*1卷積降維,再經過32個5*5卷積升維,得到同樣大小的輸出,但是只需要16.9K個參數,且增加了模型深度,充分說明了1*1卷積的好處。

經過改進:
在這里插入圖片描述

參數少了很多,不錯。

在這里插入圖片描述

最終GoogLeNet網絡結構(Deeper networks, with computational efficiency):
總共22個帶參數的層 (并行的算1層)
在這里插入圖片描述

ResNet

2015年是神仙打架的一年,真正開啟了深度神經網絡,CNN也是這一年超越了人類圖像分類的水平。ResNet就是2015年ImageNet競賽的冠軍,由何凱明團隊提出,當時在圖像分類、語義分隔、定位等方面均戰(zhàn)勝了歷年來所有的模型,大喊一聲:還有誰!

在這里插入圖片描述
下面好好了解一下這個masterpiece。

首先當時的理念是網絡層不是越深越好。主要是梯度消失和網絡退化現象

在這里插入圖片描述

ResNet創(chuàng)新地提出 殘差模塊(Residual block)
核心思想就是在深層網絡中卷積的輸出等于淺層網絡的結果加上殘差,殘差就是經過深層網絡訓練的結果,如果經過深層網絡訓練得到0,那么輸出也是淺層網絡的結果,至少模型不會變差,所以堆疊多個殘差模塊的結果必然是比淺層模型更好的。

在這里插入圖片描述

在這里插入圖片描述

所以ResNet網絡可以瘋狂加深,總層數可以為34、50、101或152層。

在這里插入圖片描述

  • 用了步長為2的卷積代替池化。
  • 用了MSRA初始化
  • 用了Batch normalization,激活函數是 SGD+Momentum(0.9)
  • 用了Global Average Pooling(GAP),大量節(jié)省了參數。

DenseNet

2017 CVPR最佳paper。
Dense Block(每一層都與前面層相連):
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

SENet

2017年(最后一屆)ImageNet競賽冠軍,由胡杰團隊提出。

在這里插入圖片描述
SENet的核心就是自適應學習得到每個feature map通道的權重。
基于GAP(Global Average Pooling)去提取U中每個通道的權重,然后再把U和權重乘起來。它可以集成在任何網絡的后面(Inception、resnet等)。

SqueezeNet

由巨佬Song Han提出,主要為了保持精度的同時壓縮模型。
在這里插入圖片描述

MobileNet

重點也是壓縮模型,為了使AI模型在邊緣的移動設備上運行邊緣計算)。
核心是讓每個通道分別用不同的卷積核卷積,再用1*1卷積跨通道融合特征。

在這里插入圖片描述

小總結

很好的模型總結圖!
在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

推薦器件

更多器件
器件型號 數量 器件廠商 器件描述 數據手冊 ECAD模型 風險等級 參考價格 更多信息
KSZ8081MNXCA-TR 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER
$1.36 查看
PC817X3NSZ1B 1 Sharp Corp Transistor Output Optocoupler, 1-Element, 5000V Isolation,

ECAD模型

下載ECAD模型
$0.54 查看
TJA1051T/E/1J 1 NXP Semiconductors TJA1051 - High-speed CAN transceiver SOIC 8-Pin

ECAD模型

下載ECAD模型
$0.39 查看

相關推薦