深度卷積神經(jīng)網(wǎng)絡(luò)各種改進結(jié)構(gòu)塊匯總
學(xué)習(xí)前言
看了好多代碼呀,看了后面忘了前面,這個BLOG主要是記錄一些神經(jīng)網(wǎng)絡(luò)的改進結(jié)構(gòu),比如殘差結(jié)構(gòu)那種,記錄下來有助于自己設(shè)計一些輕且好的網(wǎng)絡(luò)。
1、殘差網(wǎng)絡(luò)
這個網(wǎng)絡(luò)主要源自于Resnet網(wǎng)絡(luò),其作用是:
將靠前若干層的某一層數(shù)據(jù)輸出直接跳過多層引入到后面數(shù)據(jù)層的輸入部分。
意味著后面的特征層的內(nèi)容會有一部分由其前面的某一層線性貢獻。
實驗表明,殘差網(wǎng)絡(luò)更容易優(yōu)化,并且能夠通過增加相當?shù)纳疃葋硖岣邷蚀_率。
最終可以使得網(wǎng)絡(luò)越來越深,Resnet152就是一個很深很深的網(wǎng)絡(luò)。
殘差網(wǎng)絡(luò)的典型結(jié)構(gòu)如下:
2、不同大小卷積核并行卷積
這個結(jié)構(gòu)主要是在Inception網(wǎng)絡(luò)結(jié)構(gòu)中出現(xiàn)。
Inception網(wǎng)絡(luò)采用不同大小的卷積核,使得存在不同大小的感受野,最后實現(xiàn)拼接達到不同尺度特征的融合。
不同大小卷積核并行卷積的典型結(jié)構(gòu)如下:
3、利用(1,x),(x,1)卷積代替(x,x)卷積
這種結(jié)構(gòu)主要利用在InceptionV3中。
利用1x7的卷積和7x1的卷積代替7x7的卷積,這樣可以只使用約(1x7 + 7x1) / (7x7) = 28.6%的計算開銷;
利用1x3的卷積和3x1的卷積代替3x3的卷積,這樣可以只使用約(1x3 + 3x1) / (3x3) = 67%的計算開銷。
下圖利用1x7的卷積和7x1的卷積代替7x7的卷積。
下圖利用1x3的卷積和3x1的卷積代替3x3的卷積。
4、采用瓶頸(Bottleneck)結(jié)構(gòu)
這個結(jié)構(gòu)在Resnet里非常常見,其它網(wǎng)絡(luò)也有用到。
所謂Bottleneck結(jié)構(gòu)就是首先利用1x1卷積層進行特征壓縮,再利用3x3卷積網(wǎng)絡(luò)進行特征提取,再利用1x1卷積層進行特征擴張。
該結(jié)構(gòu)相比于直接對輸入進行3x3卷積減少了許多參數(shù)量。
當輸入為26,26,512時,直接使用3x3、filter為512的卷積網(wǎng)絡(luò)的參數(shù)量為512x3x3x512=2,359,296?。
采用Bottleneck結(jié)構(gòu)的話,假設(shè)其首先利用1x1、filter為128卷積層進行特征壓縮,再利用3x3、filter為128的卷積網(wǎng)絡(luò)進行特征提取,再利用1x1、filter為512的卷積層進行特征擴張,則參數(shù)量為 512×1×1×128 + 128×3×3×128 + 128×1×1×512 =? 278,528。
可以看出來確實時下降了很多呀。
5、深度可分離卷積
深度可分離卷積主要在MobileNet模型上應(yīng)用。
其特點是3x3的卷積核厚度只有一層,然后在輸入張量上一層一層地滑動,每一次卷積完生成一個輸出通道,當卷積完成后,在利用1x1的卷積調(diào)整厚度。
假設(shè)有一個3×3大小的卷積層,其輸入通道為16、輸出通道為32。具體為,32個3×3大小的卷積核會遍歷16個通道中的每個數(shù)據(jù),最后可得到所需的32個輸出通道,所需參數(shù)為16×32×3×3=4608個。
應(yīng)用深度可分離卷積,用16個3×3大小的卷積核分別遍歷16通道的數(shù)據(jù),得到了16個特征圖譜。在融合操作之前,接著用32個1×1大小的卷積核遍歷這16個特征圖譜,所需參數(shù)為16×3×3+16×32×1×1=656個。
6、改進版深度可分離卷積+殘差網(wǎng)絡(luò)
這種結(jié)構(gòu)主要存在在Xception網(wǎng)絡(luò)中。
改進版深度可分離卷積就是調(diào)換了一下深度可分離的順序,先進行1x1卷積調(diào)整通道,再利用3x3卷積提取特征。
和普通的深度可分離卷積相比,參數(shù)量也會有一定的變化。
改進版深度可分離卷積加上殘差網(wǎng)絡(luò)的結(jié)構(gòu)其實和它的名字是一樣的,很好理解。
如下圖所示:
7、倒轉(zhuǎn)殘差(Inverted residuals)結(jié)構(gòu)
在ResNet50里我們認識到一個結(jié)構(gòu),bottleneck design結(jié)構(gòu),在3x3網(wǎng)絡(luò)結(jié)構(gòu)前利用1x1卷積降維,在3x3網(wǎng)絡(luò)結(jié)構(gòu)后,利用1x1卷積升維,相比直接使用3x3網(wǎng)絡(luò)卷積效果更好,參數(shù)更少,先進行壓縮,再進行擴張。
而Inverted residuals結(jié)構(gòu),在3x3網(wǎng)絡(luò)結(jié)構(gòu)前利用1x1卷積升維,在3x3網(wǎng)絡(luò)結(jié)構(gòu)后,利用1x1卷積降維,先進行擴張,再進行壓縮。
這種結(jié)構(gòu)主要用在MobilenetV2中。
其主要結(jié)構(gòu)如下:
8、并行空洞卷積
這個結(jié)構(gòu)出現(xiàn)在Deeplabv3語義分割中。
其經(jīng)過并行的空洞卷積,分別用不同rate的空洞卷積進行特征提取,再進行合并,再進行1x1卷積壓縮特征。
空洞卷積可以在不損失信息的情況下,加大了感受野,讓每個卷積輸出都包含較大范圍的信息**。如下就是空洞卷積的一個示意圖,所謂空洞就是特征點提取的時候會跨像素。
以上就是深度卷積神經(jīng)網(wǎng)絡(luò)各種改進結(jié)構(gòu)塊匯總的詳細內(nèi)容,更多關(guān)于卷積神經(jīng)網(wǎng)絡(luò)改進結(jié)構(gòu)塊的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
centos搭建code-server配置HTTPS登錄頁自定義實現(xiàn)步驟
這篇文章主要為大家介紹了centos搭建code-server及配置HTTPS、登錄頁自定義實現(xiàn)步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05網(wǎng)頁報錯"Form?elements?must?have?labels"的處理方法
這篇文章主要給大家介紹了關(guān)于網(wǎng)頁報錯"Form?elements?must?have?labels"的處理方法,文中通過實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2023-06-06刪除SVN三種方法delSvn(windows+linux)
今天想清除目錄下的SVN信息,在網(wǎng)上找了找,說是有三種方法2012-03-03win10環(huán)境安裝kettle與linux環(huán)境安裝kettle的詳細過程
kettle是一款免費開源的、可視化的、國際上比較流行的、功能強大的ETL必備工具,在ETL這一方面做的還不錯,下面介紹一下基于win10操作系統(tǒng)安裝kettle和linux操作系統(tǒng)安裝kettle的詳細過程,感興趣的朋友跟隨小編一起看看吧2022-11-11ISO-8859-1 、Latin-1 西歐編碼介紹及應(yīng)用
這篇文章主要介紹了ISO-8859-1 、Latin-1 西歐編碼介紹及應(yīng)用,需要的朋友可以參考下2016-06-06