最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展及各模型的優(yōu)缺點及說明

 更新時間:2023年02月01日 09:48:41   作者:Jeremy_lf  
這篇文章主要介紹了卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展及各模型的優(yōu)缺點及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

前沿

在CV領(lǐng)域,我們需要熟練掌握最基本的知識就是各種卷積神經(jīng)網(wǎng)絡(luò)CNN的模型架構(gòu),不管我們在圖像分類或者分割,目標(biāo)檢測,NLP等,我們都會用到基本的CNN網(wǎng)絡(luò)架構(gòu)。

CNN從最初的2012年AlexNet橫空出世到2014年VGG席卷世界以及2015年ResNet奠定了該領(lǐng)域的霸主地位,網(wǎng)絡(luò)模型變得越變越深,而且也得到證明,越深的網(wǎng)絡(luò)擬合效果越好,但網(wǎng)絡(luò)相應(yīng)的參數(shù)量計算量都極速增加,不利于技術(shù)的推廣和應(yīng)用。

因此,一些輕量級的網(wǎng)絡(luò)結(jié)構(gòu)也慢慢隨之出現(xiàn),比如MobileNet系列,ShuffleNet系列,以及ResNext、DenseNet、EfficenceNet等模型,他們都互相吸取彼此的優(yōu)點,不但降低了參數(shù)量或者計算量,同時分類精度更高,因而受到了更多的關(guān)注。

接下來我們就對CNN的各種網(wǎng)絡(luò)結(jié)構(gòu)以及他們的優(yōu)缺點進(jìn)行一次詳細(xì)的解讀!

AlexNet(2012)

1、增加了relu非線性激活函數(shù),增強(qiáng)了模型的非線性表達(dá)能力。成為以后卷積層的標(biāo)配。

2、dropout層防止過擬合,成為以后fc層的標(biāo)配。

3、通過數(shù)據(jù)增強(qiáng),來減少過擬合。

4、引入標(biāo)準(zhǔn)化層(Local Response Normalization):通過放大那些對分類貢獻(xiàn)較大的神經(jīng)元,抑制那些對分類貢獻(xiàn)較小的神經(jīng)元,通過局部歸一的手段,來達(dá)到作用。

VGG(2014)

論文的主要創(chuàng)新點在于:

1、用3x3小卷積核代替了5x5或者7x7的卷積核

2、基于ALexnet加深了網(wǎng)絡(luò)深度,證明了更深的網(wǎng)絡(luò),能更好的提取特征。

GoogleNet(2014)

在設(shè)計網(wǎng)絡(luò)結(jié)構(gòu)時,不僅僅考慮網(wǎng)絡(luò)的深度,也會考慮網(wǎng)絡(luò)的寬度,并將這種結(jié)構(gòu)定義為Inception結(jié)構(gòu)。

1、引入1x1卷積的主要目的是為了減少維度,還用于修正線性激活(ReLU)

2、網(wǎng)絡(luò)最后采用了average pooling(平均池化)來代替全連接層

后面的Inception v2/v3都是基于v1的這種方法在擴(kuò)展,主要目標(biāo)有:

1、參數(shù)量降低,計算量減少。

2、網(wǎng)絡(luò)變深,網(wǎng)絡(luò)非線性表達(dá)能力更強(qiáng)

ResNet(2015)

問題:

1、增加深度帶來的首個問題就是梯度爆炸/消散的問題,這是由于隨著層數(shù)的增多,在網(wǎng)絡(luò)中反向傳播的梯度會隨著連乘變得不穩(wěn)定,變得特別大或者特別小。這其中經(jīng)常出現(xiàn)的是梯度消散的問題。

2、為了克服梯度消散也想出了許多的解決辦法,如使用BatchNorm,將激活函數(shù)換為ReLu,使用Xaiver初始化等,可以說梯度消散已經(jīng)得到了很好的解決

已知有網(wǎng)絡(luò)degradation的情況下,不求加深度能提高準(zhǔn)確性,能不能至少讓深度網(wǎng)絡(luò)實現(xiàn)和淺層網(wǎng)絡(luò)一樣的性能,即讓深度網(wǎng)絡(luò)后面的層至少實現(xiàn)恒等映射的作用,根據(jù)這個想法,作者提出了residual模塊來幫助網(wǎng)絡(luò)實現(xiàn)恒等映射。

ResNet的設(shè)計特點:

