2D卷積網絡模型

2021-02-12 代碼搜羅屋

第一次用GitHub上傳(還蠻好用的):

https://github.com/proposevision/repo1

https://github.com/proposevision/repo1/blob/main/%E7%BD%91%E7%BB%9C%E6%A8%A1%E5%9E%8B.md

卷積神經網絡家族整理

2020年10月15日星期四

目錄

1 前言 2

1.1 卷積神經網絡總覽 2

1.2 參考文檔 3

2 LeNet-5 3

2.1 時間和起因 4

2.2 網絡結構 4

3 AlexNet 4

3.1 時間和背景 4

3.2 網絡結構 4

4 VGG 6

4.1 時間和背景 6

4.2 網絡結構 6

4.3 參考博客 7

5 Network in Network 7

5.1 時間和簡介 8

5.2 論文摘要 8

5.3 網絡結構 8

5.4 網絡特點 9

5.5 參考文獻 9

6 Inception網絡 9

6.1 簡介 9

6.2 Inception的特點 10

6.3 GoogLeNet 11

6.3.1 時間和簡介 11

6.3.2 網絡結構 11

6.3.3 Layer設計 12

6.4 Inception v2 13

6.5 Inception v3 16

6.6 Inception v4 16

6.6.1 時間和背景 16

6.6.2 網絡結構 17

6.7 Inception-resnet v1 20

6.8 參考文獻 21

7 Resnet 22

7.1 時間和簡介 22

7.2 網絡結構 22

7.2.1 殘差塊的結構 22

7.2.2 結構示意圖 23

7.2.3 多種深度的網絡 25

7.3 參考文獻 25

8 DenseNet 25

8.1 時間和簡介 25

8.2 論文摘要 26

8.3 網絡結構 26

8.3.1 示意圖 26

8.3.2 稠密塊 26

8.3.3 DenseNets結構 27

1前言1.1卷積神經網絡總覽

圖1.1-1 展示了卷積神經網絡的起源和在不同發展思想的分支匯合

圖1.1-1 卷積神經網絡的發展思路

圖1.1-2 展示了不同網絡架構的一個綜合性能對比,越在左上角網絡越好,橫軸代表計算量,縱軸代表準確率,圓形大小代表參數量

圖1.1-2 卷積神經網絡的家族性能對比圖

       圖1.1-3 是部分網絡的沿著時間發展史

圖1.1-3 網絡的時間發展史

1.2參考文檔

典型卷積神經網絡架構:

https://www.cnblogs.com/whenyd/p/7886637.html#0-figures-first

從LeNet到SENet——卷積神經網絡回顧:

https://www.toutiao.com/a6765725794024030723/

2LeNet-52.1時間和起因

LeNet-5是在1998年LeCun等人 提出,雖然提出的時間比較早, 但它是一個非常成功的神經網絡模型. 基於 LeNet-5的手寫數字識別系統在 20 世紀 90 年代被美國很多銀行使用, 用來識別支票上面的手寫數字

2.2網絡結構

LeNet-5共有7層,接受輸入圖像大小為32 × 32 = 1 024,輸出對應 10個類別的得分.

每層

卷積參數

輸出

C1卷積層

6個5×5的卷積核

6組28×28的特徵映射

S2層為匯聚層

採樣窗口為 2 × 2,avg

6 × 14 × 14

C3層為卷積層

60 個 5 × 5 的卷積核

16 組10 × 10 的特徵映射

S4層是匯聚層

採樣窗口為2 × 2

16個5 × 5的特徵映射

C5 層是卷積層

120 × 16 個 5 × 5

120 組 1 × 1 的特徵映射

F6層是全連接層

120*84

84

3AlexNet3.1時間和背景

AlexNet[Krizhevsky et al., 2012] 是第一個現代深度卷積網絡模型, 其首次使用了很多現代深度卷積網絡的技術方法, 比如使用 GPU 進行並行訓練, 採用了 ReLU 作為非線性激活函數, 使用 Dropout 防止過擬合, 使用數據增強來提高模型準確率等. AlexNet贏得了2012年ImageNet圖像分類競賽的冠軍.

3.2網絡結構

AlexNet的結構如圖所示, 包括5個卷積層、 3個匯聚層和3個全連接層(其中最後一層是使用 Softmax 函數的輸出層). 因為網絡規模超出了當時的單個GPU的內存限制,AlexNet將網絡拆為兩半, 分別放在兩個GPU上, GPU間只在某些層( 比如第3層) 進行通信.

