新聞中心

EEPW首頁 > 智能計算 > 設(shè)計應(yīng)用 > 深度學(xué)習之GoogLeNet解讀

深度學(xué)習之GoogLeNet解讀

作者: 時間:2017-05-17 來源:網(wǎng)絡(luò) 收藏

  提出背景

本文引用地址:http://m.butianyuan.cn/article/201705/359304.htm

  ?始于LeNet-5,一個有著標準的堆疊式卷積層冰帶有一個或多個全連接層的結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)。通常使用dropout來針對過擬合問題。

  ?為了提出一個更深的網(wǎng)絡(luò),做到了22層,利用inception結(jié)構(gòu),這個結(jié)構(gòu)很好地利用了網(wǎng)絡(luò)中的計算資源,并且在不增加計算負載的情況下,增加網(wǎng)絡(luò)的寬度和深度。同時,為了優(yōu)化網(wǎng)絡(luò)質(zhì)量,采用了Hebbian原理和多尺度處理。在分類和檢測上都取得了不錯的效果。

  ?最近的發(fā)展,大多來源于新的想法,算法以及網(wǎng)絡(luò)結(jié)構(gòu)的改善,而不是依賴于硬件,新的數(shù)據(jù)集,更深的網(wǎng)絡(luò),并且的研究不應(yīng)該完全專注于精確度的問題上,而更應(yīng)該關(guān)注與網(wǎng)絡(luò)結(jié)構(gòu)的改善方面的工作。

  相關(guān)工作

  ?參考Robust object recognition with cortex-like mechanisms.中利用固定的多個Gabor濾波器來進行多尺度處理的方法,對inception結(jié)構(gòu)中的所有濾波器都進行學(xué)習,并運用至整個22層網(wǎng)絡(luò)。

  ?GoogLeNet參考Network in network.中對1x1卷積的使用來增加網(wǎng)絡(luò)深度的做法,GoogLeNet也利用了1x1卷積來進行降維和限制網(wǎng)絡(luò)尺寸的作用。

  ?GoogLeNet參考Rich feature hierarchies for accurate object detection and semantic segmentation.即R-CNN將整個檢測任務(wù)分為兩個子問題的做法,即首先利用底層特征如顏色,文本等來進行提取與類別無關(guān)的proposals,然后將這些proposals放入CNN中進行訓(xùn)練來確定類別信息的做法。GoogLeNet也借鑒這種方式,并對兩個階段都進行了改進,第一個階段使用多邊框預(yù)測,第二個階段則是使用更好的CNN網(wǎng)絡(luò)結(jié)構(gòu)。

  基本思想及過程

  ?GoogLeNet提出最直接提升深度神經(jīng)網(wǎng)絡(luò)的方法就是增加網(wǎng)絡(luò)的尺寸,包括寬度和深度。深度也就是網(wǎng)絡(luò)中的層數(shù),寬度指每層中所用到的神經(jīng)元的個數(shù)。但是這種簡單直接的解決方式存在的兩個重大的缺點。

  (1) 網(wǎng)絡(luò)尺寸的增加也意味著參數(shù)的增加,也就使得網(wǎng)絡(luò)更加容易過擬合。

  (2) 計算資源的增加。

  ?因此想到將全連接的方式改為稀疏連接來解決這兩個問題。由Provable bounds for learning some deep representations.提到數(shù)據(jù)集的概率分布由大又稀疏的深度神經(jīng)網(wǎng)絡(luò)表達時,網(wǎng)絡(luò)拓撲結(jié)構(gòu)可由逐層分析與輸出高度相關(guān)的上一層的激活值和聚類神經(jīng)元的相關(guān)統(tǒng)計信息來優(yōu)化。但是這有非常多的限制條件。因此提出運用Hebbian原理,它可以使得上述想法在少量限制條件下就變得實際可行。

  ?通常全連接是為了更好的優(yōu)化并行計算,而稀疏連接是為了打破對稱來改善學(xué)習,傳統(tǒng)常常利用卷積來利用空間域上的稀疏性,但卷積在網(wǎng)絡(luò)的早期層中的與patches的連接也是稠密連接,因此考慮到能不能在濾波器層面上利用稀疏性,而不是神經(jīng)元上。但是在非均勻稀疏數(shù)據(jù)結(jié)構(gòu)上進行數(shù)值計算效率很低,并且查找和緩存未定義的開銷很大,而且對計算的基礎(chǔ)設(shè)施要求過高,因此考慮到將稀疏矩陣聚類成相對稠密子空間來傾向于對稀疏矩陣的計算優(yōu)化。因此提出了inception結(jié)構(gòu)。

    

