在之前已經(jīng)介紹了卷積神經(jīng)網(wǎng)絡(luò)的基本原理伶唯,這一節(jié)主要介紹一下現(xiàn)代的現(xiàn)代卷積神經(jīng)網(wǎng)絡(luò)模型赚抡,包括
- AlexNet淑趾。它是第一個在大規(guī)模視覺競賽中擊敗傳統(tǒng)計算機視覺模型的大型神經(jīng)網(wǎng)絡(luò)吱殉;
- 使用重復塊的網(wǎng)絡(luò)(VGG)慷蠕。它利用許多重復的神經(jīng)網(wǎng)絡(luò)塊珊拼;
- 網(wǎng)絡(luò)中的網(wǎng)絡(luò)(NiN)。它重復使用由卷積層和1*1卷積層(用來代替全連接層)來構(gòu)建深層網(wǎng)絡(luò);
- 含并行連結(jié)的網(wǎng)絡(luò)(GoogLeNet)流炕。它使用并行連結(jié)的網(wǎng)絡(luò)澎现,通過不同窗口大小的卷積層和最大匯聚層來并行抽取信息;
- 殘差網(wǎng)絡(luò)(ResNet)每辟。它通過殘差塊構(gòu)建跨層的數(shù)據(jù)通道剑辫,是計算機視覺中最流行的體系架構(gòu);
一影兽,深度卷積神經(jīng)網(wǎng)絡(luò)(AlexNet)
1.1 學習表征
對于如何提高模型的精度揭斧,歷代研究人員都提出了非常多的想法,例如提出更好的算法,也有人說改善特征的提取讹开,如AlexNet盅视,在網(wǎng)絡(luò)的最底層,模型學習到了一些類似于傳統(tǒng)濾波器的特征抽取器旦万,如下
AlexNet的更高層建立在這些底層表示的基礎(chǔ)上闹击,以表示更大的特征,如眼睛成艘、鼻子赏半、草葉等等。而更高的層可以檢測整個物體淆两,如人断箫、飛機、狗或飛盤秋冰。最終的隱藏神經(jīng)元可以學習圖像的綜合表示仲义,從而使屬于不同類別的數(shù)據(jù)易于區(qū)分。
1.2 AlexNet
AlexNet首次證明了學習到的特征可以超越手工設(shè)計的特征剑勾,AlexNet和LeNet的架構(gòu)非常相似埃撵,如下圖所示
AlexNet由八層組成:五個卷積層、兩個全連接隱藏層和一個全連接輸出層虽另;使用ReLU而不是sigmoid作為其激活函數(shù)暂刘。
二,使用塊的網(wǎng)絡(luò)(VGG)
神經(jīng)網(wǎng)絡(luò)架構(gòu)的設(shè)計逐漸變得更加抽象捂刺,研究人員開始從單個神經(jīng)元的角度思考問題谣拣,發(fā)展到整個層,現(xiàn)在又轉(zhuǎn)向塊叠萍,重復層的模式芝发。使用塊的想法首先出現(xiàn)VGG網(wǎng)絡(luò)。
VGG由一系列卷積層組成苛谷,后面再加上用于空間下采樣的最大匯聚層辅鲸。與AlexNet、LeNet一樣腹殿,VGG網(wǎng)絡(luò)可以分為兩部分:第一部分主要由卷積層和匯聚層組成独悴,第二部分由全連接層組成。
中間的都是VGG塊锣尉。其中有超參數(shù)變量conv_arch刻炒。該變量指定了每個VGG塊里卷積層個數(shù)和輸出通道數(shù)。
也就是說使用可復用的卷積塊構(gòu)造網(wǎng)絡(luò)自沧,不同的VGG模型可通過每個塊中卷積層數(shù)量和輸出通道數(shù)量的差異來定義
三坟奥,網(wǎng)絡(luò)中的網(wǎng)絡(luò)(NiN)
LeNet树瞭、AlexNet和VGG都有一個共同的設(shè)計模式:通過一系列的卷積層與匯聚層來提取空間結(jié)構(gòu)特征;然后通過全連接層對特征的表征進行處理爱谁。
AlexNet和VGG對LeNet的改進主要在于如何擴大和加深這兩個模塊
網(wǎng)絡(luò)中的網(wǎng)絡(luò)(NiN)在每個像素的通道上分別使用多層感知機
NiN塊以一個普通卷積層開始晒喷,后面是兩個1*1的卷積層。這兩個1*1卷積層充當帶有ReLU激活函數(shù)的逐像素全連接層访敌。
NiN去除了容易造成過擬合的全連接層凉敲,將它們替換為全局平均匯聚層。該匯聚層通道數(shù)量為所需的輸出數(shù)量寺旺。移除全連接層可減少過擬合爷抓,同時顯著減少NiN的參數(shù)。
四阻塑,含并行連結(jié)的網(wǎng)(GoogLeNet)
GoogLeNet吸收了NiN中串聯(lián)網(wǎng)絡(luò)的思想蓝撇,并解決了什么樣大小的卷積核最合適的問題。
在GoogLeNet中叮姑,基本的卷積塊被稱為Inception塊
這四條路徑都使用合適的填充來使輸入與輸出的高和寬一致唉地,最后我們將每條線路的輸出在通道維度上連結(jié),并構(gòu)成Inception塊的輸出。
它通過不同窗口形狀的卷積層和最大匯聚層來并行抽取信息前联,并使用1*1卷積層減少每像素級別上的通道維數(shù)從而降低模型復雜度镰官。
GoogLeNet模型如下
GoogLeNet一共使用9個Inception塊和全局平均匯聚層的堆疊來生成其估計值
五,殘差網(wǎng)絡(luò)(ResNet)
隨著我們設(shè)計越來越深的網(wǎng)絡(luò)椒拗,理解“新添加的層如何提升神經(jīng)網(wǎng)絡(luò)的性能”變得至關(guān)重要。
殘差網(wǎng)絡(luò)的核心思想是:每個附加層都應(yīng)該更容易地包含原始函數(shù)作為其元素之一。
在殘差塊中兵琳,輸入可通過跨層數(shù)據(jù)線路更快地向前傳播。
利用殘差塊(residual blocks)可以訓練出一個有效的深層神經(jīng)網(wǎng)絡(luò):輸入可以通過層間的殘余連接更快地向前傳播