AlexNet的輸入為224 × 224 × 3的圖像, 輸出為1 000個類別的條件概率, 具

體結構如下:

層次



第一個卷積層

11×11×3×48的卷積核

步長�� = 4,

零填充�� = 3

得到兩個大小為55 × 55 × 48的特徵映射組

第一個匯聚層

3 × 3的最大匯聚

步長�� = 2

得到兩個27 × 27 × 48的特徵映射組

第二個卷積層

5×5×48×128的卷積核

步長�� = 1

零填充�� = 2

兩個大小為27 × 27 × 128的特徵映射組

第二個匯聚層

3 × 3的最大匯聚操作

步長�� = 2

得到兩
個大小為13 × 13 × 128的特徵映射組

第三個卷積層為兩個路徑的融合

兩個3 × 3 × 256 × 384
的卷積核

步長 �� = 1, 零填充 �� = 1

得到兩個大小為 13 × 13 × 192 的特徵映

射組.

第四個卷積層

兩個大小為 3 × 3 × 192 × 192 的卷積核

步長�� = 1,

零填充�� = 1

得到兩個大小為13 × 13 × 192的特徵映射組

第五個卷積層

使用兩個大小為 3 × 3 × 192 × 128 的卷積核

步長�� = 1, 零填充�� = 1

得到兩個大小為13 × 13 × 128的特徵映射組

第三個匯聚層

大小為3 × 3的最大匯聚操作, 步長�� = 2

得到兩
個大小為6 × 6 × 128的特徵映射組

三個全連接層, 神經元數量分別為4 096、4 096和1 000

4VGG4.1時間和背景

2014年牛津大學機器人實驗室嘗試構建了更深的網絡,文章中稱為"VERY DEEP CONVOLUTIONAL NETWORKS",如VGG16,有16層。VGG16是牛津大學VGG組提出的。VGG16相比AlexNet的一個改進是採用連續的幾個3x3的卷積核代替AlexNet中的較大卷積核(11x11,5x5)。對於給定的感受野(與輸出有關的輸入圖片的局部大小),採用堆積的小卷積核是優於採用大的卷積核,因為多層非線性層可以增加網絡深度來保證學習更複雜的模式,而且代價還比較小(參數更少)。

4.2網絡結構

圖3.2-1 VGG16網絡結構圖

表3.2-1 VGG各版本的內容

4.3參考博客

CNN深度卷積神經網絡-VGG:

https://www.yuque.com/docs/share/8c9a2f9b-ca42-4d82-9980-90592f993006?#

5Network in Network5.1時間和簡介

《Network in Network》是原於2013年發表的論文,論文中描述了一種新型卷積神經網絡結構,就叫做Network in Network(NIN)。

LeNet,AlexNet,VGG都秉承一種設計思路:先用卷積層構成的模塊提取空間特徵,再用全連接層模塊來輸出分類結果。這裡NIN提出了一種全新的思路:由多個由卷積層+全連接層構成的微型網絡(mlpconv)來提取特徵,用全局平均池化層來輸出分類。這種思想影響了後面一系列卷積神經網絡的設計,例如Inception.

5.2論文摘要

我們提出一種新的深層網絡結構,稱為「網絡中的網絡」(NIN),以提高模型對感受野內局部特徵塊的辨識能力。傳統的卷積層使用線性濾波器和非線性激活函數對處理輸入。相反,我們構建具有更複雜結構的微神經網絡來抽象感受野中的數據。我們用多層感知器建立了微型神經網絡,它是一個有效的函數逼近器。將微型神經網絡在輸入上滑動,得到特徵圖,方法與CNN相似;然後它們被送入下一層。通過上述結構的多重疊加,可以實現深層NIN。通過微網絡增強的局部建模,我們能夠利用分類層的特徵圖上進行全局average pooling,這比傳統的全連接層更容易解釋,也更不容易發生過擬合。我們使用NIN在CIFAR-10和CIFAR-100達到了最佳的分類性能,並在SVHN和MNIST數據集上也表現出色

5.3網絡結構

圖5.3-1線性卷積層與MLP層(多層感知機)的比較

(a)為線性卷積層,包含一個線性濾波器;而(b)是一個微型網絡MLP層(論文中使用的是b)。

圖5.3-2:論文中Network in Network整體架構,包含三個MLP層+一個全局average pooling層

5.4網絡特點

lNIN由三個mplconv層 + 一個GAP全局平均池化層組成

