本文是對卷積神經(jīng)網(wǎng)絡的基礎進行介紹,主要內容包括卷積神經(jīng)網(wǎng)絡概念、卷積神經(jīng)網(wǎng)絡結構、卷積神經(jīng)網(wǎng)絡求解、卷積神經(jīng)網(wǎng)絡LeNet-5結構分析、卷積神經(jīng)網(wǎng)絡注意事項。
一、卷積神經(jīng)網(wǎng)絡概念
上世紀60年代,Hubel等人通過對貓視覺皮層細胞的研究,提出了感受野這個概念,到80年代,F(xiàn)ukushima在感受野概念的基礎之上提出了神經(jīng)認知機的概念,可以看作是卷積神經(jīng)網(wǎng)絡的第一個實現(xiàn)網(wǎng)絡,神經(jīng)認知機將一個視覺模式分解成許多子模式(特征),然后進入分層遞階式相連的特征平面進行處理,它試圖將視覺系統(tǒng)模型化,使其能夠在即使物體有位移或輕微變形的時候,也能完成識別。
卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks, CNN)是多層感知機(MLP)的變種。由生物學家休博爾和維瑟爾在早期關于貓視覺皮層的研究發(fā)展而來。視覺皮層的細胞存在一個復雜的構造。這些細胞對視覺輸入空間的子區(qū)域非常敏感,我們稱之為感受野,以這種方式平鋪覆蓋到整個視野區(qū)域。這些細胞可以分為兩種基本類型,簡單細胞和復雜細胞。簡單細胞最大程度響應來自感受野范圍內的邊緣刺激模式。復雜細胞有更大的接受域,它對來自確切位置的刺激具有局部不變性。
通常神經(jīng)認知機包含兩類神經(jīng)元,即承擔特征提取的采樣元和抗變形的卷積元,采樣元中涉及兩個重要參數(shù),即感受野與閾值參數(shù),前者確定輸入連接的數(shù)目,后者則控制對特征子模式的反應程度。卷積神經(jīng)網(wǎng)絡可以看作是神經(jīng)認知機的推廣形式,神經(jīng)認知機是卷積神經(jīng)網(wǎng)絡的一種特例。
CNN由紐約大學的Yann LeCun于1998年提出。CNN本質上是一個多層感知機,其成功的原因關鍵在于它所采用的局部連接和共享權值的方式,一方面減少了的權值的數(shù)量使得網(wǎng)絡易于優(yōu)化,另一方面降低了過擬合的風險。CNN是神經(jīng)網(wǎng)絡中的一種,它的權值共享網(wǎng)絡結構使之更類似于生物神經(jīng)網(wǎng)絡,降低了網(wǎng)絡模型的復雜度,減少了權值的數(shù)量。該優(yōu)點在網(wǎng)絡的輸入是多維圖像時表現(xiàn)的更為明顯,使圖像可以直接作為網(wǎng)絡的輸入,避免了傳統(tǒng)識別算法中復雜的特征提取和數(shù)據(jù)重建過程。在二維圖像處理上有眾多優(yōu)勢,如網(wǎng)絡能自行抽取圖像特征包括顏色、紋理、形狀及圖像的拓撲結構;在處理二維圖像問題上,特別是識別位移、縮放及其它形式扭曲不變性的應用上具有良好的魯棒性和運算效率等。
CNN本身可以采用不同的神經(jīng)元和學習規(guī)則的組合形式。
CNN具有一些傳統(tǒng)技術所沒有的優(yōu)點:良好的容錯能力、并行處理能力和自學習能力,可處理環(huán)境信息復雜,背景知識不清楚,推理規(guī)則不明確情況下的問題,允許樣品有較大的缺損、畸變,運行速度快,自適應性能好,具有較高的分辨率。它是通過結構重組和減少權值將特征抽取功能融合進多層感知器,省略識別前復雜的圖像特征抽取過程。
CNN的泛化能力要顯著優(yōu)于其它方法,卷積神經(jīng)網(wǎng)絡已被應用于模式分類,物體檢測和物體識別等方面。利用卷積神經(jīng)網(wǎng)絡建立模式分類器,將卷積神經(jīng)網(wǎng)絡作為通用的模式分類器,直接用于灰度圖像。
CNN是一個前潰式神經(jīng)網(wǎng)絡,能從一個二維圖像中提取其拓撲結構,采用反向傳播算法來優(yōu)化網(wǎng)絡結構,求解網(wǎng)絡中的未知參數(shù)。
CNN是一類特別設計用來處理二維數(shù)據(jù)的多層神經(jīng)網(wǎng)絡。CNN被認為是第一個真正成功的采用多層層次結構網(wǎng)絡的具有魯棒性的深度學習方法。CNN通過挖掘數(shù)據(jù)中的空間上的相關性,來減少網(wǎng)絡中的可訓練參數(shù)的數(shù)量,達到改進前向傳播網(wǎng)絡的反向傳播算法效率,因為CNN需要非常少的數(shù)據(jù)預處理工作,所以也被認為是一種深度學習的方法。在CNN中,圖像中的小塊區(qū)域(也叫做“局部感知區(qū)域”)被當做層次結構中的底層的輸入數(shù)據(jù),信息通過前向傳播經(jīng)過網(wǎng)絡中的各個層,在每一層中都由過濾器構成,以便能夠獲得觀測數(shù)據(jù)的一些顯著特征。因為局部感知區(qū)域能夠獲得一些基礎的特征,比如圖像中的邊界和角落等,這種方法能夠提供一定程度對位移、拉伸和旋轉的相對不變性。
CNN中層次之間的緊密聯(lián)系和空間信息使得其特別適用于圖像的處理和理解,并且能夠自動的從圖像抽取出豐富的相關特性。
CNN通過結合局部感知區(qū)域、共享權重、空間或者時間上的降采樣來充分利用數(shù)據(jù)本身包含的局部性等特征,優(yōu)化網(wǎng)絡結構,并且保證一定程度上的位移和變形的不變性。
CNN受視覺神經(jīng)機制的啟發(fā)而設計,是為識別二維或三維信號而設計的一個多層感知器,這種網(wǎng)絡結構對平移、縮放、傾斜等變形具有高度不變性。
CNN可以用來識別位移、縮放及其它形式扭曲不變性的二維或三維圖像。CNN的特征提取層參數(shù)是通過訓練數(shù)據(jù)學習得到的,所以其避免了人工特征提取,而是從訓練數(shù)據(jù)中進行學習;其次同一特征圖的神經(jīng)元共享權值,減少了網(wǎng)絡參數(shù),這也是卷積網(wǎng)絡相對于全連接網(wǎng)絡的一大優(yōu)勢。共享局部權值這一特殊結構更接近于真實的生物神經(jīng)網(wǎng)絡使CNN在圖像處理、語音識別領域有著獨特的優(yōu)越性,另一方面權值共享同時降低了網(wǎng)絡的復雜性,且多維輸入信號(語音、圖像)可以直接輸入網(wǎng)絡的特點避免了特征提取和分類過程中數(shù)據(jù)重排的過程。
CNN是一種特殊的深層的神經(jīng)網(wǎng)絡模型,它的特殊性體現(xiàn)在兩個方面,一方面它的神經(jīng)元的連接是非全連接的,另一方面同一層中某些神經(jīng)元之間的連接的權重是共享的(即相同的)。它的非全連接和權值共享的網(wǎng)絡結構使之更類似于生物神經(jīng)網(wǎng)絡,降低了網(wǎng)絡模型的復雜度(對于很難學習的深層結構來說,這是非常重要的),減少了權值的數(shù)量。
CNN是一種深度的監(jiān)督學習下的機器學習模型,具有極強的適應性,善于挖掘數(shù)據(jù)局部特征,提取全局訓練特征和分類,它的權值共享結構網(wǎng)絡使之更類似于生物神經(jīng)網(wǎng)絡,在模式識別各個領域都取得了很好的成果。
稀疏連接:在BP神經(jīng)網(wǎng)絡中,每一層的神經(jīng)元節(jié)點是一個線性一維排列結構,層與層各神經(jīng)元節(jié)點之間是全連接的。卷積神經(jīng)網(wǎng)絡中,層與層之間的神經(jīng)元節(jié)點不再是全連接形式,利用層間局部空間相關性將相鄰每一層的神經(jīng)元節(jié)點只與和它相近的上層神經(jīng)元節(jié)點連接,即局部連接。這樣大大降低了神經(jīng)網(wǎng)絡架構的參數(shù)規(guī)模。
權重共享:在卷積神經(jīng)網(wǎng)絡中,卷積層的每一個卷積濾波器重復的作用于整個感受野中,對輸入圖像進行卷積,卷積結果構成了輸入圖像的特征圖,提取出圖像的局部特征。每一個卷積濾波器共享相同的參數(shù),包括相同的權重矩陣和偏置項。共享權重的好處是在對圖像進行特征提取時不用考慮局部特征的位置。而且權重共享提供了一種有效的方式,使要學習的卷積神經(jīng)網(wǎng)絡模型參數(shù)數(shù)量大大降低。
最大池采樣:它是一種非線性降采樣方法。在通過卷積獲取圖像特征之后是利用這些特征進行分類??梢杂盟刑崛〉降奶卣鲾?shù)據(jù)進行分類器的訓練,但這通常會產生極大的計算量。所以在獲取圖像的卷積特征后,要通過最大池采樣方法對卷積特征進行降維。將卷積特征劃分為數(shù)個n*n的不相交區(qū)域,用這些區(qū)域的最大(或平均)特征來表示降維后的卷積特征。這些降維后的特征更容易進行分類。
最大池采樣在計算機視覺中的價值體現(xiàn)在兩個方面:(1)、它減小了來自上層隱藏層的計算復雜度;(2)、這些池化單元具有平移不變性,即使圖像有小的位移,提取到的特征依然會保持不變。由于增強了對位移的魯棒性,最大池采樣方法是一個高效的降低數(shù)據(jù)維度的采樣方法。
Softmax回歸:它是在邏輯回歸的基礎上擴張而來,它的目的是為了解決多分類問題。在這類問題中,訓練樣本的種類一般在兩個以上。Softmax回歸是有監(jiān)督學習算法,它也可以與深度學習或無監(jiān)督學習方法結合使用。
CNN是一種帶有卷積結構的深度神經(jīng)網(wǎng)絡,通常至少有兩個非線性可訓練的卷積層,兩個非線性的固定卷積層(又叫Pooling Laye)和一個全連接層,一共至少5個隱含層。
卷積神經(jīng)網(wǎng)絡中,輸入就是一幅幅的圖像,權值W就是卷積模板,一般是卷積層和下采樣層交替,最后是全連接的神經(jīng)網(wǎng)絡。
局部區(qū)域感知能夠發(fā)現(xiàn)數(shù)據(jù)的一些局部特征,比如圖片上的一個角,一段弧,這些基本特征是構成動物視覺的基礎。
CNN中每一層的由多個map組成,每個map由多個神經(jīng)單元組成,同一個map的所有神經(jīng)單元共用一個卷積核(即權重),卷積核往往代表一個特征,比如某個卷積核代表一段弧,那么把這個卷積核在整個圖片上滾一下,卷積值較大的區(qū)域就很有可能是一段弧。注意卷積核其實就是權重,我們并不需要單獨去計算一個卷積,而是一個固定大小的權重矩陣去圖像上匹配時,這個操作與卷積類似,因此我們稱為卷積神經(jīng)網(wǎng)絡,實際上,BP也可以看作一種特殊的卷積神經(jīng)網(wǎng)絡,只是這個卷積核就是某層的所有權重,即感知區(qū)域是整個圖像。權重共享策略減少了需要訓練的參數(shù),使得訓練出來的模型的泛華能力更強。
CNN一般采用卷積層與采樣層交替設置,即一層卷積層接一層采樣層,采樣層后接一層卷積...這樣卷積層提取出特征,再進行組合形成更抽象的特征,最后形成對圖片對象的描述特征,CNN后面還可以跟全連接層,全連接層跟BP一樣。
CNN的最大特點就是稀疏連接(局部感受)和權值共享。稀疏連接和權值共享可以減少所要訓練的參數(shù),減少計算復雜度。
卷積神經(jīng)網(wǎng)絡是一個多層的神經(jīng)網(wǎng)絡,每層由多個二維平面組成,而每個平面由多個獨立神經(jīng)元組成。
卷積網(wǎng)絡在本質上是一種輸入到輸出的映射,它能夠學習大量的輸入與輸出之間的映射關系,而不需要任何輸入和輸出之間的精確的數(shù)學表達式,只要用已知的模式對卷積網(wǎng)絡加以訓練,網(wǎng)絡就具有輸入輸出對之間的映射能力。卷積網(wǎng)絡執(zhí)行的是有導師訓練,所以其樣本集是由形如:(輸入向量,理想輸出向量)的向量對構成的。所有這些向量對,都應該是來源于網(wǎng)絡即將模擬的系統(tǒng)的實際“運行”結果。它們可以是從實際運行系統(tǒng)中采集來的。在開始訓練前,所有的權都應該用一些不同的小隨機數(shù)進行初始化?!靶‰S機數(shù)”用來保證網(wǎng)絡不會因權值過大而進入飽和狀態(tài),從而導致訓練失敗;“不同”用來保證網(wǎng)絡可以正常地學習。實際上,如果用相同的數(shù)去初始化權矩陣,則網(wǎng)絡無能力學習。訓練算法與傳統(tǒng)的BP算法差不多。
電子發(fā)燒友App












評論