1、核心單元模塊化,可進(jìn)行簡單堆疊。

2、Shortcut方式解決網(wǎng)絡(luò)梯度消失問題。

3、Average Pooling層代替fc層。

4、引入BN層加快網(wǎng)絡(luò)訓(xùn)練速度和收斂時的穩(wěn)定性。

5、加大網(wǎng)絡(luò)深度,提高模型的特征抽取能力。

MobileNet v1

谷歌在2017年提出專注于移動端或者嵌入式設(shè)備中的輕量級CNN網(wǎng)絡(luò):MobileNet。最大的創(chuàng)新點是深度可分離卷積。

通過將標(biāo)準(zhǔn)卷積分解為深度卷積核逐點卷積,能夠顯著的降低參數(shù)量和計算量。引入Relu6激活函數(shù)。

參數(shù)量計算量的計算

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

MobileNet v2

改進(jìn)點主要有以下幾個方面:

1、引入殘差結(jié)構(gòu),先升維再降維,增強(qiáng)梯度的傳播,顯著減少推理期間所需的內(nèi)存占用

Inverted Residuals

殘差模塊:輸入首先經(jīng)過1x1的卷積進(jìn)行壓縮,然后使用3x3的卷積進(jìn)行特征提取,最后在用1x1的卷積把通道數(shù)變換回去。整個過程是“壓縮-卷積-擴(kuò)張”。這樣做的目的是減少3x3模塊的計算量,提高殘差模塊的計算效率。

倒殘差模塊:輸入首先經(jīng)過1x1的卷積進(jìn)行通道擴(kuò)張,然后使用3x3的depthwise卷積,最后使用1x1的pointwise卷積將通道數(shù)壓縮回去。整個過程是“擴(kuò)張-卷積-壓縮”。

對低維度做ReLU運(yùn)算,很容易造成信息的丟失。而在高維度進(jìn)行ReLU運(yùn)算的話,信息的丟失則會很少。

Linear Bottleneck

這個模塊是為了解決一開始提出的那個低維-高維-低維的問題,即將最后一層的ReLU6替換成線性激活函數(shù),而其他層的激活函數(shù)依然是ReLU6。

MobileNet v3

V3結(jié)合了V1的深度可分離卷積,V2的Inverted Residuals 和 Linear Bottleneck,以及加入SE模塊、利用NAS(神經(jīng)結(jié)構(gòu)的搜索)來搜索網(wǎng)絡(luò)參數(shù)。

互補(bǔ)搜索技術(shù) —— NAS & NetAdapt

h-swish激活函數(shù)

out = F.relu6(x + 3., self.inplace) / 6.
return out * x

改進(jìn)一:下圖是MobileNet-v2的整理模型架構(gòu),可以看到,網(wǎng)絡(luò)的最后部分首先通過1x1卷積映射到高維,然后通過GAP收集特征,最后使用1x1卷積劃分到K類。所以其中起抽取特征作用的是在7x7分辨率上做1x1卷積的那一層。

而V3是先進(jìn)行池化然后再進(jìn)行1x1卷積提取特征,V2是先1X1卷積提取特征再池化。

ShuffleNet

組卷積

Group convolution是將輸入層的不同特征圖進(jìn)行分組,然后采用不同的卷積核再對各個組進(jìn)行卷積,這樣會降低卷積的計算量。因為一般的卷積都是在所有的輸入特征圖上做卷積,可以說是全通道卷積,這是一種通道密集連接方式(channel dense connection),而group convolution相比則是一種通道稀疏連接方式(channel sparse connection)。

depthwise convolution,這是一種比較特殊的group convolution,此時分組數(shù)恰好等于通道數(shù),意味著每個組只有一個特征圖。分組卷積的會帶來一個矛盾就是特征通信。group convolution層另一個問題是不同組之間的特征圖需要通信。所以MobileNet等網(wǎng)絡(luò)采用密集的1x1 pointwise convolution,因為要保證group convolution之后不同組的特征圖之間的信息交流。

為達(dá)到特征通信目的,我們不采用dense pointwise convolution,考慮其他的思路:channel shuffle

ShuffleNet的核心是采用了兩種操作:pointwise group convolution和channel shuffle,這在保持精度的同時大大降低了模型的計算量。