l一個mplconv即一個微型神經網絡,故整體架構稱為NIN:Network in Network

l微型網絡mplconv,內部由多層感知機實現(其中包含1個conv層+2個fc層)

lmpl中感知機層數是可以調整的;同樣mlpconv層作為一個微型網絡結構,也可以被用在卷積層之間,個數隨需調整。

lNIN網絡用微型網絡mlpconv層代替了傳統的卷積層;用GAP代替了傳統CNN模型中末尾的全連接層。目的和優勢見論文解讀。

5.5參考文獻

CNN深度卷積神經網絡-Network in Network:

https://www.yuque.com/docs/share/3a954eca-c65b-4db3-b6de-03da1d96860a?#

神經網絡閱讀筆記:

https://zhuanlan.zhihu.com/p/138829008

【模型解讀】network in network中的1*1卷積,你懂了嗎?

https://mp.weixin.qq.com/s?__biz=MzA3NDIyMjM1NA==&mid=2649029550&idx=1&sn=13a3f1e12815694c595b9ee88708af1a&chksm=871345d3b064ccc547637ad3daa56565c25c234686452228b052e10589740d697f55e8945fe9&token=1879088111&lang=zh_CN#rd

6Inception網絡6.1簡介

Inception模 塊 受 到 了模型「Network in Network」 的啟發。

在卷積網絡中, 如何設置卷積層的卷積核大小是一個十分關鍵的問題. 在Inception 網絡中, 一個卷積層包含多個不同大小的卷積操作, 稱為Inception 模塊. Inception網絡是由有多個Inception模塊和少量的匯聚層堆疊而成.

圖6.1-1給出了v1版本的Inception模塊結構, 採用了4組平行的特徵抽取方式, 分別為1 × 1、 3 × 3、 5 × 5的卷積和3 × 3的最大匯聚. 同時, 為了提高計算效率, 減少參數數量, Inception模塊在進行3 × 3、5 × 5的卷積之前、3 × 3的最大匯聚之後, 進行一次1 × 1的卷積來減少特徵映射的深度. 如果輸入特徵映射之間存在冗餘信息, 1 × 1的卷積相當於先進行一次特徵抽取。

 

圖6.1-1 左邊的是Inception的思想,右邊是NIN的思想

Inception 網絡有多個改進版本, 其中比較有代表性的有 Inception v3 網絡[Szegedy et al., 2016]. Inception v3 網絡用多層的小卷積核來替換大的卷積核以減少計算量和參數量, 並保持感受野不變. 具體包括:

1) 使用兩層3 × 3的卷積來替換v1中的5 × 5的卷積;

2) 使用連續的�� × 1和1 × �� 來替換�� × �� 的卷積.此外, Inception v3網絡同時也引入了標籤平滑以及批量歸一化等優化方法進行訓練.

6.2Inception的特點

  Inception塊之間可以堆疊使用。

  添加了1×1卷積,降低輸入的通道維度,避免參數過量影響訓練

  多卷積核+池化的並行結構,通過合併層進行串聯,實際上讓網絡具備了自動選擇的能力,而不是人為地設置卷積或池化,或決定卷積核的尺寸。

針對同一個輸入層,在Inception塊中有四條並行的線路,其中前1~3個是1×1卷積層,第4個是一個MaxPooling池化層,這四條線路最後的輸出擁有相同的shape和不同的channel通道數。於是,這些輸出最後可在channel維度進行合併。

例如:28×28×64,28×28×128,28×28×32,28×28×32。

通道合併層的shape:28×28×256(64+128+32+32)

6.3GoogLeNet6.3.1時間和簡介

GoogLeNet是2014年Christian Szegedy等人在2014年大規模視覺挑戰賽(ILSVRC2014)上使用的一種全新卷積神經網絡結構,於2015年在CVPR發表了論文《Going Deeper with Convolutions》。在這之前的AlexNet、VGG等結構都是通過增大網絡的深度(層數)來獲得更好的訓練效果,但層數的增加會帶來很多負作用,比如overfit、梯度消失、梯度爆炸等。inception的提出則從另一種角度來提升訓練結果:能更高效的利用計算資源,在相同的計算量下能提取到更多的特徵,從而提升訓練結果。

GoogLeNet 由 9 個 Inception v1 模塊和 5 個匯聚層以及其他一些卷積層和
全連接層構成, 總共為22層網絡

6.3.2網絡結構

圖6.3.2-1 GooLeNet的網絡結構圖

6.3.3Layer設計

