卷積神經(jīng)網(wǎng)絡(luò)CNN(Convolutional Neural Network)

卷積神經(jīng)網(wǎng)絡(luò)筆記


一、卷積神經(jīng)網(wǎng)絡(luò)的基本卷積運(yùn)算

cnncal.png

上圖計(jì)算過程為,首先我們可以將右邊進(jìn)行卷積的可以稱為過濾器也可以叫做核,覆蓋到左邊第一個(gè)區(qū)域,然后分別按照對應(yīng)位置相乘再相加,3*1+1*1+2*1+0*0+0*0+0*0+1*(-1)+8*(-1)+2*(-1)=-5;
按照上述的計(jì)算方法逐步按右移一個(gè)步長(步長可以設(shè)定為1,2,...等),然后按往下移,逐漸計(jì)算相應(yīng)的值,得出最終的值。

二、卷積網(wǎng)絡(luò)如何進(jìn)行圖像的特征提取

by.png

如上圖顯示,對于第一個(gè)圖像矩陣對應(yīng)的圖,一邊是白色,一邊是黑色,那么中間就會(huì)存在一個(gè)垂直的邊緣,我們可以選擇一個(gè)垂直邊緣檢測過濾器,如乘法右邊的矩陣,那么兩者做卷積后得出的圖會(huì)顯示如等號(hào)右邊的結(jié)果矩陣對應(yīng)的灰度圖中間會(huì)有一個(gè)白色的中間帶,也就是檢測出來的邊緣,那為什么感覺中間邊緣帶會(huì)比較寬呢?而不是很細(xì)的一個(gè)局域呢?原因是我們輸入的圖像只有6*6,過于小了,如果我們選擇輸出更大的尺寸的圖,那么結(jié)果來說就是相對的一個(gè)細(xì)的邊緣檢測帶,也就將我們的垂直邊緣特征提取出來了。
上述都是人工選擇過濾器的參數(shù),隨著神經(jīng)網(wǎng)絡(luò)的發(fā)展我們可以利用反向傳播算法來學(xué)習(xí)過濾器的參數(shù)


paraw.png

我們可以將卷積的顧慮器的數(shù)值變成一個(gè)參數(shù),通過反向傳播算法去學(xué)習(xí),這樣學(xué)到的過濾器或者說卷積核就能夠識(shí)別到很多的特征,而不是依靠手工選擇過濾器。

三、卷積的基本操作

-padding操作,卷積經(jīng)常會(huì)出現(xiàn)兩個(gè)問題:
1.每經(jīng)過一次卷積圖像都會(huì)縮小,如果卷積層很多的話,后面的圖像就縮的很小了;
2.邊緣像素利用次數(shù)只有一次,很明顯少于位于中間的像素,因此會(huì)損失邊緣圖像信息。
為了解決上述的問題,我們可以在圖像邊緣填充像素,也就是padding操作了。

padding.png

如果我們設(shè)置在圖像邊緣填充的像素?cái)?shù)為p,那么經(jīng)過卷積后的圖像是:(n+2p-f+1)x(n+2p-f+1).
如何去選擇p呢
通常有兩種選擇:
-Valid:也就是說不填充操作(no padding),因此如果我們有nxn的圖像,fxf的過濾器,那么我們進(jìn)行卷積nxnfxf=(n-f+1)x(n-f+1)的輸出圖像;
-Same:也就是填充后是輸出圖像的大小的與輸入相同,同樣就有(n+2p)x(n+2p)
fxf=nxn,那么可以算,n+2p-f+1=n,得到p=(f-1)/2。
通常對于過濾器的選擇有一個(gè)默認(rèn)的準(zhǔn)則就是選擇過濾器的尺寸是奇數(shù)的過濾器。
-卷積步長設(shè)置(Strided COnvolution)
卷積步長也就是我們進(jìn)行卷積操作時(shí),過濾器每次移動(dòng)的步長,上面我們介紹的卷積操作步長默認(rèn)都是1,也就是說每次移動(dòng)過濾器時(shí)我們是向右移動(dòng)一格,或者向下移動(dòng)一格。
但是我們可以對卷積進(jìn)行步長的設(shè)置,也就是我們能夠?qū)矸e移動(dòng)的格數(shù)進(jìn)行設(shè)置。同樣假如我們的圖像是nxn,過濾器是fxf,padding設(shè)置是p,步長strided設(shè)置為s,那么我們進(jìn)行卷積操作后輸出的圖像為((n+2p-f)/s+1)x((n+2p-f)/s+1),那么這樣就會(huì)出現(xiàn)一個(gè)問題,如果計(jì)算結(jié)果不是整數(shù)怎么辦?

strided.png

