欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

卷積神經(jīng)網(wǎng)絡經(jīng)典模型及其改進點學習匯總

 更新時間:2022年05月06日 16:31:07   作者:Bubbliiiing  
這篇文章主要為大家介紹了卷積神經(jīng)網(wǎng)絡經(jīng)典模型及其改進點學習匯總,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

經(jīng)典神經(jīng)網(wǎng)絡的改進點

名稱改進點
VGG161、使用非常多的3*3卷積串聯(lián),利用小卷積代替大卷積,該操作使得其擁有更少的參數(shù)量,同時會比單獨一個卷積層擁有更多的非線性變換。2、探索了卷積神經(jīng)網(wǎng)絡的深度與其性能之間的關(guān)系,成功構(gòu)建16層網(wǎng)絡(還有VGG19的19層網(wǎng)絡)。
ResNet501、使用殘差網(wǎng)絡,其可以解決由于網(wǎng)絡深度加深而產(chǎn)生的學習效率變低與準確率無法有效提升的問題。2、采用bottleneck design結(jié)構(gòu),在3x3網(wǎng)絡結(jié)構(gòu)前利用1x1卷積降維,在3x3網(wǎng)絡結(jié)構(gòu)后,利用1x1卷積升維,相比直接使用3x3網(wǎng)絡卷積效果更好,參數(shù)更少。
InceptionV31、Inception系列通用的改進點是使用不同大小的卷積核,使得存在不同大小的感受野,最后實現(xiàn)拼接達到不同尺度特征的融合。2、利用1x7的卷積和7x1的卷積代替7x7的卷積,這樣可以只使用約(1x7 + 7x1) / (7x7) = 28.6%的計算開銷;利用1x3的卷積和3x1的卷積代替3x3的卷積,這樣可以只使用約(1x3 + 3x1) / (3x3) = 67%的計算開銷。
Xception1、開始采用殘差網(wǎng)絡,其可以解決由于網(wǎng)絡深度加深而產(chǎn)生的學習效率變低與準確率無法有效提升的問題。2、采用SeparableConv2D層,利用深度可分離卷積減少參數(shù)量。
MobileNet1、是一種輕量級的深層神經(jīng)網(wǎng)絡,為一定設備設計。 2、采用depthwise separable convolution結(jié)構(gòu),3x3卷積核厚度只有一層,然后在輸入張量上一層一層地滑動,所以一個卷積核就對應了一個輸出通道,當卷積完成后,在利用1x1的卷積調(diào)整厚度,實現(xiàn)參數(shù)減少。

經(jīng)典神經(jīng)網(wǎng)絡的結(jié)構(gòu)匯總

1、VGG16

1、一張原始圖片被resize到(224,224,3)。

2、conv1兩次[3,3]卷積網(wǎng)絡,輸出的特征層為64,輸出為(224,224,64),再2X2最大池化,輸出net為(112,112,64)。

3、conv2兩次[3,3]卷積網(wǎng)絡,輸出的特征層為128,輸出net為(112,112,128),再2X2最大池化,輸出net為(56,56,128)。

4、conv3三次[3,3]卷積網(wǎng)絡,輸出的特征層為256,輸出net為(56,56,256),再2X2最大池化,輸出net為(28,28,256)。

5、conv3三次[3,3]卷積網(wǎng)絡,輸出的特征層為256,輸出net為(28,28,512),再2X2最大池化,輸出net為(14,14,512)。

6、conv3三次[3,3]卷積網(wǎng)絡,輸出的特征層為256,輸出net為(14,14,512),再2X2最大池化,輸出net為(7,7,512)。

7、利用卷積的方式模擬全連接層,效果等同,輸出net為(1,1,4096)。共進行兩次。

8、利用卷積的方式模擬全連接層,效果等同,輸出net為(1,1,1000)。

最后輸出的就是每個類的預測。

具體實現(xiàn)代碼可以看我的博文神經(jīng)網(wǎng)絡學習——VGG16模型的復現(xiàn)及其詳解(包含如何預測)

2、ResNet50

ResNet50最大的特點是使用了殘差網(wǎng)絡。

殘差網(wǎng)絡的特點是將靠前若干層的某一層數(shù)據(jù)輸出直接跳過多層引入到后面數(shù)據(jù)層的輸入部分。

意味著后面的特征層的內(nèi)容會有一部分由其前面的某一層線性貢獻。

其結(jié)構(gòu)如下:

ResNet50有兩個基本的塊,分別名為Conv Block和Identity Block,其中Conv Block輸入和輸出的維度是不一樣的,所以不能連續(xù)串聯(lián),它的作用是改變網(wǎng)絡的維度;

Identity Block輸入維度和輸出維度相同,可以串聯(lián),用于加深網(wǎng)絡的。

Conv Block的結(jié)構(gòu)如下:

Identity Block的結(jié)構(gòu)如下:

這兩個都是殘差網(wǎng)絡結(jié)構(gòu)。

總的網(wǎng)絡結(jié)構(gòu)如下:

具體實現(xiàn)代碼可以看我的博文神經(jīng)網(wǎng)絡學習——ResNet50模型的復現(xiàn)詳解

3、InceptionV3

Inception系列的網(wǎng)絡的特點是采用不同大小的卷積核,使得存在不同大小的感受野,最后實現(xiàn)拼接達到不同尺度特征的融合。

對于InceptionV3而言,其網(wǎng)絡中存在著如下的結(jié)構(gòu)。

