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