一般是選擇向下取整,也就是說明,只有當(dāng)我們的過濾器完全在圖像上能夠覆蓋時(shí)才對它進(jìn)行計(jì)算,這是一個(gè)慣例。
實(shí)際上上述所述的操作在嚴(yán)格數(shù)學(xué)角度來說不是卷積的定義,卷積的定義上我們計(jì)算的時(shí)候在移動(dòng)步長之前也就是對應(yīng)元素相乘之前是需要對卷積核或者說我們的過濾器進(jìn)行鏡像操作的,經(jīng)過鏡像操作后再把對應(yīng)元素進(jìn)行相乘這才是嚴(yán)格意義上的卷積操作,在數(shù)學(xué)角度上來說這個(gè)操作不算嚴(yán)格的卷積操作應(yīng)該是屬于互相關(guān)操作,但是在深度學(xué)習(xí)領(lǐng)域中,大家按照慣例都省略了反轉(zhuǎn)操作,也把這個(gè)操作叫做卷積操作

四、對三維輸入的圖像進(jìn)行卷積

我們知道彩色圖像有RGB三個(gè)通道,因此對于輸入來說是一個(gè)三維的輸入,那么對三維輸入的圖像如何進(jìn)行卷積操作呢?


立體運(yùn)算.png

例子,如上圖我們輸入圖像假設(shè)為6×6×3,3代表有RGB三個(gè)通道channel,或者可以叫depth深度,過濾器的選擇為3×3×3,其中需要規(guī)定的是,顧慮器的channel必須與輸入圖像的channel相同,長寬沒有限制,那么計(jì)算過程是,我們將過濾器的立體覆蓋在輸入,這樣對應(yīng)的27個(gè)數(shù)對應(yīng)相乘后相加得到一個(gè)數(shù),對應(yīng)到我們的輸出,因此這樣的方式進(jìn)行卷積后我們得出的輸出層為4×4×1。如果我們有多個(gè)過濾器,比如我們分別用兩個(gè)過濾器一個(gè)提取垂直特征,一個(gè)提取水平特征,那么輸出圖4×4×2 。也就是代表我們輸出的深度或者說通道與過濾器的個(gè)數(shù)是相等的。


卷積維數(shù)過程.png

輸出的深度與過濾器或者說卷積核個(gè)數(shù)相等。

五、卷積網(wǎng)絡(luò)的常用表示標(biāo)記

第l層的卷積標(biāo)記如下:


nonation.png

加入我們的過濾器是3×3×3規(guī)格的,如果我們設(shè)定10個(gè)過濾器,那么需要學(xué)習(xí)的參數(shù)總數(shù)為每個(gè)過濾器為27個(gè)參數(shù)然后加上一個(gè)偏差bias那么每個(gè)過濾器的參數(shù)為28個(gè),所以十個(gè)過濾器的參數(shù)為280個(gè)。從這里也就可以看出,不管我們輸入的圖片大小是多大,我們都只需要計(jì)算這些參數(shù),因此參數(shù)共享也就很容易理解了。


para.png

需要學(xué)習(xí)的參數(shù)為權(quán)重與偏差值。

六、卷積網(wǎng)絡(luò)的例子

exam_con.jpg

如上述畫出的計(jì)算過程所示,第一層為我們的輸入層,因此其對應(yīng)為X,然后有圖片大小與通道數(shù),逐步進(jìn)行選擇過濾器規(guī)則與個(gè)數(shù),最后是將特征展開為一個(gè)一維向量,輸入到邏輯斯特回歸或者softmax層進(jìn)行預(yù)測。這個(gè)就是一個(gè)典型的深度的卷積網(wǎng)絡(luò)模型,一般有一個(gè)規(guī)律,就是每一層的輸出值的長與寬的維度會(huì)隨著層數(shù)的增加而減小,但是通道數(shù)則會(huì)增加。
網(wǎng)絡(luò)的設(shè)計(jì)中有很多的超參數(shù),比如過濾器的維數(shù),網(wǎng)絡(luò)的層數(shù),因此有需要我們?nèi)タ唇?jīng)典的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。

七、池化層介紹

為了縮減模型的大小,提高計(jì)算速度,同時(shí)提高所提取特征的魯棒性,我們經(jīng)常會(huì)使用池化層。池化層的計(jì)算方式與卷積類似,只是我們需要對每一個(gè)通道都進(jìn)行池化操作。
池化的方式一般有兩種:Max Pooling和Average Pooling。


Pooling_max.png

上面為Max Pooling,那么計(jì)算方法與卷積類似,首先設(shè)定超參數(shù)比如過濾器的大小與步長,然后覆蓋到對應(yīng)格子上面,用最大值取代其值作為輸出的結(jié)果,例如上圖為過濾器選擇2×2,步長選擇為2,因此輸出就是2×2的維度,每個(gè)輸出格子都是過濾器對應(yīng)維度上輸入的最大值。如果為平均池化,那么就是選擇其間的平均值作為輸出的值。
因此從上面的過程我們看到,通過池化操作能夠縮小模型,同時(shí)能讓特征值更加明顯,也就提高了提取特征的魯棒性。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容