卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)由輸入層、卷積神經(jīng)層(Convolutional Layer)、下采樣層(Pooling Layer)、全連接層(Fully Connected Network)及輸出層構(gòu)成[20]。其中卷積神經(jīng)網(wǎng)絡(luò)層、下采樣層、全連接被合稱為隱含層。
在卷積神經(jīng)網(wǎng)絡(luò)中,卷積神經(jīng)層與下采樣層的連接方式是局部連接的形式,即每層的神經(jīng)元只連接輸入層中的跟它相近的幾個(gè)節(jié)點(diǎn)。而全連接層中采用的是全連接的方式,即每一個(gè)神經(jīng)元與輸入層中的所有節(jié)點(diǎn)連接。
1 卷積神經(jīng)層(Convolutional Layer)
卷積神經(jīng)層(Convolutional Layer)由多個(gè)特征面(Feature Map)構(gòu)成,每一個(gè)特征面則是由很多個(gè)神經(jīng)元構(gòu)成的[22]。神經(jīng)元包含兩個(gè)計(jì)量單位,一個(gè)是輸入x,一個(gè)是權(quán)值w。輸入數(shù)據(jù)x與權(quán)值w相乘得到其加權(quán)和e,然后在通過激活函數(shù)f(e)獲得該神經(jīng)元的輸出,也就是特征。如下圖。
圖1-1神經(jīng)元
常見的激活函數(shù)有Rectified Linear Unit(ReLU)函數(shù)、Sigmoid函數(shù)以及Softmax函數(shù)。其中ReLU函數(shù)是一種常見的激活函數(shù)[22]。與傳統(tǒng)的激活函數(shù)相比,ReLU函數(shù)能夠在大量的數(shù)據(jù)的情況下,依然能夠保持良好的效果。它的運(yùn)算速度也比傳統(tǒng)函數(shù)要快。它利用簡(jiǎn)單地閾值化就可以達(dá)到參數(shù)稀疏化的目的。但是,ReLU函數(shù)的一個(gè)缺點(diǎn)是它的神經(jīng)元在訓(xùn)練的時(shí)候,可能會(huì)死亡,導(dǎo)致該單元無法激活數(shù)據(jù)點(diǎn)。ReLU函數(shù)的計(jì)算公式如下:ReLU:f(x)=max(0,x) 該公式表示,如果輸入的數(shù)據(jù)大于0,那么就把輸入的數(shù)據(jù)作為輸出的數(shù)據(jù)輸出,否則就輸出0。通過使用ReLU函數(shù),我們可以保證輸出的數(shù)據(jù)不會(huì)因?yàn)檩斎霐?shù)據(jù)的增加而接近飽和。另外一些常用的激活函數(shù)有Sigmoid函數(shù)、Tanh函數(shù)、以及以ReLU為基礎(chǔ)改進(jìn)而來的LRelu函數(shù)和Prelu函數(shù)。
在卷積神經(jīng)網(wǎng)絡(luò)層中,神經(jīng)網(wǎng)絡(luò)通過卷積核來獲取提取特征。在每一層中可以使用多個(gè)卷積核進(jìn)行特征提取,每一個(gè)卷積核提取一種特征。一般而言,卷積層的層次越高,提取的特征也越接近事物本身的特征。卷積核是一個(gè)n×n×r的權(quán)值矩陣。其中n為卷積核的大小,而r為卷積核的深度。如圖1-2是一個(gè)深度為1,大小為2的卷積核,以及深度為2大小為2的卷積核。卷積核的深度與輸入數(shù)據(jù)的深度保持一致。在第一層卷積層中,卷積核的深度應(yīng)該與輸入的圖片的深度保持一致,圖片如果為黑白的圖片,那么他的深度為1,如果圖片為彩色圖片,深度則為3(RGB三個(gè)維度)。而網(wǎng)絡(luò)中的其他卷積層(既不在輸入層之后的卷積層)中卷積核的深度則與上一層卷積核的個(gè)數(shù)保持一致。
圖1-2 卷積核
如圖3-4,深度為1的卷積核卷積了輸入矩陣中的紅色得到了a0這一個(gè)神經(jīng)元。而深度為2的卷積核的卷積過程是:由卷積核的灰色矩陣卷積輸入層的灰色部分,同時(shí)由白色的卷積核卷積的輸入層中的白色部分,這兩部分的值相加進(jìn)過激勵(lì)函數(shù)得到輸出。
卷積核,根據(jù)網(wǎng)絡(luò)設(shè)置的步長(zhǎng)數(shù),對(duì)輸入的特征圖進(jìn)行卷積操作,圖1-3中,卷積核的步長(zhǎng)為1,紅色部分為一次卷積。圖1-3中右邊為步長(zhǎng)為1的一個(gè)卷積過程,而右邊是步長(zhǎng)為2的一個(gè)卷積過程。步長(zhǎng)為1的卷積在輸入矩陣中每完成一次卷積之后,向右或向下移動(dòng)一步,卷積下一個(gè)局部感受野。卷積核的步長(zhǎng)為2時(shí),則移動(dòng)兩步。
圖1-3卷積核的移動(dòng)過程
我們注意到,當(dāng)步長(zhǎng)設(shè)置為1的時(shí)候,輸出的特征矩陣為3*3,而當(dāng)步長(zhǎng)設(shè)置為2的時(shí)候,輸出的特征矩陣為2*2。這表明圖像大小、步幅和卷積后的特征圖的大小是有關(guān)系的。他們之間的關(guān)系為:
其中w2為卷積后的特征圖的寬度,w1為卷積前的特征圖的寬度,F(xiàn)為卷積核的寬度,P為全零填充的數(shù)量,全零填充是指在原始圖像周圍補(bǔ)幾圈0,如果P的值是1,那么就在圖片四周補(bǔ)1圈0。S為步長(zhǎng)。H2是卷積后的特征圖的高度。H1是卷積前圖像的寬度。
在神經(jīng)網(wǎng)絡(luò)中,上一層網(wǎng)絡(luò)的輸出就是下一層網(wǎng)絡(luò)的輸入。在卷積層中,上下兩層的神經(jīng)元通過卷積核進(jìn)行連接。在卷積神經(jīng)網(wǎng)絡(luò)中,上下兩層的神經(jīng)元的連接方式為局部連接,其連接方式如圖1-4所示。在圖中,輸入的是一個(gè)2×2的圖片,深度為1,而卷積核的大小為2×2,深度也為1。通過卷積核進(jìn)行卷積操作,得到的特征圖為a0到a8的一個(gè)輸出矩陣。在圖中的右邊是根據(jù)卷積操作得出的網(wǎng)絡(luò)的連接方式,藍(lán)色的線表示的是w1,紅色的線表示的是w2,綠色的線表示的是w3,而黃色的線表示的是w4??梢钥闯鲈诰矸e層中,下一層的神經(jīng)元并沒有與上一層的節(jié)點(diǎn)全部連接,而是與上一層中的部分神經(jīng)元連接。在網(wǎng)絡(luò)中一個(gè)卷積核連接到的部分被稱為局部感受野,局部感受野的大小和卷積核的大小一致,圖1-4的局部感受野大小為4。局部感受野的優(yōu)點(diǎn)是它減少了訓(xùn)練時(shí)所需要的參數(shù)個(gè)數(shù),降低了訓(xùn)練的復(fù)雜度。
圖1-4卷積層的連接方式
神經(jīng)網(wǎng)絡(luò)的一個(gè)重要的概念就是權(quán)值共享,而實(shí)現(xiàn)權(quán)值共享這一特性,主要是由于卷積核的連接方式。如圖1-4,顏色相同的連接線的權(quán)值是相同的。共享權(quán)值的優(yōu)點(diǎn)是在圖像進(jìn)行特征提取的過程中,可以忽略局部特征所在的位置。相對(duì)于全連接方式,權(quán)值共享降低了網(wǎng)絡(luò)模型參數(shù)的數(shù)量,減少了算法的復(fù)雜度。卷積層中參數(shù)的個(gè)數(shù)=卷積核的個(gè)數(shù)*卷積核的大小*卷積核的深度 卷積核的個(gè)數(shù)(偏置量的個(gè)數(shù))。
2、下采樣層(Pooling Layer)
下采樣層,也可以叫做池化層。下采樣層連接在卷積層之后,也是由多個(gè)特征面構(gòu)成。采樣層中的神經(jīng)元連接了卷積神經(jīng)層的局部感受野。下采樣層把卷積神經(jīng)層的輸出數(shù)據(jù)作為輸入的數(shù)據(jù),通過去除輸入數(shù)據(jù)中的無用信息,減少需要處理的數(shù)據(jù)量,從而提高訓(xùn)練的網(wǎng)絡(luò)速度。這一層的主要功能是通過降低特征圖的維度,來減少特征圖的個(gè)數(shù),達(dá)到減少計(jì)算的復(fù)雜度的目的。
采樣層中,主要操作是池化。池化是一種非線性降采樣方法。最大池化(max-pooling)、均值池化(mean pooling)、隨機(jī)池化(stochastic pooling)等都是常用的池化方法。
一般我們把卷積神經(jīng)層和下采樣層合稱為卷積層。卷積神經(jīng)網(wǎng)絡(luò)中的一個(gè)卷積過程包括了這兩層的運(yùn)算。在卷積神經(jīng)網(wǎng)絡(luò)中包含了多個(gè)卷積層。卷積層與采樣層的連接,如圖1-5所示,輸入數(shù)據(jù)經(jīng)過卷積層的卷積之后,得到卷積層的輸出a0到a8的輸出矩陣,然后傳入下采樣層,下采樣層通過池化操作的到v、x、z、d這四個(gè)節(jié)點(diǎn)。
圖1-5卷積層與下采樣層的連接方式
3 全連接層
在卷積神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)中,至少是有一個(gè)全連接層。全連接層位于所有的卷積層之后,層與層之間的神經(jīng)元采用全連接的方式進(jìn)行連接。全連接層是正規(guī)的神經(jīng)網(wǎng)絡(luò)。全連接層的主要作用是對(duì)卷積層提取出來的特征進(jìn)一步提取出高層次的特征。它通過將卷積層的特征進(jìn)行合并或者取樣,提取出其中的具有區(qū)分性的特征,從而達(dá)到分類的目的。
全連接層與卷積層的區(qū)別第一個(gè)是連接方式的不同。卷積層中采用的是局部連接方式,即一個(gè)節(jié)點(diǎn)和上一層中的部分節(jié)點(diǎn)相連,而全連接層中,該層的每一個(gè)神經(jīng)元與上一層的所有神經(jīng)進(jìn)行連接,如圖1-6。全連接層中權(quán)值是不共享的,每一條線都代表了一個(gè)權(quán)值。而在左邊卷積層的連接方式圖中,顏色相同的連接,參數(shù)相同。我們可以看出相對(duì)于卷積層,全連接層的參數(shù)更多,所以其網(wǎng)絡(luò)的復(fù)雜度也更大。
圖1-6 卷積層與全連接層的連接方式
在全連接層中,常用softmax 邏輯回歸來進(jìn)行分類識(shí)別圖像。softmax 邏輯回歸分類方法主要用于多分類問題。在構(gòu)建分類器的過程中,一般還采用正則化方法來防止訓(xùn)練過擬合,提高分類的性能。
|
|