GoogLeNet是作者團隊在參加2014大規模視覺挑戰賽時送去參加的幾種Inception結構的模型之一。該網絡設計時考慮了計算效率和實用性,故可以在單個設備上運行推理,對低內存設備比較友好。

整個網絡使用了9個Inception塊,結構排布如表格中所示:

表6.3.3-1 GooLeNet的網絡結構詳細表

整個網絡深度為22層(參數層共計22層),maxpool池化層5層。還添加了網絡中間一些輔助分類器具,這是考慮到由於深度較深,整個模型訓練完成可能耗時較長,且淺層網絡可能對中間層產生的特徵具有較強識別能力,故添加了輔助分類器可以在模型訓練的中間階段就進行分類。在整個訓練過程中,輔助分類器對於損失的以0.3的權重加到總損失中;推斷時,輔助網絡將被丟棄。

6.4Inception v2

Inception v2 和 Inception v3 來自同一篇論文《Rethinking the Inception Architecture for Computer Vision》,作者提出了一系列能增加準確度和減少計算複雜度的修正方法。

Inception V2和Inception V3的改進,主要是基於V3論文中提到的四個原則:

1.避免表示瓶頸,尤其是在網絡的前面。一般來說,特徵圖從輸入到輸出應該緩慢減小。

2.高維度特徵在網絡局部處理更加容易。考慮到更多的耦合特徵,在卷積網絡中增加非線性。可以讓網絡訓練更快。

3.空間聚合可以以低維度嵌入進行,這樣不會影響特徵的表達能力。如,在進行大尺度卷積之前,先對輸入進行降維。

4.平衡網絡的寬度和深度。增加寬度和深度都會帶來性能上的提升,兩者同時增加帶來了並行提升,但是要考慮計算資源的合理分配。

2015年Google團隊又提出了inception v2的結構,基於上面提到的一些原則,在V1的基礎之上主要做了以下改進:

⑴ 使用BN層,將每一層的輸出都規範化到一個N(0,1)的正態分布,這將有助於訓練,因為下一層不必學習輸入數據中的偏移,並且可以專注與如何更好地組合特徵(也因為在v2裡有較好的效果,BN層幾乎是成了深度網絡的必備);

(在Batch-normalized論文中只增加了BN層,而之後的Inception V3的論文提及到的inception v2還做了下面的優化)

⑵ 使用2個3x3的卷積代替梯度(特徵圖,下同)為35x35中的5x5的卷積,這樣既可以獲得相同的視野(經過2個3x3卷積得到的特徵圖大小等於1個5x5卷積得到的特徵圖),還具有更少的參數,還間接增加了網絡的深度,如下圖。(基於原則3)

解釋:https://blog.csdn.net/xiao_lxl/article/details/101067897

圖5

⑶ 3x3的卷積核表現的不錯,那更小的卷積核是不是會更好呢?比如2x2。對此,v2在17x17的梯度中使用1*n和n*1這種非對稱的卷積來代替n*n的對稱卷積,既降低網絡的參數,又增加了網絡的深度(實驗證明,該結構放於網絡中部,取n=7,準確率更高),如下。(基於原則3)

圖6

⑷ 在梯度為8x8時使用可以增加濾波器輸出的模塊(如下圖),以此來產生高維的稀疏特徵。(基於原則2)

(原則2指出,在高維特徵上,採用這種結構更好,因此該模塊用在了8x8的梯度上)

圖7

⑸ 輸入從224x224變為229x229。

最後實現的Inception v2的結構如下表。

表1 InceptionV2網絡結構

如下表,inception v2相比inception v1在imagenet的數據集上,識別誤差率由29%降為23.4%。

表2 不同網絡的結構下的準確率對比圖

6.5Inception v3

Inception Net v3 整合了前面 Inception v2 中提到的所有升級,還使用了:

lRMSProp 優化器;

lFactorized 7x7 卷積;

l輔助分類器使用了 BatchNorm;

l標籤平滑(添加到損失公式的一種正則化項,旨在阻止網絡對某一類別過分自信,即阻止過擬合)。

因此,在2015年12月提出的Inception V3結構借鑑inception的結構設計了採用一種並行的降維結構,如下圖:

6.6Inception v46.6.1時間和背景

2016年Inception研究團隊將最先進的Inception和Residual結構結合起來同時也提出了我們不含殘差結構的inception v4,以求達到性能上的進一步提升。

6.6.2網絡結構

