理解卷积神经网络的利器:9篇重要的深度学习论文(上)
摘要:?為了更好地幫助你理解卷積神經(jīng)網(wǎng)絡,在這里,我總結(jié)了計算機視覺和卷積神經(jīng)網(wǎng)絡領域內(nèi)許多新的重要進步及有關論文。
? ? ? ??手把手教你理解卷積神經(jīng)網(wǎng)絡(一)
? ? ? ??手把手教你理解卷積神經(jīng)網(wǎng)絡(二)
本文將介紹過去五年內(nèi)發(fā)表的一些重要論文,并探討其重要性。論文1—5涉及通用網(wǎng)絡架構(gòu)的發(fā)展,論文6—9則是其他網(wǎng)絡架構(gòu)的論文。點擊原文即可查看更詳細的內(nèi)容。
1.AlexNet(2012)
AlexNet是卷積神經(jīng)網(wǎng)絡架構(gòu)的起源(盡管可能會有人認為,1998年Yann LeCun發(fā)表的論文才是真正的開創(chuàng)性出版物)。這篇名為“基于深度卷積網(wǎng)絡ImageNet分類”的論文總共被引用6,184次,被公認為是該領域最具影響力的論文之一。在2012年的ImageNet大規(guī)模視覺識別挑戰(zhàn)賽中,Alex Krizhevsky等人創(chuàng)建的“大而深的卷積神經(jīng)網(wǎng)絡”取得了大賽冠軍——將分類誤差從26%降至15%,這是一個驚人的改進,幾乎讓所有的計算機視覺社區(qū)為之震撼。從那時起,卷積神經(jīng)網(wǎng)絡被廣泛傳播,成了一個家喻戶曉的名字。
? ? 該論文討論了AlexNet架構(gòu)的網(wǎng)絡結(jié)構(gòu)。與現(xiàn)代架構(gòu)相比,AlexNet使用了相對簡單的網(wǎng)絡結(jié)構(gòu):由5個卷積層、最大池化層、drop-out層和3個全連接層組成。他們設計的網(wǎng)絡可用于對1000個類別進行分類。?
主要論點
1.在ImageNet數(shù)據(jù)集上訓練網(wǎng)絡,ImageNet數(shù)據(jù)集包含超過1500萬張注釋圖像,類別超過22000個。
2.使用ReLU處理非線性函數(shù)(這樣可以減少訓練時間,因為ReLU比傳統(tǒng)的tanh函數(shù)運行速度要快幾倍)。
3.使用的數(shù)據(jù)增強技術(shù)包括:圖像轉(zhuǎn)換,水平反射和補丁提取。
4.采用drop-out層,解決了訓練數(shù)據(jù)的過擬合問題。
5.使用批量隨機梯度下降訓練架構(gòu),其中動量和權(quán)重衰減都有固定的具體值。
重要性
Krizhevsky等人在2012年開發(fā)出來的神經(jīng)網(wǎng)絡,是卷積神經(jīng)網(wǎng)絡在計算機視覺社區(qū)的一場盛宴。這是首次在ImageNet數(shù)據(jù)集上性能表現(xiàn)非常好的架構(gòu),利用了今天仍在使用的技術(shù),如數(shù)據(jù)增強和dropout。這篇論文闡述了卷積神經(jīng)網(wǎng)絡的優(yōu)點,并創(chuàng)造了其他神經(jīng)網(wǎng)絡難以逾越的性能。
2.ZF Net
由于AlexNet在2012年閃亮登場,在2013的ImageNet大規(guī)模視覺識別挑戰(zhàn)賽中出現(xiàn)的卷積神經(jīng)網(wǎng)絡架構(gòu)數(shù)量大幅度增加,該年度大賽冠軍是由紐約大學的Matthew Zeiler團隊創(chuàng)建的網(wǎng)絡——ZF Net,該架構(gòu)實現(xiàn)了低至11.2%的誤差率。ZF Net架構(gòu)相當于對AlexNet架構(gòu)做了微調(diào),但作者仍然提出了一些能夠提高模型性能的重要設想。這篇論文之所以特別重要,另一個原因就是作者花了很多精力來解釋卷積神經(jīng)網(wǎng)絡的可視化,并展示了如何正確的可視化濾波器和權(quán)重。
在這篇題為“卷積神經(jīng)網(wǎng)絡的可視化和理解”的論文中,Zeiler團隊首先解釋了重新對卷積神經(jīng)網(wǎng)絡感興趣的原因,這源自于大型訓練集的可訪問性,以及隨著GPU的使用率增大,計算能力也有提高。作者還提到“更好的架構(gòu)會減少試驗和誤差次數(shù)”。盡管和三年前相比,我們對卷積神經(jīng)網(wǎng)絡有了更全面的理解,但這仍然是很多研究人員所面臨的問題!本文的主要貢獻是對AlexNet架構(gòu)的細節(jié)做了微調(diào),并且以一種很有意思的方法對特征映射做了可視化處理。
?主要論點
1.ZF Net與AlexNet模型有非常相似的架構(gòu),同時也做了一些微調(diào)。
2.AlexNet訓練了1500萬張圖片,而ZF Net僅僅訓練了130萬張圖片。
3.AlexNet在第一層使用11*11的濾波器,而ZF Net使用了7*7的濾波器和一個較小的步長。做這一調(diào)整的原因是第一個卷積層中使用較小的濾波器有助于將大量的原始像素信息保留在輸入數(shù)組中。11*11的濾波器會過濾掉很多有用的信息,尤其是在第一個卷積層。
4.隨著卷積網(wǎng)絡的發(fā)展,使用濾波器的數(shù)量有所增加。
5.將ReLUs作為其激活函數(shù),交叉熵代價函數(shù)作為誤差函數(shù),并使用批量隨機梯度下降進行訓練。
6.開發(fā)了一種名為去卷積網(wǎng)絡的可視化技術(shù),有助于測試不同的特征激活與輸入數(shù)組的關系。之所以被稱為“去卷積”,因為它將特征映射為像素(與卷積層的作用正好相反)。
DeConvNet
DeConvNet模型的基本思想是,在卷積神經(jīng)網(wǎng)絡已經(jīng)訓練好的每一層,都增加一個“去卷積”返回圖像像素。圖像輸入到卷積神經(jīng)網(wǎng)絡中,并在每個級別計算其特征激活。假設現(xiàn)在要檢查第四個卷積層中某個特征激活,我們來存儲這一個特征映射的激活,但將卷積層中的所有其他激活都設為0,然后將此特征映射作為輸入傳遞給DeConvNet模型。該DeConvNet模型具有與原始卷積神經(jīng)網(wǎng)絡相同的濾波器。然后,輸入經(jīng)過一系列的反池化(和最大池化相反)、校正以及前面每個層的濾波器操作,然后到達輸入數(shù)組。
我們知道,卷積層中的第一層是一個基本特征檢測器,檢測邊緣或顏色。如上圖所示,我們可以看到,在第二層有更多的循環(huán)特征被檢測到。下面,我們來看看第3、4、5層。
?
這些層顯示了更多高級特征,如狗的頭部或鮮花。需要注意的是,在第一個卷積層之后,我們通常會有一個池化層對圖像進行下采樣(例如,將32*32*3數(shù)組轉(zhuǎn)換為16*16*3的數(shù)組)。這樣做可以在第二層看到原始圖像范圍更廣的特征。
重要性
ZF Net模型不僅是2013年度ImageNet大規(guī)模視覺識別挑戰(zhàn)賽的冠軍,而且還提供了有關卷積神經(jīng)網(wǎng)絡運行的絕佳的視覺效果,并展示了更多能夠提高性能的方法。?ZF Net模型所描述的可視化方法不僅有助于解釋卷積神經(jīng)網(wǎng)絡的內(nèi)部運行機制,而且還提供了對網(wǎng)絡架構(gòu)進行改進的獨特見解。
3.?VGG Net?(2014)
VGG Net是2014年創(chuàng)建的架構(gòu)(但并不是ImageNet大規(guī)模視覺識別挑戰(zhàn)賽的冠軍),其利用率達到7.3%。來自牛津大學的Karen Simonyan和Andrew Zisserman創(chuàng)建了一個特別簡單的19層的卷積神經(jīng)網(wǎng)絡,使用步長為1的3*3的濾波器,步長為2的2*2池化層。
主要論點
1.僅僅使用了3*3的濾波器,這與AlexNet第一層使用的11*11濾波器和ZF Net使用的7*7濾波器大不相同。作者證明了兩個3*3?卷積層的組合具有5*5的有效感受野。在使用較小的濾波器的同時,也模擬出了一個更大的濾波器,同時也減少了參數(shù)的數(shù)量。此外,我們還可以在兩個卷積層中使用ReLU層。
2.三個卷積層的組合具有7*7的有效感受野。
3.隨著每層的深入,輸入數(shù)組隨之減小(卷積層和池化層的原因),過濾器的數(shù)量隨之,因此數(shù)組的深度也不斷增加。
4.有趣的是,濾波器的數(shù)量在每個最大池化層之后都會增加一倍。這強化了縮小空間維度的想法,但增加了網(wǎng)絡的深度。
5.特別適用于圖像分類和本地化任務。作者使用本地化的形式作為回歸。
6.用Caffe構(gòu)建架構(gòu)。
7.在訓練過程中使用數(shù)據(jù)增強技術(shù)是抖動(?scale jittering?)。
8.在每個卷積層之后使用ReLU層,并采用批梯度下降進行訓練。
重要性
VGG Net模型一直都是我心目中最有影響力的論文之一,因為它強化了這一觀點:為了使視覺數(shù)據(jù)可以分層表示,卷積神經(jīng)網(wǎng)絡必須具有更加深入的網(wǎng)絡層。
4. GoogLeNet?(2015)
谷歌使用了Inception模塊來代替簡單網(wǎng)絡架構(gòu)這一概念,GoogLeNet模型是一個22層的卷積神經(jīng)網(wǎng)絡架構(gòu),并且是2014年度ImageNet大規(guī)模視覺識別挑戰(zhàn)賽的冠軍,誤差率高達6.7%。據(jù)我所知,這是第一個真正摒棄了在順序結(jié)構(gòu)中對卷積層和池化層進行簡單堆疊的卷積神經(jīng)網(wǎng)絡架構(gòu)之一。這個新架構(gòu)著重考慮內(nèi)存和功耗(堆疊所有的這些層并添加大量的濾波器會產(chǎn)生計算成本和內(nèi)存成本,同時也會增加過擬合的概率)。
?
Inception模塊
并不是像以前的架構(gòu)按順序運行,GoogLeNet架構(gòu)中存在可以并行的網(wǎng)絡。如下圖所示,這個方框被稱為Inception模塊。
?
讓我們來看看它的內(nèi)部組成。
?
底部的綠色框是輸入,最上面的是輸出。在傳統(tǒng)的卷積網(wǎng)絡的每一層,你必須選擇是否進行池化或卷積操作(也可以選擇過濾器大小)。Inception模塊可以所有這些操作。這正是GoogLeNet的亮點之一。
這樣會導致太多的輸出,為了解決這一問題,作者在3*3和5*5的層前面添加1*1?的卷積操作對其進行降維。舉個例子,假設輸入數(shù)組為100*100*60(這不一定是圖像大小,只是網(wǎng)絡任意一層的輸入)。使用20個1*1卷積濾波器可以讓將數(shù)組降到100*100*20。這就意味著3*3和5*5的卷積操作不會有大量的操作。由于我們正在降低數(shù)組的維度,這一操作被稱作“特征池化”,這和我們用普通的最大池化層來減小圖片的高度和寬度比較相似。
GoogLeNet模型有什么用?這個網(wǎng)絡由網(wǎng)絡層的一個網(wǎng)絡、一個中型卷積濾波器、一個大型卷積濾波器和一個池化操作組成。卷積網(wǎng)絡能夠提取輸入數(shù)組的細節(jié)信息,而5*5濾波器能夠覆蓋輸入較大范圍的接受野,因此也能夠提取其細節(jié)信息。你還可以在GoogLeNet模型中進行池化操作,這有助于降低空間維度并避免過擬合。最重要的是,在每個卷積層之后都有ReLU函數(shù),這有助于改善網(wǎng)絡的非線性?;旧?#xff0c;網(wǎng)絡在執(zhí)行這些操作的同時,仍能夠保持計算上的良好性能。
主要論點
1.在整個架構(gòu)中使用了九個Inception模塊,總共超過100層!
2.沒有使用全連接層!?他們使用平均池化,這大大節(jié)省了參數(shù)的數(shù)量。
3.使用的參數(shù)比AlexNet架構(gòu)少12倍。
4.利用R-CNN的概念介紹其檢測架構(gòu)。
5.Inception模塊有了版本更新(版本6和7)。
重要性
GoogLeNet模型是第一個引入“卷積神經(jīng)網(wǎng)絡層并不需要依次疊加”這一理念的架構(gòu)之一,作為Inception模塊的一部分,富有創(chuàng)造性的層結(jié)構(gòu)提高了整體性能和計算效率。
敬請期待后續(xù)論文介紹——理解卷積神經(jīng)網(wǎng)絡的利器:9篇重要的深度學習論文(下)!
??以上為譯文。
本文由阿里云云棲社區(qū)組織翻譯。
作者:【方向】
原文:
理解卷積神經(jīng)網(wǎng)絡的利器:9篇重要的深度學習論文(上)
干貨好文,請關注掃描以下二維碼:
總結(jié)
以上是生活随笔為你收集整理的理解卷积神经网络的利器:9篇重要的深度学习论文(上)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: YAFFS2移植到AliOS Thing
- 下一篇: 理解卷积神经网络的利器:9篇重要的深度学