「多图」图解10大CNN架构
大家好,我是K同學(xué)啊!
你是否一直在關(guān)注不同的卷積神經(jīng)網(wǎng)絡(luò) (CNN)?近年來,我們見證了無數(shù)CNN的誕生。這些網(wǎng)絡(luò)已經(jīng)變得如此之深,以至于很難將整個(gè)模型可視化。我們不再跟蹤它們,而是將它們視為黑盒模型。
這篇文章是 10 種常見CNN 架構(gòu)的可視化。這些插圖提供了整個(gè)模型的更緊湊的視圖,而不必為了查看 softmax 層而向下滾動(dòng)幾次。除了這些圖像,我還附上了一些關(guān)于它們?nèi)绾坞S著時(shí)間“進(jìn)化”的筆記——從 5 到 50 個(gè)卷積層,從普通卷積層到模塊,從 2-3 個(gè)塔到 32 個(gè)塔,從 7?7 到 5 ?5——但稍后會(huì)詳細(xì)介紹。
在這里我想補(bǔ)充一點(diǎn),我們?cè)诰W(wǎng)上看到的大量 CNN 架構(gòu)是許多因素的結(jié)果——改進(jìn)的計(jì)算機(jī)硬件、ImageNet 競(jìng)爭(zhēng)、解決特定任務(wù)、新想法等等。谷歌研究員 Christian Szegedy 曾提到。
“[大部分]進(jìn)步不僅僅是更強(qiáng)大的硬件、更大的數(shù)據(jù)集和更大的模型的結(jié)果,而且主要是新思想、算法和改進(jìn)網(wǎng)絡(luò)架構(gòu)的結(jié)果。” (塞格迪等人,2014 年)
關(guān)于可視化的一些說明,請(qǐng)注意,我已經(jīng)排除了插圖中的卷積過濾器數(shù)量、填充、步幅、dropouts和flatten 等信息。
目錄(按出版年份排序)
- 1. LeNet-5 (1998)
- 2. AlexNet (2012)
- 3. VGG-16 (2014)
- 4. Inception-v1 (2014)
- 5. Inception-v3 (2015)
- 6. ResNet-50 (2015)
- 7. Xception (2016)
- 8. Inception-v4 (2016)
- 9. Inception-ResNet-V2 (2016)
- 10. ResNeXt-50 (2017)
- 附錄:網(wǎng)絡(luò)中的網(wǎng)絡(luò)(2014)
1. LeNet-5 (1998)
LeNet-5 是最簡(jiǎn)單的架構(gòu)之一。它有 2 個(gè)卷積層和 3 個(gè)全連接層(因此“5”——神經(jīng)網(wǎng)絡(luò)的名稱通常來自于它們所具有的卷積層和全連接層的數(shù)量)。我們現(xiàn)在所知道的平均池化層被稱為子采樣層,它具有可訓(xùn)練的權(quán)重(這不是當(dāng)今設(shè)計(jì) CNN 的當(dāng)前做法)。這個(gè)架構(gòu)有大約60,000 個(gè)參數(shù)。
??什么是小說?
這種架構(gòu)已經(jīng)成為標(biāo)準(zhǔn)的“模板”:用激活函數(shù)和池化層堆疊卷積,并以一個(gè)或多個(gè)全連接層結(jié)束網(wǎng)絡(luò)。
📝刊物
- 論文:Gradient-Based Learning Applied to Document Recognition
- 作者:Yann LeCun、Léon Bottou、Yoshua Bengio 和 Patrick Haffner
- 發(fā)表于: IEEE Proceedings of the IEEE (1998)
📚實(shí)例
- 深度學(xué)習(xí)100例-卷積神經(jīng)網(wǎng)絡(luò)(LeNet-5)深度學(xué)習(xí)里的“Hello Word” | 第22天
2. AlexNet (2012)
60M 參數(shù),AlexNet 有 8 層——5 層卷積和 3 層全連接。AlexNet 只是在 LeNet-5 上再堆疊了幾層。在發(fā)表時(shí),作者指出他們的架構(gòu)是“迄今為止在 ImageNet 子集上最大的卷積神經(jīng)網(wǎng)絡(luò)之一”。
??什么是小說?
他們是第一個(gè)將整流線性單元 (ReLU) 實(shí)現(xiàn)為激活函數(shù)的人。
📝刊物
- 論文:ImageNet Classification with Deep Convolutional Neural Networks
- 作者:Alex Krizhevsky、Ilya Sutskever、Geoffrey Hinton。加拿大多倫多大學(xué)。
- 發(fā)表于:NeurIPS 2012
📚實(shí)例
- 深度學(xué)習(xí)100例-卷積神經(jīng)網(wǎng)絡(luò)(AlexNet)手把手教學(xué) | 第11天
3. VGG-16 (2014)
到現(xiàn)在為止,你可能已經(jīng)注意到 CNN 開始變得越來越深入。這是因?yàn)樘岣呱疃壬窠?jīng)網(wǎng)絡(luò)性能最直接的方法是增加它們的大小(Szegedy 等人)。Visual Geometry Group (VGG) 的人發(fā)明了 VGG-16,它有 13 個(gè)卷積層和 3 個(gè)全連接層,同時(shí)繼承了 AlexNet 的 ReLU 傳統(tǒng)。該網(wǎng)絡(luò)在 AlexNet 上堆疊了更多層,并使用了更小的過濾器(2×2 和 3×3)。它由138M的參數(shù)組成,占用大約500MB的存儲(chǔ)空間😱。他們還設(shè)計(jì)了一個(gè)更深的變體,VGG-19。
??什么是小說?
正如他們?cè)谡刑岬降?#xff0c;這篇論文的貢獻(xiàn)是設(shè)計(jì)了更深的網(wǎng)絡(luò)(大約是 AlexNet 的兩倍)。這是通過堆疊均勻卷積來完成的。
📝刊物
- 論文:Very Deep Convolutional Networks for Large-Scale Image Recognition
- 作者:Karen Simonyan、Andrew Zisserman。英國(guó)牛津大學(xué)。
- arXiv 預(yù)印本,2014
📚實(shí)例
- 深度學(xué)習(xí)100例-卷積神經(jīng)網(wǎng)絡(luò)(VGG-16)識(shí)別海賊王草帽一伙 | 第6天
- 深度學(xué)習(xí)100例-卷積神經(jīng)網(wǎng)絡(luò)(VGG-16)貓狗識(shí)別 | 第21天
4. Inception-v1 (2014)
這種具有5M參數(shù)的22層架構(gòu)稱為Inception-v1。在這里,網(wǎng)絡(luò)中的網(wǎng)絡(luò)(見附錄)方法被大量使用,如本文所述。這是通過“Inception模塊”完成的。Inception模塊的體系結(jié)構(gòu)設(shè)計(jì)是近似稀疏結(jié)構(gòu)研究的產(chǎn)物(閱讀論文了解更多!)。每個(gè)模塊提出3個(gè)想法:
值得注意的是,“這種架構(gòu)的主要特點(diǎn)是提高了網(wǎng)絡(luò)內(nèi)部計(jì)算資源的利用率。”
注意:
模塊的名稱(Stem和Inception)在其更高版本(即Inception-v4和Inception-ResNets)之前未用于此版本的Inception。我在這里添加了它們以便于比較。
??什么是小說?
使用密集模塊/塊構(gòu)建網(wǎng)絡(luò)。我們不是堆疊卷積層,而是堆疊模塊或塊,其中是卷積層。因此名稱為Inception(參考由Leonardo DiCaprio主演的2010年科幻電影Inception《盜夢(mèng)空間》)。
📝刊物
- 論文:Going Deeper with Convolutions
- 作者:Christian Szegedy、Wei Liu、Yangqing Jia、Pierre Sermanet、Scott Reed、Dragomir Anguelov、Dumitru Erhan、Vincent Vanhoucke、Andrew Rabinovich。谷歌、密歇根大學(xué)、北卡羅來納大學(xué)
- 發(fā)表于:2015 年 IEEE 計(jì)算機(jī)視覺和模式識(shí)別會(huì)議 (CVPR)
5. Inception-v3 (2015)
Inception-v3 是 Inception-v1 的繼承者,有24M參數(shù)。等等 Inception-v2 在哪里?別擔(dān)心——它是 v3 的早期原型,因此它與 v3 非常相似但不常用。當(dāng)作者提出 Inception-v2 時(shí),他們對(duì)其進(jìn)行了許多實(shí)驗(yàn),并記錄了一些成功的調(diào)整。Inception-v3 是包含這些調(diào)整的網(wǎng)絡(luò)(調(diào)整優(yōu)化器、損失函數(shù)以及向輔助網(wǎng)絡(luò)中的輔助層添加批量歸一化)
Inception-v2 和 Inception-v3 的動(dòng)機(jī)是避免 代表性瓶頸 representational bottlenecks (這意味著大幅減少下一層的輸入維度)并通過使用因子分解方法進(jìn)行更有效的計(jì)算。
注意:
模塊的名稱(Stem,Inception-A,Inception-B等)直到其更高版本即Inception-v4和Inception-ResNets才用于此版本的Inception。我在這里添加了它們以便于比較。
??什么是小說?
?與之前的版本Inception-v1 相比有什么改進(jìn)?
📝刊物
- 論文:Rethinking the Inception Architecture for Computer Vision
- 作者:Christian Szegedy、Vincent Vanhoucke、Sergey Ioffe、Jonathon Shlens、Zbigniew Wojna。谷歌,倫敦大學(xué)學(xué)院
- 發(fā)表于:2016 年 IEEE 計(jì)算機(jī)視覺和模式識(shí)別會(huì)議 (CVPR)
📚實(shí)例
- 深度學(xué)習(xí)100例 - 卷積神經(jīng)網(wǎng)絡(luò)(Inception V3)識(shí)別手語(yǔ) | 第13天
6. ResNet-50 (2015)
從過去的幾個(gè) CNN 中,我們只看到設(shè)計(jì)中的層數(shù)越來越多,并獲得了更好的性能。但是“隨著網(wǎng)絡(luò)深度的增加,準(zhǔn)確度會(huì)飽和(這可能不足為奇)然后迅速下降。” 微軟研究院的人用 ResNet 解決了這個(gè)問題——使用跳過連接(又名快捷連接,殘差),同時(shí)構(gòu)建更深層次的模型。
ResNet 是批標(biāo)準(zhǔn)化的早期采用者之一(由 Ioffe 和 Szegedy 撰寫的批規(guī)范論文于 2015 年提交給 ICML)。上圖是 ResNet-50,有26M參數(shù)。
ResNets 的基本構(gòu)建塊是 conv 和 identity 塊。因?yàn)樗鼈兛雌饋砗芟?#xff0c;你可以像這樣簡(jiǎn)化 ResNet-50(不要為此引用我!):
??什么是小說?
📝刊物
- 論文:Deep Residual Learning for Image Recognition
- 作者:Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun. Microsoft
- 發(fā)表于:2016 年 IEEE 計(jì)算機(jī)視覺和模式識(shí)別會(huì)議 (CVPR)
📚實(shí)例
- 深度學(xué)習(xí)100例 -卷積神經(jīng)網(wǎng)絡(luò)(ResNet-50)鳥類識(shí)別 | 第8天
7. Xception (2016)
Xception 是對(duì) Inception 的改編,其中 Inception 模塊已替換為深度可分離卷積。它的參數(shù)數(shù)量也與 Inception-v1 ( 23M )大致相同。
- 首先,跨通道(或跨特征圖)相關(guān)性由 1×1 卷積捕獲。
- 因此,通過常規(guī)的 3×3 或 5×5 卷積捕獲每個(gè)通道內(nèi)的空間相關(guān)性。
將這個(gè)想法發(fā)揮到極致意味著對(duì)每個(gè)通道執(zhí)行 1×1 ,然后對(duì)每個(gè)輸出執(zhí)行 3×3 。這與用深度可分離卷積替換 Inception 模塊相同。
??什么是小說?
📝刊物
- 論文:Xception: Deep Learning with Depthwise Separable Convolutions
- 作者:Fran?ois Chollet. Google.
- 發(fā)表于:2017 IEEE 計(jì)算機(jī)視覺與模式識(shí)別會(huì)議 (CVPR)
8. Inception-v4 (2016)
Google 的再次發(fā)起了 Inception- v4,43M 的參數(shù)。同樣,這是對(duì) Inception-v3 的改進(jìn)。主要區(qū)別在于 Stem 組和 Inception-C 模塊中的一些細(xì)微變化。作者還“為每個(gè)網(wǎng)格大小的 Inception 塊做出了統(tǒng)一的選擇”。他們還提到擁有“剩余連接(residual connections)可以顯著提高訓(xùn)練速度”。
總而言之,請(qǐng)注意有人提到 Inception-v4 由于增加了模型尺寸而效果更好。
?與之前的版本Inception-v3 相比有什么改進(jìn)?
📝刊物
- 論文:Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning
- 作者:Christian Szegedy, Sergey Ioffe, Vincent Vanhoucke, Alex Alemi. Google.
- 發(fā)表于: 第三十屆 AAAI 人工智能會(huì)議論文集
9. Inception-ResNet-V2 (2016)
在與Inception-v4相同的論文中,同一作者還介紹了Inception-ResNets – 一系列Inception-ResNet-v1和Inception-ResNet-v2。該系列的后一個(gè)成員有56M參數(shù)。
?與之前的版本Inception-v3 相比有什么改進(jìn)?
📝刊物
- 論文:Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning
- 作者:Christian Szegedy, Sergey Ioffe, Vincent Vanhoucke, Alex Alemi. Google
- 發(fā)表于: 第三十屆 AAAI 人工智能會(huì)議論文集
📚實(shí)例
- 深度學(xué)習(xí)100例-卷積神經(jīng)網(wǎng)絡(luò)(Inception-ResNet-v2)識(shí)別交通標(biāo)志 | 第14天
10. ResNeXt-50 (2017)
如果您正在考慮 ResNet,是的,它們是相關(guān)的。ResNeXt-50 有25M參數(shù)(ResNet-50 有 25.5M)。ResNeXts 的不同之處在于在每個(gè)模塊中添加了平行的塔/分支/路徑,如上所示“總共 32 個(gè)塔(total 32 towers)”。
??什么是小說?
📝刊物
- 論文:Aggregated Residual Transformations for Deep Neural Networks
- 作者:Saining Xie, Ross Girshick, Piotr Dollár, Zhuowen Tu, Kaiming He. University of California San Diego, Facebook Research
- 發(fā)表于:2017 IEEE 計(jì)算機(jī)視覺與模式識(shí)別會(huì)議 (CVPR)
附錄:網(wǎng)絡(luò)中的網(wǎng)絡(luò)(2014)
回想一下,在卷積中,像素的值是過濾器中權(quán)重和當(dāng)前滑動(dòng)窗口的線性組合。作者提出,讓我們擁有一個(gè)帶有 1 個(gè)隱藏層的迷你神經(jīng)網(wǎng)絡(luò),而不是這種線性組合。這就是他們創(chuàng)造的 Mlpconv。所以我們?cè)谶@里處理的是(卷積神經(jīng))網(wǎng)絡(luò)中的(簡(jiǎn)單的 1 個(gè)隱藏層)網(wǎng)絡(luò)。
Mlpconv 的這個(gè)想法被比作 1×1 卷積,并成為 Inception 架構(gòu)的主要特征。
??什么是小說?
📝刊物
- 論文:Network In Network
- 作者:Min Lin, Qiang Chen, Shuicheng Yan. National University of Singapore
- arXiv 預(yù)印本,2013
翻譯自:原文地址,有部分刪減及增加。如有不妥之處請(qǐng)聯(lián)系我。
總結(jié)
以上是生活随笔為你收集整理的「多图」图解10大CNN架构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二十万字!耗时90天
- 下一篇: 深度学习100例-卷积神经网络(VGG-