其基本單元則是在一個殘差單元的基礎(chǔ)上改進(jìn)而成。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一文詳解Python中的subprocess模塊

    一文詳解Python中的subprocess模塊

    subprocess模塊是Python標(biāo)準(zhǔn)庫的一部分,提供了一個跨平臺的方法來生成新進(jìn)程、連接其輸入/輸出/錯誤管道,并獲取其返回碼,本文小編將和大家一起深入理解Python中的subprocess模塊,感興趣的小伙伴跟著小編一起來看看吧
    2024-08-08
  • Pandas 處理DataFrame中的inf值實現(xiàn)

    Pandas 處理DataFrame中的inf值實現(xiàn)

    Inf 表示正無窮大或負(fù)無窮大,通常是在數(shù)學(xué)計算中產(chǎn)生的結(jié)果,本文主要介紹了Pandas 處理DataFrame中的inf值實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • Python一階馬爾科夫鏈生成隨機(jī)DNA序列實現(xiàn)示例

    Python一階馬爾科夫鏈生成隨機(jī)DNA序列實現(xiàn)示例

    這篇文章主要為大家介紹了Python實現(xiàn)一階馬爾科夫鏈生成隨機(jī)DNA序列示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Pandas+Numpy+Sklearn隨機(jī)取數(shù)的實現(xiàn)示例

    Pandas+Numpy+Sklearn隨機(jī)取數(shù)的實現(xiàn)示例

    使用Python、pandas、numpy、scikit-learn來實現(xiàn)隨機(jī)打亂、抽取和切割數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • 將Django項目部署到CentOs服務(wù)器中

    將Django項目部署到CentOs服務(wù)器中

    今天小編就為大家分享一篇關(guān)于將Django項目部署到CentOs服務(wù)器中的文章,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • python PyQt5中QRadioButton的詳細(xì)使用教程與應(yīng)用實戰(zhàn)

    python PyQt5中QRadioButton的詳細(xì)使用教程與應(yīng)用實戰(zhàn)

    PyQt5是一個跨平臺的GUI工具包,用于創(chuàng)建具有Python綁定的Qt應(yīng)用程序,在PyQt5中,QRadioButton是一個非常有用的控件,用于在用戶界面上提供單選選項,本文將詳細(xì)介紹QRadioButton的基本用法、常用屬性和方法,需要的朋友可以參考下
    2024-08-08
  • Python雙向鏈表插入節(jié)點方式

    Python雙向鏈表插入節(jié)點方式

    這篇文章主要介紹了Python雙向鏈表插入節(jié)點方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • python使用requests庫爬取拉勾網(wǎng)招聘信息的實現(xiàn)

    python使用requests庫爬取拉勾網(wǎng)招聘信息的實現(xiàn)

    這篇文章主要介紹了python使用requests庫爬取拉勾網(wǎng)招聘信息的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Python驅(qū)動ansys執(zhí)行apdl文件的代碼示例

    Python驅(qū)動ansys執(zhí)行apdl文件的代碼示例

    在Python中驅(qū)動ANSYS執(zhí)行APDL(ANSYS Parametric Design Language)文件,可以通過使用subprocess模塊來調(diào)用ANSYS的可執(zhí)行文件,并傳遞APDL文件作為參數(shù),本文給大家介紹了一個詳細(xì)的代碼示例,需要的朋友可以參考下
    2024-11-11
  • python簡單實現(xiàn)矩陣的乘,加,轉(zhuǎn)置和逆運(yùn)算示例

    python簡單實現(xiàn)矩陣的乘,加,轉(zhuǎn)置和逆運(yùn)算示例

    這篇文章主要介紹了python簡單實現(xiàn)矩陣的乘,加,轉(zhuǎn)置和逆運(yùn)算,結(jié)合實例形式分析了Python針對矩陣的乘,加,轉(zhuǎn)置和求逆等運(yùn)算相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2019-07-07

最新評論

延津县| 千阳县| 观塘区| 玛曲县| 孟津县| 石阡县| 如皋市| 横山县| 黄石市| 舞钢市| 广灵县| 上杭县| 石嘴山市| 庆城县| 郧西县| 阳东县| 潼关县| 安陆市| 吉林省| 江山市| 会昌县| 罗定市| 开江县| 海口市| 荔波县| 罗甸县| 从化市| 临沧市| 泸州市| 麻城市| 抚顺市| 长阳| 富裕县| 三明市| 铁力市| 嘉义市| 安达市| 淳化县| 偃师市| 沈阳市| 无为县|