總網絡結構:(Inception v4 和 Inception-resnetv2使用的stem骨幹網絡是一樣的)

值得注意的是,在網絡的最後,softmax層之前, 使用了keep prob為0.8的drop out來防止過擬合

子模塊:(圖中沒有標記為「V」的所有卷積是相同填充的,意味著它們的輸出網格與其輸入的大小相匹配)

1.stem模塊:

我們發現Stem中使用了Inception V3中使用的並行結構、不對稱卷積核結構,可以在保證信息損失足夠小的情況下,使得計算量降低。結構中1*1的卷積核也用來降維,並且也增加了非線性。圖中帶V的標記說明該卷積核使用valid padding,其餘的使用same padding。之後的結構也是這樣。我們發現這個stem結構實際上是替代了Inception V3中第一個Inception block之前的結構,在V3中僅僅是一些3*3卷積核的堆積,輸出的feature map為35*35*288,而在這裡結構更加複雜、層次更深,輸出的feature map為35*35*384,比V3的也更多。但是這一方案也在一定程度上保證了計算量。

Inception v4各個模塊詳細圖:

總體的詳細網絡結構圖如下:

6.7Inception-resnet v1

網絡結構:

 

右圖是左圖中詳細的展示。

6.8參考文獻

CNN深度卷積神經網絡-GoogLeNet:

https://www.yuque.com/docs/share/05bcc32c-29ce-449e-b924-2dc5d4f0e103?#

從Inception v1到Inception-ResNet,一文概覽Inception家族的奮鬥史:

https://zhuanlan.zhihu.com/p/37505777

Inception系列網絡:

https://zhuanlan.zhihu.com/p/30756181

Inception模型進化史:從GoogLeNet到Inception-ResNet

https://zhuanlan.zhihu.com/p/50754671

Inceptionv4論文詳解

https://blog.csdn.net/qq_38807688/article/details/84590291

7Resnet7.1時間和簡介

深度殘差網絡(deep residual network)是2015年微軟何凱明團隊發表的一篇名為:《Deep Residual Learning for Image Recognition》的論文中提出的一種全新的網絡結構,其核心模塊是殘差塊residual block。正是由於殘差塊結構的出現使得深度神經網絡模型的層數可以不斷加深到100層、1000層甚至更深,從而使得該團隊在當年的ILSVRC 2015分類競賽中取得卓越成績,也深刻地影響了以後的很多深度神經網絡的結構設計。殘差網絡的成功不僅表現在其在ILSVRC 2015競賽中的卓越效果,更是因為殘差塊skip connection/shorcut這樣優秀的思想和設計,使得卷積網絡隨著層數加深而導致的模型退化問題能被夠大幅解決,使模型深度提高一個數量級,到達上百、上千層。

7.2網絡結構7.2.1殘差塊的結構

圖7.2-1 殘差塊的結構

