Top100論文導讀:深入理解卷積神經網絡CNN(Part Ⅰ)
首發地址:https://yq.aliyun.com/articles/74729
Adrian Colyermorning paperAccel Partners
https://www.linkedin.com/in/adriancolyer/
Twitterhttps://twitter.com/adriancolyer
本文介紹清單“ Top100” 中幾篇文章,現在將從“卷積神經網絡模型”部分開始研究相關論文,Part內容見下篇博客。首先是:
ImageNet classification with deep convolutional neural networks
Maxout networksGoodfellow
Network in network
在深研究上述論文,建議可以閱讀Ujjwal Karn的優秀博客An intuitive explanation of convolutional neural networks ,該博客為卷積網絡如何工作提供了一個很好的背景。言歸正傳,下麵一起深入到卷積神經網絡的世界中吧。
ImageNet
這篇有影響力的論文可謂是再次掀起了深度學習的熱潮,正是Hinton使用深層卷積神經網絡來開展整個工作流程並用於圖像處理,兩個因素使之成功:首先,提供足夠大的數據集(具體來說,引入了數百萬張圖像的ImageNet,而以前最大的數據集隻有“數萬”;其次,開發出足夠強大的GPU有效地訓練大型網絡。
什麼使得CNN適合處理圖像數據?
可以通過改變卷積核的尺寸和特征圖數來控製其性能,並且還能對圖像的性質做出大體上正確的估計。與具有相似大小層次的標準前饋神經網絡相比,CNN具有更少的連接和參數,因此它們更容易訓練。
Krizhevsky等人構建的網絡有8層——5個卷積層和3個全連接層。最後一層的輸出是1000維的softmax,它產生1000個類標簽上的分布。另外由於網絡太大而不能容納在單個GPU的內存中,所以使用兩個GPU進行訓練。
作者列出了他們認為特別重要的四個模型架構:
1. 函數(而不是tanh使用ReLU的深層卷積神經網絡的訓練速度比使用tanh的網絡快幾倍, ”
2. ,並且隻在某些層中進行跨GPU與GPU相比,分別將top-1和top-5%1.2%。
3. 局部響應標準化“ ”。
4. 有重疊的池化,假設池化層的大小為z x z,間隔之間像素分開,傳統的池化之間沒有重疊,作者使用有重疊的池化後將top-1和top-5%0.3%。
在訓練期間使用Dropout和數據增加(平移,反轉等操作)降低過擬合。
最終結果:
在ILSVRC2010上,論文網絡實現了top-1和top-5的錯誤率分別為37.5%和17.0%ILSVRC2012top-515.3%,而第二名才為26.2%這個巨大的差距拉開了深度學習革命的帷幕。
研究結果表明,一個大而深的卷積神經網絡能夠在使用純監督學習的高度挑戰的數據集上取得創紀錄的成果。值得注意的是,改變網絡結構,網絡性能可能會降低。更深入地了解本文可以參閱該。
Maxout
Maxout網絡是與DropoutDropout就像訓練指數數量的模型並共享相同的參數。MaxoutCNNMaxout單元的特殊激活Maxout單元的輸出是其輸入的最大值。
在卷積網絡中,可以通過在k個仿射特征圖上獲取最大值來構建最大特征圖。當訓練使用Dropout時,在乘以權重之前不會將丟失的輸入進行最大操作。
Maxout對任意凸函數進行分段線性擬合,如下所示。
在評估中,Maxout和DropoutMNIST、CIFAR10、CIFAR100最好分類表現。
為什麼它工作得很好?總結起來就是Dropout在更深的架構中進行精確的模型平均,線性運算和Maxout網絡可以學習利用Dropout的近似模型平均技術;此外,零點飽和的整流器單元在Dropout中更常見,零值可以阻止梯度流過單元,從而難以在訓練中改變,並再次變為活動狀態,而Maxout不會受到此問題的影響。
NIN
傳統的卷積層通過對感受野應用線性濾波器,然後進行非線性激活來應用卷積,其輸出為特征圖。本文指出這種過程不能學習在非線性概念之間區分好的表示。
CNN中的卷積濾波器是基於數據塊的廣義線性模型(GLM),這種抽象級別較低,另外抽象意味著該特征對於相同概念的變體是不變的。即使Maxout網絡在位於輸入空間中的凸集中潛在概念實例強加了約束,並進行分段線性擬合,但關鍵問題是輸入特征是否確實需要非線性函數,以便最好地表示其中包含的概念。作者聲稱他們這樣做:
相同概念的數據通常存在於非線性流形上,因此捕獲這些概念的表示通常是輸入的高度非線性函數。在NIN中,GLM被替換為通用非線性函數近似器的“微網”結構。在論文中,選擇多層感知器(MLP)作為微網絡的實例化。
第一個大的創新點是用迷你多層感知器網絡(稱為mlpconv層)代替線性卷積層。由於這種mlpconv函數學習的內容
第二個變化改變了傳統卷積網絡中的最後一層:
傳統的CNN中采用全連接層進行分類,而NIN直接從最後一個mlpconv層輸出特征圖的空間平均值作為全局平均池化層的類別置信度,然後將所得到的向量輸入到softmax層。簡單來講就是用全局平均池化代替全連接層。
CIFAR101%的性能提升擊敗了當時最好的表現。
CIFAR100作者1%;在SVHN數據集上也獲得了良好的效果,但不是最好。
OverFeat
OverFeat展示了如何將CNN分類、定位和檢測任務,其性能ILSVRC 2013上分類排名第四,定位和檢測都排第一。我們都知道分類問題就是圖片是什麼物體,但對於定位和檢測問題不是很熟悉。檢測就是給定一張圖片,把圖片中的所有物體全部找出來;定位就像分類,網絡也必須產生一個顯示檢測對象的邊界框:
檢測問題涉及可能包含許多小對象的圖像,網絡必須檢測每個對象並繪製其邊界框:
本文提出了一種新的ConvNet綜合方法,主要是通過卷積網絡對圖像中的物體進行分類、定位和檢測,並提高所有任務的精度。另外還通過積累預測的邊界框來引入一種新穎的定位和檢測方法。論文中有很多細節,在這裏就不一一詳細介紹,感興趣的話建議閱讀論文的原文。
由於感興趣的目標可以在圖像中的大小和位置上有明顯變化,所以OverFeatConvNet,然後訓練係統以產生包含目標的邊界框的位置及尺寸的預測。在每個位置和大小上累積每個目標類別的預測。
該模型是Krizhevsky提出的網絡,網絡的前五層沒有使用對比度歸一化,池化區域是非重疊並使用較小的步長2。6種不同的輸入尺寸5有不同分辨率的特征映射,然後將其池化後送入分類器。
5特征圖上構建分類器方法:
從直觀上來看,網絡分為兩部分——特征提取層(15層)和分類器層(6層輸出層)。在特征提取部分中,濾波器在整個圖像進行移動卷積計算;然而,對於網絡的分類器部分,這些原理是相反的。
對於定位而言,分類器層被訓練為在每個空間位置和尺度上預測邊界框的回歸網絡代替,然後將回歸預測與每個位置的分類結果相結合。多尺度訓練可確保預測在尺度上正確匹配,並以指數方式增加合並預測的置信度。
邊界框根據其中心之間的距離及其區域的交點進行組合,最後通過采用具有最大類分數的合並邊界框進行最終預測。下圖給出了該過程的可視化概述:
檢測訓練類似於分類訓練,但是當沒有目標存在時,還需要預測後台任務。
傳統上,反例最初被隨機地用於訓練,然後將最有爭議的負誤差添加到訓練集中,通過選擇每個圖像的一些有趣的反例(例如隨機的或最有爭議的),對蒼蠅進行消極訓練,這種方法在計算上更昂貴,但使得程序更簡單。
Convolutional neural networks, Part 1Adrian Colyer
最後更新:2017-07-12 22:11:42