0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

新機器視覺 ? 來源:新機器視覺 ? 2023-01-29 15:15 ? 次閱讀

前言

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

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

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

AlexNet(2012)

fed675f6-9903-11ed-bfe3-dac502259ad0.png

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

2、dropout層防止過擬合,成為以后fc層的標配。

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

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

VGG(2014)

fedd38c8-9903-11ed-bfe3-dac502259ad0.png

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

1、用3x3小卷積核代替了5x5或者7x7的卷積核 2、基于ALexnet加深了網(wǎng)絡深度,證明了更深的網(wǎng)絡,能更好的提取特征。

GoogleNet(2014)

fee6791a-9903-11ed-bfe3-dac502259ad0.png

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

feef7b46-9903-11ed-bfe3-dac502259ad0.png

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

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

后面的Inception v2/v3都是基于v1的這種方法在擴展,主要目標有:

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

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

ResNet(2015)

問題:

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

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

fef80afe-9903-11ed-bfe3-dac502259ad0.png

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

ff011b12-9903-11ed-bfe3-dac502259ad0.png

ResNet的設計特點:

1、核心單元模塊化,可進行簡單堆疊。 2、Shortcut方式解決網(wǎng)絡梯度消失問題。 3、Average Pooling層代替fc層。 4、引入BN層加快網(wǎng)絡訓練速度和收斂時的穩(wěn)定性。 5、加大網(wǎng)絡深度,提高模型的特征抽取能力。

MobileNet v1

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

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

ff0beaba-9903-11ed-bfe3-dac502259ad0.png

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

ff15a23a-9903-11ed-bfe3-dac502259ad0.png

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

ff20e8c0-9903-11ed-bfe3-dac502259ad0.png

MobileNet v2

改進點主要有以下幾個方面:

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

Inverted Residuals:

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

ff2e1018-9903-11ed-bfe3-dac502259ad0.png

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

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

ff384ccc-9903-11ed-bfe3-dac502259ad0.png

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)絡參數(shù)。

ff3f3d34-9903-11ed-bfe3-dac502259ad0.png

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

h-swish激活函數(shù)

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

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

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

ff4b71c6-9903-11ed-bfe3-dac502259ad0.png

ShuffleNet

組卷積

Group convolution是將輸入層的不同特征圖進行分組,然后采用不同的卷積核再對各個組進行卷積,這樣會降低卷積的計算量。

因為一般的卷積都是在所有的輸入特征圖上做卷積,可以說是全通道卷積,這是一種通道密集連接方式(channel dense connection),而group convolution相比則是一種通道稀疏連接方式(channel sparse connection)。

depthwise convolution,這是一種比較特殊的group convolution,此時分組數(shù)恰好等于通道數(shù),意味著每個組只有一個特征圖。

分組卷積的會帶來一個矛盾就是特征通信。group convolution層另一個問題是不同組之間的特征圖需要通信。所以MobileNet等網(wǎng)絡采用密集的1x1 pointwise convolution,因為要保證group convolution之后不同組的特征圖之間的信息交流。

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

ff5788b2-9903-11ed-bfe3-dac502259ad0.png

ShuffleNet的核心是采用了兩種操作:pointwise group convolution和channel shuffle,這在保持精度的同時大大降低了模型的計算量。其基本單元則是在一個殘差單元的基礎(chǔ)上改進而成。

ff5f7b80-9903-11ed-bfe3-dac502259ad0.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cnn
    cnn
    +關(guān)注

    關(guān)注

    3

    文章

    350

    瀏覽量

    22102
  • 卷積神經(jīng)網(wǎng)絡

    關(guān)注

    4

    文章

    359

    瀏覽量

    11820
  • resnet
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    3152

