二、卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
卷積神經(jīng)網(wǎng)絡(luò)整體架構(gòu):卷積神經(jīng)網(wǎng)絡(luò)是一種多層的監(jiān)督學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),隱含層的卷積層和池采樣層是實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)特征提取功能的核心模塊。該網(wǎng)絡(luò)模型通過(guò)采用梯度下降法最小化損失函數(shù)對(duì)網(wǎng)絡(luò)中的權(quán)重參數(shù)逐層反向調(diào)節(jié),通過(guò)頻繁的迭代訓(xùn)練提高網(wǎng)絡(luò)的精度。卷積神經(jīng)網(wǎng)絡(luò)的低隱層是由卷積層和最大池采樣層交替組成,高層是全連接層對(duì)應(yīng)傳統(tǒng)多層感知器的隱含層和邏輯回歸分類器。第一個(gè)全連接層的輸入是由卷積層和子采樣層進(jìn)行特征提取得到的特征圖像。最后一層輸出層是一個(gè)分類器,可以采用邏輯回歸,Softmax回歸甚至是支持向量機(jī)對(duì)輸入圖像進(jìn)行分類。
卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)包括:卷積層,降采樣層,全鏈接層。每一層有多個(gè)特征圖,每個(gè)特征圖通過(guò)一種卷積濾波器提取輸入的一種特征,每個(gè)特征圖有多個(gè)神經(jīng)元。
卷積層:使用卷積層的原因是卷積運(yùn)算的一個(gè)重要特點(diǎn)是,通過(guò)卷積運(yùn)算,可以使原信號(hào)特征增強(qiáng),并且降低噪音。
降采樣層:使用降采樣的原因是,根據(jù)圖像局部相關(guān)性的原理,對(duì)圖像進(jìn)行子采樣可以減少計(jì)算量,同時(shí)保持圖像旋轉(zhuǎn)不變性。
采樣的目的主要是混淆特征的具體位置,因?yàn)槟硞€(gè)特征找出來(lái)后,它的具體位置已經(jīng)不重要了,我們只需要這個(gè)特征與其他的相對(duì)位置,比如一個(gè)“8”,當(dāng)我們得到了上面一個(gè)"o"時(shí),我們不需要知道它在圖像的具體位置,只需要知道它下面又是一個(gè)“o”我們就可以知道是一個(gè)'8'了,因?yàn)閳D片中"8"在圖片中偏左或者偏右都不影響我們認(rèn)識(shí)它,這種混淆具體位置的策略能對(duì)變形和扭曲的圖片進(jìn)行識(shí)別。
全連接層:采用softmax全連接,得到的激活值即卷積神經(jīng)網(wǎng)絡(luò)提取到的圖片特征。
卷積層的map個(gè)數(shù)是在網(wǎng)絡(luò)初始化指定的,而卷積層的map的大小是由卷積核和上一層輸入map的大小決定的,假設(shè)上一層的map大小是n*n、卷積核的大小是k*k,則該層的map大小是(n-k+1)*(n-k+1)。
采樣層是對(duì)上一層map的一個(gè)采樣處理,這里的采樣方式是對(duì)上一層map的相鄰小區(qū)域進(jìn)行聚合統(tǒng)計(jì),區(qū)域大小為scale*scale,有些實(shí)現(xiàn)是取小區(qū)域的最大值,而ToolBox里面的實(shí)現(xiàn)是采用2*2小區(qū)域的均值。注意,卷積的計(jì)算窗口是有重疊的,而采樣的計(jì)算窗口沒(méi)有重疊,ToolBox里面計(jì)算采樣也是用卷積(conv2(A,K,'valid'))來(lái)實(shí)現(xiàn)的,卷積核是2*2,每個(gè)元素都是1/4,去掉計(jì)算得到的卷積結(jié)果中有重疊的部分。
CNN的基本結(jié)構(gòu)包括兩種特殊的神經(jīng)元層,其一為卷積層,每個(gè)神經(jīng)元的輸入與前一層的局部相連,并提取該局部的特征;其二是池化層,用來(lái)求局部敏感性與二次特征提取的計(jì)算層。這種兩次特征提取結(jié)構(gòu)減少了特征分辨率,減少了需要優(yōu)化的參數(shù)數(shù)目。
CNN是部分連接網(wǎng)絡(luò),其最底層是特征提取層(卷積層),接著是池化層(Pooling),然后可以繼續(xù)增加卷積、池化或全連接層。用于模式分類的CNN,通常在最后層使用softmax.
一般情況下,CNN的結(jié)構(gòu)形式是:輸入層--> Conv層 --> Pooling層 --> (重復(fù)Conv、Pooling層) … --> FC(Full-connected)層 --> 輸出結(jié)果。通常輸入層大小一般為2的整數(shù)倍,如32,64,96,224,384等。通常卷積層使用較小的filter,如3*3,最大也就5*5。Pooling層用于對(duì)卷積結(jié)果進(jìn)行降低維度,例如選擇2*2的區(qū)域?qū)矸e層進(jìn)行降低維度,則選擇2*2區(qū)域的最大值作為輸出,這樣卷積層的維度就降為之前一半。
一般地,CNN的基本結(jié)構(gòu)包括兩層,其一為特征提取層,每個(gè)神經(jīng)元的輸入與前一層的局部接受域相連,并提取該局部的特征。一旦該局部特征被提取后,它與其它特征間的位置關(guān)系也隨之確定下來(lái);其二是特征映射層,網(wǎng)絡(luò)的每個(gè)計(jì)算層由多個(gè)特征映射組成,每個(gè)特征映射是一個(gè)平面,平面上所有神經(jīng)元的權(quán)值相等。特征映射結(jié)構(gòu)采用影響函數(shù)核小的sigmoid函數(shù)作為卷積網(wǎng)絡(luò)的激活函數(shù),使得特征映射具有位移不變性。此外,由于一個(gè)映射面上的神經(jīng)元共享權(quán)值,因而減少了網(wǎng)絡(luò)自由參數(shù)的個(gè)數(shù)。卷積神經(jīng)網(wǎng)絡(luò)中的每一個(gè)卷積層都緊跟著一個(gè)用來(lái)求局部平均與二次提取的計(jì)算層,這種特有的兩次特征提取結(jié)構(gòu)減小了特征分辨率。
對(duì)于圖像識(shí)別任務(wù),卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)一般如下圖所示。輸入層讀入經(jīng)過(guò)簡(jiǎn)單的規(guī)則化(統(tǒng)一大小)的圖像。每一層中的單元將前一層中的一組小的局部近鄰的單元作為輸入。這種局部連接觀點(diǎn)來(lái)源于早期的感知器,并且和Hubel、Wiesel從貓科動(dòng)物的視覺(jué)系統(tǒng)中發(fā)現(xiàn)的局部感知、方向選擇神經(jīng)元相一致。通過(guò)局部感知場(chǎng),神經(jīng)元能夠抽取一些基本的視覺(jué)特征,比如有向邊、結(jié)束點(diǎn)、邊角等等。這些特征然后被更高層的神經(jīng)元所使用。并且,適用于某個(gè)局部的基礎(chǔ)特征抽取器同樣也傾向于適用于整個(gè)圖像。通過(guò)利用這種特征,卷積神經(jīng)網(wǎng)絡(luò)利用一組分布于圖像各個(gè)不同位置但具有相同權(quán)值向量的單元,來(lái)獲取圖像的特征并構(gòu)成一幅特征圖(Feature Map)。在每個(gè)位置,來(lái)自不同特征圖的單元得到各自不同類型的特征。一個(gè)特征圖中的不同單元被限制為對(duì)輸入圖中的各個(gè)不同位置的局部數(shù)據(jù)進(jìn)行同樣的操作。這種操作等同于將輸入圖像對(duì)于一個(gè)小的核進(jìn)行卷積。一個(gè)卷積層中通常包含多個(gè)具有不同權(quán)值向量的特征圖,使得在同一個(gè)位置能夠獲得多種不同的特征。如下圖,第一個(gè)隱含層包含4個(gè)特征圖,每個(gè)特征圖由5*5的局部感知區(qū)域構(gòu)成。一旦一個(gè)特征被檢測(cè)到,只要其相對(duì)于其他特征的相對(duì)位置沒(méi)有改變,那么其在圖像中的絕對(duì)位置就變得不是特別重要。因此,每個(gè)卷積層后面跟隨著一個(gè)降采樣層。降采樣層進(jìn)行局部平均和降采樣的操作,降低特征圖的分辨率,同時(shí)降低了網(wǎng)絡(luò)輸出對(duì)于位移和變形的敏感程度。第二個(gè)隱含層進(jìn)行2*2的平均化降采樣的操作。后續(xù)的卷積層和降采樣層都交替分布連接,構(gòu)成一個(gè)“雙金字塔”結(jié)構(gòu):特征圖的數(shù)目逐漸增多,而且特征圖的分辨率逐漸降低。