這個結(jié)構(gòu)使用不同大小的卷積核對輸入進行卷積(這個結(jié)構(gòu)主要在代碼中的block1使用)。

還存在著這樣的結(jié)構(gòu),利用1x7的卷積和7x1的卷積代替7x7的卷積,這樣可以只使用約(1x7 + 7x1) / (7x7) = 28.6%的計算開銷;

利用1x3的卷積和3x1的卷積代替3x3的卷積,這樣可以只使用約(1x3 + 3x1) / (3x3) = 67%的計算開銷。

下圖利用1x7的卷積和7x1的卷積代替7x7的卷積(這個結(jié)構(gòu)主要在代碼中的block2使用)。

下圖利用1x3的卷積和3x1的卷積代替3x3的卷積(這個結(jié)構(gòu)主要在代碼中的block3使用)。

具體實現(xiàn)代碼可以看我的博文神經(jīng)網(wǎng)絡學習——InceptionV3模型的復現(xiàn)詳解

4、Xception

Xception是谷歌公司繼Inception后,提出的InceptionV3的一種改進模型,其改進的主要內(nèi)容為采用depthwise separable convolution來替換原來Inception v3中的多尺寸卷積核特征響應操作。

在講Xception模型之前,首先要講一下什么是depthwise separable convolution(深度可分離卷積塊)。

深度可分離卷積塊由兩個部分組成,分別是深度可分離卷積和1x1普通卷積,深度可分離卷積的卷積核大小一般是3x3的,便于理解的話我們可以把它當作是特征提取,1x1的普通卷積可以完成通道數(shù)的調(diào)整。

下圖為深度可分離卷積塊的結(jié)構(gòu)示意圖:

深度可分離卷積塊的目的是使用更少的參數(shù)來代替普通的3x3卷積。

我們可以進行一下普通卷積和深度可分離卷積塊的對比:

假設有一個3×3大小的卷積層,其輸入通道為16、輸出通道為32。具體為,32個3×3大小的卷積核會遍歷16個通道中的每個數(shù)據(jù),最后可得到所需的32個輸出通道,所需參數(shù)為16×32×3×3=4608個。

應用深度可分離卷積,用16個3×3大小的卷積核分別遍歷16通道的數(shù)據(jù),得到了16個特征圖譜。在融合操作之前,接著用32個1×1大小的卷積核遍歷這16個特征圖譜,所需參數(shù)為16×3×3+16×32×1×1=656個。

可以看出來depthwise separable convolution可以減少模型的參數(shù)。

通俗地理解深度可分離卷積結(jié)構(gòu)塊,就是3x3的卷積核厚度只有一層,然后在輸入張量上一層一層地滑動,每一次卷積完生成一個輸出通道,當卷積完成后,再利用1x1的卷積調(diào)整厚度。

Xception使用的深度可分離卷積塊SeparableConv2D也就是先深度可分離卷積再進行1x1卷積。

對于Xception模型而言,其一共可以分為3個flow,分別是Entry flow、Middle flow、Exit flow;

分為14個block,其中Entry flow中有4個、Middle flow中有8個、Exit flow中有2個。

具體結(jié)構(gòu)如下:

其內(nèi)部主要結(jié)構(gòu)就是殘差卷積網(wǎng)絡搭配SeparableConv2D層實現(xiàn)一個個block,在Xception模型中,常見的兩個block的結(jié)構(gòu)如下。

這個主要在Entry flow和Exit flow中:

這個主要在Middle flow中:

具體實現(xiàn)代碼可以看我的博文神經(jīng)網(wǎng)絡學習——Xception模型的復現(xiàn)詳解

5、MobileNet

MobileNet模型是Google針對手機等嵌入式設備提出的一種輕量級的深層神經(jīng)網(wǎng)絡,其使用的核心思想便是depthwise separable convolution。

對于一個卷積點而言:

假設有一個3×3大小的卷積層,其輸入通道為16、輸出通道為32。

具體為,32個3×3大小的卷積核會遍歷16個通道中的每個數(shù)據(jù),最后可得到所需的32個輸出通道,所需參數(shù)為16×32×3×3=4608個。

應用深度可分離卷積,用16個3×3大小的卷積核分別遍歷16通道的數(shù)據(jù),得到了16個特征圖譜。在融合操作之前,接著用32個1×1大小的卷積核遍歷這16個特征圖譜,所需參數(shù)為16×3×3+16×32×1×1=656個。

可以看出來depthwise separable convolution可以減少模型的參數(shù)。

如下這張圖就是depthwise separable convolution的結(jié)構(gòu)

在建立模型的時候,可以使用Keras中的DepthwiseConv2D層實現(xiàn)深度可分離卷積,然后再利用1x1卷積調(diào)整channels數(shù)。

通俗地理解就是3x3的卷積核厚度只有一層,然后在輸入張量上一層一層地滑動,每一次卷積完生成一個輸出通道,當卷積完成后,在利用1x1的卷積調(diào)整厚度。

如下就是MobileNet的結(jié)構(gòu),其中Conv dw就是分層卷積,在其之后都會接一個1x1的卷積進行通道處理,

具體實現(xiàn)代碼可以看我的博文神經(jīng)網(wǎng)絡學習——MobileNet模型的復現(xiàn)詳解

以上就是卷積神經(jīng)網(wǎng)絡經(jīng)典模型及其改進點學習匯總的詳細內(nèi)容,更多關(guān)于卷積神經(jīng)網(wǎng)絡模型改進的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論