原文標題:卷積神經(jīng)網(wǎng)絡的發(fā)展及各模型的優(yōu)缺點

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    卷積神經(jīng)網(wǎng)絡的應用場景及優(yōu)缺點

    1.1 卷積神經(jīng)網(wǎng)絡的定義 卷積神經(jīng)網(wǎng)絡是一種深度學習模型,它通過模擬人類視覺系統(tǒng)的工作方式,對輸入數(shù)據(jù)進行特征提取和分類。與傳統(tǒng)的
    的頭像 發(fā)表于 07-11 14:45 ?404次閱讀

    三層神經(jīng)網(wǎng)絡模型優(yōu)缺點

    三層神經(jīng)網(wǎng)絡模型是一種常見的深度學習模型,它由輸入層、兩個隱藏層和輸出層組成。本文將介紹三層神經(jīng)網(wǎng)絡模型
    的頭像 發(fā)表于 07-11 10:58 ?345次閱讀

    BP神經(jīng)網(wǎng)絡卷積神經(jīng)網(wǎng)絡的關(guān)系

    廣泛應用的神經(jīng)網(wǎng)絡模型。它們各自具有獨特的特點和優(yōu)勢,并在不同的應用場景中發(fā)揮著重要作用。以下是對BP神經(jīng)網(wǎng)絡卷積神經(jīng)網(wǎng)絡關(guān)系的詳細探討,
    的頭像 發(fā)表于 07-10 15:24 ?892次閱讀

    卷積神經(jīng)網(wǎng)絡的實現(xiàn)原理

    卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,簡稱CNN)是一種深度學習模型,廣泛應用于圖像識別、視頻分析、自然語言處理等領(lǐng)域。本文將詳細介紹卷積
    的頭像 發(fā)表于 07-03 10:49 ?454次閱讀

    神經(jīng)網(wǎng)絡算法的優(yōu)缺點有哪些

    神經(jīng)網(wǎng)絡算法是一種模擬人腦神經(jīng)元結(jié)構(gòu)的計算模型,廣泛應用于機器學習、深度學習、圖像識別、語音識別等領(lǐng)域。然而,神經(jīng)網(wǎng)絡算法也存在一些優(yōu)缺點
    的頭像 發(fā)表于 07-03 09:47 ?837次閱讀

    卷積神經(jīng)網(wǎng)絡分類方法有哪些

    卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,CNN)是一種深度學習模型,廣泛應用于圖像分類、目標檢測、語義分割等計算機視覺任務。本文將詳細介紹卷積
    的頭像 發(fā)表于 07-03 09:40 ?342次閱讀

    cnn卷積神經(jīng)網(wǎng)絡分類有哪些

    卷積神經(jīng)網(wǎng)絡(CNN)是一種深度學習模型,廣泛應用于圖像分類、目標檢測、語義分割等領(lǐng)域。本文將詳細介紹CNN在分類任務中的應用,包括基本結(jié)構(gòu)、關(guān)鍵技術(shù)、常見網(wǎng)絡架構(gòu)以及實際應用案例。
    的頭像 發(fā)表于 07-03 09:28 ?397次閱讀

    卷積神經(jīng)網(wǎng)絡訓練的是什么

    卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,簡稱CNN)是一種深度學習模型,廣泛應用于圖像識別、視頻分析、自然語言處理等領(lǐng)域。本文將詳細介紹卷積
    的頭像 發(fā)表于 07-03 09:15 ?276次閱讀

    卷積神經(jīng)網(wǎng)絡的原理與實現(xiàn)

    1.卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,簡稱CNN)是一種深度學習模型,廣泛應用于圖像識別、視頻分析、自然語言處理等領(lǐng)域。 卷積
    的頭像 發(fā)表于 07-02 16:47 ?395次閱讀

    卷積神經(jīng)網(wǎng)絡的基本結(jié)構(gòu)及其功能

    卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,簡稱CNN)是一種深度學習模型,廣泛應用于圖像識別、視頻分析、自然語言處理等領(lǐng)域。本文將詳細介紹卷積
    的頭像 發(fā)表于 07-02 14:45 ?839次閱讀

    卷積神經(jīng)網(wǎng)絡的原理是什么

    卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,簡稱CNN)是一種深度學習模型,廣泛應用于圖像識別、語音識別、自然語言處理等領(lǐng)域。本文將詳細介紹卷積
    的頭像 發(fā)表于 07-02 14:44 ?444次閱讀

    卷積神經(jīng)網(wǎng)絡和bp神經(jīng)網(wǎng)絡的區(qū)別

    化能力。隨著深度學習技術(shù)的不斷發(fā)展,神經(jīng)網(wǎng)絡已經(jīng)成為人工智能領(lǐng)域的重要技術(shù)之一。卷積神經(jīng)網(wǎng)絡和BP神經(jīng)
    的頭像 發(fā)表于 07-02 14:24 ?1845次閱讀

    數(shù)學建模神經(jīng)網(wǎng)絡模型優(yōu)缺點有哪些

    、預測分析等。然而,神經(jīng)網(wǎng)絡模型也存在一些優(yōu)缺點。本文將詳細分析神經(jīng)網(wǎng)絡模型優(yōu)缺點。 一、優(yōu)點
    的頭像 發(fā)表于 07-02 11:36 ?699次閱讀

    神經(jīng)網(wǎng)絡模型的原理、類型、應用場景及優(yōu)缺點

    模型的原理、類型、應用場景以及優(yōu)缺點。 神經(jīng)網(wǎng)絡模型的原理 神經(jīng)網(wǎng)絡模型的基本原理是模擬人腦
    的頭像 發(fā)表于 07-02 09:56 ?806次閱讀

    卷積神經(jīng)網(wǎng)絡的優(yōu)點

    卷積神經(jīng)網(wǎng)絡的優(yōu)點? 卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)是一種基于深度學習的神經(jīng)網(wǎng)絡
    的頭像 發(fā)表于 12-07 15:37 ?3902次閱讀