?
由于所有權(quán)重都是通過(guò)反向傳播算法訓(xùn)練得到 ,卷積神經(jīng)網(wǎng)絡(luò)可以被看作自動(dòng)合成其自身的特征抽取器。
一般情況下卷積神經(jīng)網(wǎng)絡(luò)中,卷積層和降采樣層交替連接在一起,用于降低計(jì)算時(shí)間并逐步建立起更高的空間和數(shù)據(jù)結(jié)構(gòu)不變性,并通過(guò)比較小的降采樣系數(shù)使得這些特性得以維持。
CNN的分類模型與傳統(tǒng)模型的不同點(diǎn)在于其可以直接將一幅二維圖像輸入模型中,接著在輸出端即給出分類結(jié)果。其優(yōu)勢(shì)在于不需復(fù)雜的預(yù)處理,將特征抽取,模式分類完全放入一個(gè)黑匣子中,通過(guò)不斷的優(yōu)化來(lái)獲得網(wǎng)絡(luò)所需參數(shù),在輸出層給出所需分類,網(wǎng)絡(luò)核心就是網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計(jì)與網(wǎng)絡(luò)的求解。這種求解結(jié)構(gòu)比以往多種算法性能更高。
CNN是一個(gè)多層的神經(jīng)網(wǎng)絡(luò),每層由多個(gè)二維平面組成,而每個(gè)平面由多個(gè)獨(dú)立神經(jīng)元組成。網(wǎng)絡(luò)中包含簡(jiǎn)單元(S-元)和復(fù)雜元(C-元),S-元聚合在一起組成S-面,S-面聚合在一起組成S-層。C-元、C-面和C-層之間存在類似的關(guān)系。網(wǎng)絡(luò)的中間部分由S-層與C-層串接而成,輸入級(jí)只含一層,它直接接受二維視覺(jué)模式。樣本特征提取步驟已嵌入到卷積神經(jīng)網(wǎng)絡(luò)模型的互聯(lián)結(jié)構(gòu)中。
一般,S為特征提取層,每個(gè)神經(jīng)元的輸入與前一層的局部感受野相連接,并提取該局部的特征,一旦該局部特征被提取,它與其它特征之間的位置關(guān)系就被確定;C是特征映射層,網(wǎng)絡(luò)的每個(gè)計(jì)算層由多個(gè)特征映射組成,每個(gè)特征映射為一個(gè)平面,平面上所有神經(jīng)元的權(quán)值相同。特征映射結(jié)構(gòu)采用影響函數(shù)核小的Sigmoid函數(shù)作為卷積網(wǎng)絡(luò)的激活函數(shù),使得特征映射具有位移不變性。由于每個(gè)映射面上的神經(jīng)元權(quán)值共享,減少了網(wǎng)絡(luò)的自由參數(shù)數(shù)目,降低了網(wǎng)絡(luò)參數(shù)選擇的復(fù)雜度。CNN中的每一個(gè)特征提取層(S-層)都跟著一個(gè)用來(lái)求局部平均與二次提取的計(jì)算層(C-層),這種特有的兩次特征提取結(jié)構(gòu)使網(wǎng)絡(luò)在識(shí)別時(shí)對(duì)輸入樣本有較高的畸變?nèi)萑棠芰Α?/p>
CNN網(wǎng)絡(luò)除了輸入輸出層,還有中間的卷積層,抽樣層與全連接層,將原始圖像直接輸入到輸入層,原始圖像的大小決定了輸入向量的尺寸,神經(jīng)元提取圖像的局部特征,每個(gè)神經(jīng)元都與前一層的局部感受野相連,通過(guò)交替出現(xiàn)的抽樣層(S)與卷積層(C)和最后的全連接層,在輸出層給出網(wǎng)絡(luò)的輸出。在卷積層和抽樣層中有若干個(gè)特征圖,每一層有多個(gè)平面,每層中各平面的神經(jīng)元提取圖像中特定區(qū)域的局部特征,如邊緣特征,方向特征等,在訓(xùn)練時(shí)不斷修正S-層神經(jīng)元的權(quán)值。同一層面上的神經(jīng)元權(quán)值相同,這樣可以有相同程度的位移、旋轉(zhuǎn)不變性。由于權(quán)值共享,所以從一個(gè)平面到下個(gè)平面的映射可以看做是作卷積運(yùn)算,S-層可看作是模糊濾波器,起到二次特征提取的作用。隱層與隱層之間空間分辨率遞減,每層所含的平面數(shù)遞增,這樣可用于檢測(cè)更多的特征信息。
卷積層中,前一層的特征圖與一個(gè)可學(xué)習(xí)的核進(jìn)行卷積,卷積的結(jié)果經(jīng)過(guò)激活函數(shù)后的輸出形成這一層的神經(jīng)元,從而構(gòu)成該層特征圖。卷積層與抽樣層間隔出現(xiàn),卷積層每一個(gè)輸出的特征圖可能與前一層的幾個(gè)特征圖的卷積建立關(guān)系。每個(gè)特征圖可以有不同的卷積核。卷積層主要的任務(wù)就是從不同的角度來(lái)選擇前一層特征圖的各角度特征使其具有位移不變性。卷積的本質(zhì)就是對(duì)前一層的特征圖進(jìn)行處理,來(lái)得到這一層的特征圖。抽樣層主要作用是降低網(wǎng)絡(luò)的空間分辨率,通過(guò)降低圖像的空間分辨率來(lái)消除偏移和圖像的扭曲。
隱層的參數(shù)個(gè)數(shù)和隱層的神經(jīng)元個(gè)數(shù)無(wú)關(guān),只和濾波器的大小和濾波器種類的多少有關(guān)。隱層的神經(jīng)元個(gè)數(shù),它和原圖像,也就是輸入的大?。ㄉ窠?jīng)元個(gè)數(shù))、濾波器的大小和濾波器在圖像中的滑動(dòng)步長(zhǎng)都有關(guān)。
電子發(fā)燒友App












評(píng)論