CNN-卷積神經網絡

人工全連接網絡

CNN相較人工全連接網絡:

1、卷積層的神經元只與前一層的部分神經元鏈接

2、同一層中的某些神經元之間連接的權重w和偏移b可以共享

 

爲什麼在圖像處理中要使用CNN:

          全連接層的方式對於圖像數據來說似乎顯得不這麼友好,因爲圖像本身具有“二維空間特徵”,通俗點說就是局部特性。譬如我們看一張貓的圖片,可能看到貓的眼鏡或者嘴巴就知道這是張貓片,而不需要說每個部分都看完了才知道,啊,原來這個是貓啊。所以如果我們可以用某種方式對一張圖片的某個典型特徵識別,那麼這張圖片的類別也就知道了

1、對輸入層進行全連接的話,產生的結果會非常大,不利於計算。

2、某些模式與整個圖片相比,要小很多。比如鳥類的嘴、圍棋的局部等。

3、同樣的模式出現在不同區域。

4、子採樣後不會改變目標物。

 

CNN結構:

輸入層——卷積層——池化層——卷積——池化……——全連接層——輸出層

 

輸入層

保留了圖片本身的結構,對於黑白28*28的圖片,輸入的是28*28的二維神經元矩陣;對於28*28的彩色圖片,輸入的是28*28*3的三維神經元矩陣。

 

 

卷積層

local receptive fileds(感受視野)/filter/卷積核/權重w:是個矩陣

hidden layer(隱藏層):經過filter掃描後生成的下一層

stride:步長,filter每一次的移動距離

padding:填充,湊整用

 

 

經filter掃描一遍後可發現,每一次的神經元只與上一層的部分神經元相連。

一個filter掃描生成的下一層神經元矩陣稱爲一個feature map。同一個filter掃描生成的feature map上,所有的神經元共享權值。

 

一般會有多個filter,生成多層feature map。feature map尺寸計算方法:

P=(K-1)/2

O=(W-K+2P)/S +1

P爲填充值,K爲filter尺寸,W爲輸入圖片尺寸,S爲步長,O爲輸出尺寸

 

對於28*28的RGB圖片,這時卷積核也有了深度

下一層的神經元值爲=b+∑2d=0∑1i=0∑1j=0wdijxdij,,一個卷積核依然對應一個feature map。

 

池化層

一般採用max-pooling,最大值池化。

壓縮數據和參數,控制過擬合。利用特徵不變性進行特徵降維

 

舉例:

 

激勵層

做非線性映射,提高穩健性。一般採用ReLU函數,不使用sigmoid。

f(x)=max(x,0)

 

全連接層

(Full Connect)一般出現在最後,爲輸出做準備,兩層之間所有神經元都有權重相連,主要對特徵進行重新擬合,減少特徵信息的丟失。

 

 

 

 

 

 

【reference】

http://blog.jobbole.com/109748/

https://blog.csdn.net/cxmscb/article/details/71023576

Deep Learning Tutorial  李宏毅

https://www.cnblogs.com/skyfsm/p/6790245.html

https://www.cnblogs.com/charlotte77/p/7759802.html

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章