殘差網絡(Residual Network,ResNet)通過給非線性的卷積層增加直連邊((也稱為殘差連接( Residual Connection)) 的方式來提高信息的傳播效率假設在一個深度網絡中, 我們期望一個非線性單元( 可以為一層或多層的卷積層) ��(��; ��)去逼近一個目標函數為ℎ(��). 如果將目標函數拆分成兩部分:恆等函數( Identity Function) ��和殘差函數( Residue Function) ℎ(��) − ��根據通用近似定理, 一個由神經網絡構成的非線性單元有足夠的能力來近似逼近原始目標函數或殘差函數, 但實際中後者更容易學習 [He et al., 2016]. 因此原來的優化問題可以轉換為: 讓非線性單元��(��; ��)去近似殘差函數ℎ(��) − ��, 並用��(��; ��) + ��去逼近ℎ(��).

圖7.2-2 左邊的殘差結構不需要維度轉換,右邊的需要維度轉換

7.2.2結構示意圖

上圖最右邊是在中間普通網絡基礎上,增加了shortcut,使其變為了殘差網絡。這裡有兩種shortcut,實線shortcut和虛線shortcut(投影projection)。當輸入和輸出維度相同時,使用實線shortcut,當維度增加時使用虛線shortcut。當維度改變使用虛線shortcut時,我們為了匹配維度有2種做法:

• (A) shortcut任執行恆等映射,增加額外的0項來增加維度

• (B)使用等式  中的方式,通過1×1卷積來改變維度。

7.2.3多種深度的網絡

作者團隊不僅實驗了34層的ResNet更實驗了多種殘差塊,多種深度的殘差網絡,結構如下:

7.3參考文獻

【圖像分類論文解讀】CNN深度卷積神經網絡-ResNet

https://www.yuque.com/docs/share/01eddb57-d30f-4cc3-9b3d-22d9096711d8?#

8DenseNet8.1時間和簡介

DenseNet是在ResNet發表後深受其影響,同時又更為優秀的一種網絡結構,由康威大學清華大學、facebook的三位作者共同提出,論文發表於2017,獲得了CVPR 2017的最佳論文獎。其核心即dense block稠密塊繼承和發揚了ResNet中shortcut這一設計使得layer之間可以「稠密」互聯,同時,正如其名,不只是層於層間的連接,而且是稠密連接(也借鑑了Inception模塊的思想),DenseNet裡對於dense block中的每一層,都以前面的所有層作為輸入(而其自身也用作後續所有層的輸入),層和層之間正是通過ResNet中的shortcut方式進行連接。這種稠密連接的優點:它們減輕了梯度消失的問題,增強了特徵傳播,鼓勵特徵重用,並大大減少了參數數量。

8.2論文摘要

最近的工作表明,如果卷積網絡在靠近輸入的層和靠近輸出的層之間包含較短的連接,則可以訓練它們更深入,更準確和有效。 在本文中,我們支持此結論並介紹了密集卷積網絡(DenseNet),該網絡將每個層以前饋方式連接到每個其他層。具有L層的傳統卷積網絡具有L個連接——每個層與其後續層之間有一個連接——我們的網絡具有個連接。對於每個層,所有先前層的特徵圖都用作輸入,而其自己的特徵圖則用作所有後續層的輸入。DenseNets具有多種引人注目的優點:它們減輕了梯度消失的問題,加強了特徵的傳播,鼓勵了功能的重用並大大減少了參數數量。 我們在四個競爭激烈的對象識別基準測試任務(CIFAR-10,CIFAR-100,SVHN和ImageNet)上評估了我們提出的體系結構。DenseNets在大多數方面都比最新技術有了顯著改進,同時需要較少的計算即可實現高性能。代碼和預訓練模型在:https://github.com/liuzhuang13/DenseNet

8.3網絡結構8.3.1示意圖

上圖為一個由3個dense block稠密塊構成的DenseNet。稠密塊之間的連接稱為Transition layer過渡層,過渡層由BN+卷積層+池化層構成。論文中主要由BN+1×1卷積+2×2池化構成。連接層除了連接dense block外,主要作用有二:1.通過1×1卷積改變通道維;2.池化層down sampling + 使feature maps的尺寸減半

8.3.2稠密塊

論文中給出了一個5層的稠密塊示意圖:

dense block稠密塊內部的layer通過複合函數H來連接,複合函數H由BN + ReLU + Conv串聯構成。layer包含特徵圖的層數由輸入和增長率k是(超參數)決定,上圖k = 4。

在DenseNet的實現裡,H有兩種版本:

• BN + RuLU + 3×3卷積

• BN + ReLU + 1×1卷積 →輸出→ BN + RuLU + 3×3卷積

1.BN + RuLU + 3×3卷積,主要作用為特徵提取

2.BN + ReLU + 1×1卷積 →輸出→ BN + RuLU + 3×3卷積

主要作用除了特徵提取外,還通過1×1卷積改變通道維控制整體維度,尤其是dense block內靠後的layer。

8.3.3DenseNets結構

以DenseNet-121為例,看下其網絡構成:

1.DenseNet-121由121層權重層組成(其中4個Dense block,共計2×(6+12+24+16) = 116層權重,加上初始輸入的1卷積層+3過渡層+最後輸出的全連接層,共計121層);

2.訓練時採用了DenseNet-BC結構,壓縮因子0.5,增長率k = 32;

3.初始卷積層有2k個filter,經過7×7卷積將224×224的輸入圖片縮減至112×112;Denseblock塊由layer堆疊而成,layer的尺寸都相同:1×1+3×3的兩層conv(每層conv = BN+ReLU+Conv);Denseblock間由過渡層構成,過渡層通過2×2 stride2使特徵圖尺寸縮小一半。最後經過全局平均池化 + 全連接層的1000路softmax得到輸出。

相關焦點

  • 為什麼卷積神經網絡中的「卷積」不是卷積運算?
    也就是說,將卷積核上下,左右翻轉180度,再相乘求和才是卷積計算。那麼這裡面為什麼可以用互相關代替卷積呢?其實二維卷積的核心計算就是二維互相關運算,使用互相關代替卷積是不影響模型預測結果的,具體的我們通過一個conv模型訓練的實例來解釋:這裡我們藉助MXNet中的autograd模塊來實現自動求導,以及通過gluon中的nn模塊,繼承Block類來構造模型。
  • 2D卷積和3D卷積的區別及pytorch實現
    1.1.1 單通道卷積Pytorch實現直接使用torchvision.datasets.MNIST()導入MNIST數據集,取其中一張圖像為例,使用3×3的卷積核進行卷積:import torchimport torchvisionimport torch.nn as nninput_2d=dataprint
  • 深度學習之卷積神經網絡經典模型
    LeNet-5模型一共有7層,每層包含眾多參數,也就是卷積神經網絡中的參數。雖然層數只有7層,這在如今龐大的神經網絡中可是說是非常少的了,但是包含了卷積層,池化層,全連接層,可謂麻雀雖小五臟俱全了。為了方便,我們把卷積層稱為C層,下採樣層叫做下採樣層。首先,輸入層輸入原始圖像,原始圖像被處理成32×32個像素點的值。然後,後面的隱層計在卷積和子抽樣之間交替進行。
  • 「模型解讀」從2D卷積到3D卷積,都有什麼不一樣
    接著模型解讀系列,在中國科幻作家劉慈欣的科幻小說《三體Ⅲ·死神永生》中,首次提出了降維打擊這個概念,這是本質上區別於同一維度的攻擊,破壞性也更大。而現在我們要說的是從二維卷積升級到三維卷積,它相比2D卷積是否會有不一樣呢?
  • 用於視頻回歸任務的長期循環卷積網絡
    2、3d CNN這種方法背後的邏輯非常直觀,因為卷積中的第三維可以對應於時間域,從而可以直接從一個網絡學習時空特徵。3、長期循環卷積網絡(LRCN)2016年,一組作者提出了用於視覺識別和描述的端到端可訓練類架構。
  • 10分鐘看懂全卷積神經網絡( FCN ):語義分割深度模型先驅
    2010年至今,神經網絡模型的崛起和深度學習的發展,主要涉及到幾種模型:當然,經過從技術和原理上考究,我們發現了一個特點,那就是當前最成功的圖像分割深度學習技術都是基於一個共同的先驅:FCN(Fully Convolutional Network,全卷積神經網絡)。
  • 給卷積神經網絡動動刀:加法網絡探究
    卷積神經網絡(CNN)在計算機視覺任務中有著廣泛的應用,然而它的運算量非常巨大,這使得我們很難將CNN直接運用到計算資源受限的行動裝置上。為了減少CNN的計算代價,許多模型壓縮和加速的方法被提出。其中AdderNet就是一種從新角度對模型進行加速的方法,以往的模型加速方法通過減少CNN的參數,AdderNet通過重新定義卷積計算,將卷積中的乘法替換為了加法。我們知道,乘法的計算代價要遠遠大於加法,AdderNet通過這種方式減少了計算量。
  • 港中文AAAI錄用論文詳解:ST-GCN 時空圖卷積網絡模型 | AAAI 2018
    Temporal Graph Convolution Networks for Skeleton Based Action Recognition」提出了一種新的 ST-GCN,即時空圖卷積網絡模型,用於解決基於人體骨架關鍵點的人類動作識別問題。
  • 譯文 | 讓深度卷積網絡對抗:DCGAN——深度卷積生成對抗網絡
    它只是把經典GAN中的G和D換成了兩個卷積神經網絡(CNN)。但是,並不是直接替換就可以了, DCGAN 對卷積神經網絡的結構做了一些改變,以提高樣本的質量和收斂的速度。具體有哪些改變,將在本文中看到。摘要    近年來,深度卷積神經網絡(CNN)的監督學習在計算機視覺應用上發揮巨大的作用,然而CNN的非監督學習只受到較少的關注。
  • 「模型解讀」從LeNet到VGG,看卷積+池化串聯的網絡結構
    從本篇開始,我們將帶領大家解讀深度學習中的網絡的發展,這是深度學習模型解讀第一篇,本篇我們將介紹LeNet,AlexNet,VGGNet,它們都是卷積+池化串聯的基本網絡結構。1 LeNet5LeNet5【1】有3個卷積層,2個池化層,2個全連接層。
  • 學界| 普適注意力:用於機器翻譯的2D卷積神經網絡,顯著優於編碼器...
    本文提出了一種替代方法,這種方法依賴於跨越兩個序列的單個 2D 卷積神經網絡。該網絡的每一層都會根據當前生成的輸出序列重新編碼源 token。因此類似注意力機制的屬性適用於整個網絡。該模型得到了非常出色的結果,比當前最佳的編碼器-解碼器系統還要出色,而且從概念上講,該模型也更加簡單、參數更少。
  • 從全卷積網絡到大型卷積核:深度學習的語義分割全指南
    使用圖像塊分類的主要原因是分類網絡通常是全連接層(fullconnectedlayer),且要求固定尺寸的圖像。  2014年,加州大學伯克利分校的Long等人提出全卷積網絡(FCN),這使得卷積神經網絡無需全連接層即可進行密集的像素預測,CNN從而得到普及。使用這種方法可生成任意大小的圖像分割圖,且該方法比圖像塊分類法要快上許多。之後,語義分割領域幾乎所有先進方法都採用了該模型。
  • 使用PyTorch實現鳥類音頻檢測卷積網絡模型
    跳入其中,鳥的音頻檢測出現了這樣一個利基(有利可圖的形式),在本文中,我將向您展示如何在BirdVox-70k數據集上使用一個簡單的卷積神經網絡(CNN)來實現這一點。為什麼鳥類的聲音檢測很重要呢?多年來,鳥類音頻檢測應用中深度學習模型的使用一直在不斷發展進步,這也是一些人對此非常感興趣的原因。
  • 人工智慧之卷積神經網絡(CNN)
    2) 卷積層:卷積層是卷積核在上一級輸入層上通過逐一滑動窗口計算而得,卷積核中的每一個參數都相當於傳統神經網絡中的權值參數,與對應的局部像素相連接,將卷積核的各個參數與對應的局部像素值相乘之和,得到卷積層上的結果。一般地,使用卷積核進行特徵提取和特徵映射。
  • 用反卷積(Deconvnet)可視化和理解卷積網絡
    )來可視化卷積網絡,來理解卷積網絡,並調整卷積網絡;本文通過Deconvnet技術,可視化Alex-net,並指出了Alex-net的一些不足,最後修改網絡結構,使得分類結果提升。二,方法首先通過監督的方式利用SGD來訓練網絡,要了解卷積,需要解釋中間層的特徵激活值;我們利用Deconvnet來映射特這激活值返回到初始的像素層。
  • AlexNet模型思想詳解及核心代碼實現
    2012年Alex提出的Alexnet網絡模型結構引爆了神經網絡的應用熱潮,並贏得了2012屆圖像識別大賽的冠軍,使得CNN成為在圖像分類上的核心算法模型。該模型相比於LeNet模型,Alex將錢花到了極致,多GPU並行訓練深度Alexnet將深度學習模型得出預測結果的時間提高到人們可以接受的時間範圍之內。
  • PointConv:基於3D點雲的深度卷積網絡
    這種方法允許我們動態的拓展網絡並極大的提升模型能力。習得的卷積核可以用於計算三維空間任意給定的點集上的卷積,而這種卷積能保證語義不變和置換不變性。此外,PointConv還可以用作反卷積運算符,從而將子採樣點雲中的特徵傳播回其原始解析度。在ModelNet40,ShapeNet和ScanNet數據集上的實驗結果表明,基於PointConv的深度卷積網絡在三維點雲語義分割任務中具備一流的能力。
  • 時域卷積網絡TCN詳解:使用卷積進行序列建模和預測
    在本文中,我們將詳細探討時域卷積網絡(TCN)所包含的基本構建塊,以及它們如何結合在一起創建一個強大的預測模型。使用我們的開源Darts TCN實現,我們展示了只用幾行代碼就可以在真實數據集上實現準確預測。以下對時間卷積網絡的描述基於以下論文:https://arxiv.org/pdf/1803.01271.pdf。
  • 李理:詳解卷積神經網絡
    本系列文章面向深度學習研發者,希望通過Image Caption Generation,一個有意思的具體任務,深入淺出地介紹深度學習的知識。
  • 重新發現語義分割,一文簡述全卷積網絡
    全卷積網絡自 2012 年出現以來,在圖像分類和圖像檢測領域取得了巨大成功。本文利用筆記本電腦構建了一個小型全卷積網絡,詳細介紹了全卷積網絡的思路、過程等等,值得一看語義分割是一種學習如何識別圖像中對象範圍的機器學習技術。語義分割賦予機器學習系統與人類相似的理解圖像內容的能力。