這里寫圖片描述

 

  ?inception結(jié)構(gòu)的主要思想在于卷積視覺網(wǎng)絡(luò)中一個優(yōu)化的局部稀疏結(jié)構(gòu)怎么樣能由一系列易獲得的稠密子結(jié)構(gòu)來近似和覆蓋。上面提到網(wǎng)絡(luò)拓撲結(jié)構(gòu)是由逐層分析上一層的相關(guān)統(tǒng)計信息并聚集到一個高度相關(guān)的單元組中,這些簇(單元組)表達下一層的單元(神經(jīng)元)并與之前的單元相連接,而靠近輸入圖像的底層相關(guān)的單元在一塊局部區(qū)域聚集,這就意味著我們可以在一塊單一區(qū)域上聚集簇來結(jié)尾,并且他們能在下一層由一層1x1的卷積層覆蓋,也即利用更少的數(shù)量在更大空間擴散的簇可由更大patches上的卷積來覆蓋,也將減少越來越大的區(qū)域上patches的數(shù)量。

  ?為了避免patch對齊問題,因此限制了inception結(jié)構(gòu)中濾波器的大小為1x1,3x3,5x5。由于inception結(jié)構(gòu)中都是互相堆疊的,因此輸出相關(guān)統(tǒng)計信息一定不同:為了在高層能提取更抽象的特征,就要減少其空間聚集性,因此通過增加高層inception結(jié)構(gòu)中的3x3,5x5卷積數(shù)量,捕獲更大面積的特征。

  ?在上述inception結(jié)構(gòu)中,由于濾波器數(shù)量的增加,加上池化操作使得5x5大小的濾波器的計算開銷非常大,池化層輸出與卷積層輸出的合并增加了輸出值的數(shù)量,并且可能覆蓋優(yōu)化稀疏結(jié)構(gòu),處理十分低效,引起計算爆炸。因此引出下面這個inception結(jié)構(gòu)。

    

這里寫圖片描述

 

  ?inception結(jié)構(gòu)中有很多嵌套,低維嵌套包含了大量的圖片patch信息,且這種嵌套表達了一個稠密且壓縮的信息的形式,但我們想要表達的更加稀疏,并且只在大量聚集的時候才對信號進行壓縮,因此考慮利用在3x3和5x5卷積操作前進行1x1卷積來進行降維處理,1x1不僅降維,而且還引入了ReLU非線性激活。實際發(fā)現(xiàn),只在高層中使用inception結(jié)構(gòu)對整個網(wǎng)絡(luò)更加有利。

  ?inception結(jié)構(gòu)的好處在于在沒有計算復(fù)雜度不受控制的計算爆炸時,可以增加每個階段的單元個數(shù),也就是網(wǎng)絡(luò)的寬度,當然還有深度;同時這種結(jié)構(gòu)也類似于圖像中多尺度處理之后將處理結(jié)果聚集在一起以便于下一個階段能同時提取不同尺寸下的特征。

  ?由于稀疏結(jié)構(gòu)的計算量大的問題,所以采用1x1的卷積來減少參數(shù)的計算,其中1x1 卷積解釋為:

  在3x3和5x5層前,各自增加一個1x1的卷積操作。1x1的卷積(或者網(wǎng)絡(luò)層中的網(wǎng)絡(luò)),提供了一個減少維度的方法。比如,我們假設(shè)你擁有一個輸入層,體積是100x100x60(這并不定是圖像的三個維度,只是網(wǎng)絡(luò)中每一層的輸入)。增加20個1x1的卷積濾波器,會讓你把輸入的體積減小到100x100x20。這意味著,3x3層和5x5層不需要處理輸入層那么大的體積。這可以被認為是“池特征”(pooling of feature),因為我們正在減少體積的高度,這和使用常用的最大池化層(maxpooling layers)減少寬度和長度類似。另一個需要注意的是,這些1x1的卷積層后面跟著的是ReLU 單元,這肯定不會有害。

  ?有了上面的這種結(jié)構(gòu)形式,叫inception:這個inception模型由一個網(wǎng)絡(luò)層中的網(wǎng)絡(luò)、一個中等大小的過濾卷積、一個大型的過濾卷積、一個操作池(pooling operation)組成。網(wǎng)絡(luò)卷積層中的網(wǎng)絡(luò)能夠提取輸入體積中的每一個細節(jié)中的信息,同時5x5的濾波器也能夠覆蓋大部分接受層的的輸入,進而能提起其中的信息。你也可以進行一個池操作,以減少空間大小,降低過度擬合。在這些層之上,你在每一個卷積層后都有一個ReLU,這能改進網(wǎng)絡(luò)的非線性特征?;旧?,網(wǎng)絡(luò)在執(zhí)行這些基本的功能時,還能同時考慮計算的能力。這篇論文還提供了更高級別的推理,包括的主題有稀疏和緊密聯(lián)結(jié)。

    

這里寫圖片描述

 

  ?上圖為GoogLeNet的網(wǎng)絡(luò)框圖細節(jié),其中“#3x3 reduce”,“#5x5 reduce”代表在3x3,5x5卷積操作之前使用1x1卷積的數(shù)量。輸入圖像為224x224x3,且都進行了零均值化的預(yù)處理操作,所有降維層也都是用了ReLU非線性激活函數(shù)。

    

這里寫圖片描述

 

  ?如上圖用到了輔助分類器,Inception?Net有22層深,除了最后一層的輸出,其中間節(jié)點的分類效果也很好。因此在Inception?Net中,還使用到了輔助分類節(jié)點(auxiliary?classifiers),即將中間某一層的輸出用作分類,并按一個較小的權(quán)重(0.3)加到最終分類結(jié)果中。這樣相當于做了模型融合,同時給網(wǎng)絡(luò)增加了反向傳播的梯度信號,也提供了額外的正則化,對于整個Inception?Net的訓(xùn)練很有裨益。

    

這里寫圖片描述

 

 



關(guān)鍵詞: 深度學(xué)習 GoogLeNet

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