深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-01-CNN基础知识点
生活随笔
收集整理的這篇文章主要介紹了
深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-01-CNN基础知识点
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
轉(zhuǎn)載自:http://blog.csdn.net/niuwei22007/article/details/47399913
《CNN基礎(chǔ)知識點》From:Convolutional Neural Networks (LeNet)
原文鏈接可以查看更多信息:http://blog.csdn.net/niuwei22007/article/details/47399913
卷積神經(jīng)網(wǎng)絡(luò)是受生物靈感的多層感知機的變體。從Hubel和Wiesel的早期對貓的視覺皮層的研究工作中得出,視覺皮層包含一組復(fù)雜的細胞排列。這些細胞會對很小的子區(qū)域敏感,稱作Receptive Field(感受野細胞)。根據(jù)這個概念提出了神經(jīng)認(rèn)知機。它的主要作用就是Recept部分圖像信息(或特征),然后通過分層局部相連,將各個局部特征組合成整個圖像特征。 需要仔細閱讀的論文包括:?
(1)?第一篇關(guān)于感受野功能的論文Receptive fields and functional architecture of monkey striate cortex,1968?
(2)?the NeoCognitron?A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position,1980?
(3)?HMAX?Robust object recog-nition with cortex-like mechanisms,2007?
(4)?非常重要的LeNet-5?Gradient-based learning applied to document recognition,1998?
CNN層與層之間的連接并不全是全連接,而是局部連接,它的作用就是大幅度減少參數(shù)。?
圖1 層間連接示意圖
在CNNs中,每一種過濾器都可以通過重復(fù)堆疊而覆蓋整個視野。這種堆疊就是復(fù)制自己,因此它們的單元共享同一個權(quán)值和偏置值,從而形成一張?zhí)卣鲌D。?
?
圖2中m層是由3個隱層單元構(gòu)成的一張?zhí)卣鲌D。相同顏色的權(quán)值是共享的。梯度下降法仍然可以用來訓(xùn)練它們所共享的參數(shù),不過需要在原算法基礎(chǔ)上進行小的改動。共享權(quán)值的梯度就是簡單的對每個共享參數(shù)的梯度求和得到。?
圖2 權(quán)值共享圖
為了更豐富的表示數(shù)據(jù)特征,每個隱藏層會包含多個特征圖。?
定義?hk代表某層的第k個特征圖。?
公式?hkij=tanh((Wk?x)ij+bk)?用來計算hk?;其中?是卷積操作。?
以上公式是如何計算特征圖的呢?是通過針對整個圖像中不同的子區(qū)域數(shù)據(jù),重復(fù)的調(diào)用同一個函數(shù),最終覆蓋整幅圖像時,就得到了一張?zhí)卣鲌D。換句話說,就是用帶有偏置項(bk)的線性濾波器(Wk)與輸入圖像(x)進行卷積運算(?),再將結(jié)果通過一個非線性函數(shù)(tanh)所得到的結(jié)果(hk)。?
圖3 舉例,一層中含4個特征圖
圖3中的CNN含有2層,m?1層包含4個特征圖,m層包含2個特征圖,記為h0和h1,h0和h1是由不同的卷積核在前一層所有map上作卷積并將對應(yīng)元素累加后加一個偏置,再求sigmod得到的(假設(shè)m與m-1層全連接,則m層共有4*2=8個卷積核)。其中,h0和h1的權(quán)值W0和W1是一個3維張量,第一維表示前一層特征圖的下標(biāo),后兩維表示該特征圖的坐標(biāo)。綜合起來,Wklij表示m層第k個特征圖的每一個像素點的權(quán)重與m?1層第l個特征圖的(i,j)像素點的權(quán)重相連接。?
用的是著名的Python庫Theano. ConvOp。具體如何使用及運行效果,見我的另外一篇博客Python之Theano.ConvOp,講的很詳細。?
CNN中另外一個很重的概念就是最大池化。它是一種非線性的下采樣(個人理解其作用類似于降維)方法。最大池化把輸入圖像劃分不相重疊的圖像矩陣塊,每一個子區(qū)域輸出其最大值。最大池化方法在視覺處理問題中非常有效的兩個原因是:?
(1) 通過減少非最大值來降低對上層的計算復(fù)雜度。?
(2) 池化結(jié)果支持平移不變性。在卷積層中,每個像素點有8個方向可以平移。當(dāng)最大池化窗口為2?2區(qū)域時,其中有3個方向會產(chǎn)生相同結(jié)果;當(dāng)最大池化窗口為3?3區(qū)域時,則會有5個方向會產(chǎn)生相同的結(jié)果。?
在Theano中的應(yīng)用舉例就不介紹了。?
至此,CNN的基本知識點基本介紹完畢。下一節(jié)學(xué)習(xí)一個完整的CNN模型–LeNet
參考資料?
(1)?http://deeplearning.net/tutorial/lenet.html?
(2)?Deep Learning(深度學(xué)習(xí))學(xué)習(xí)筆記整理系列之(七)?
(3)?Deep learning with Theano 官方中文教程(翻譯)(四)—— 卷積神經(jīng)網(wǎng)絡(luò)(CNN)
總結(jié)
以上是生活随笔為你收集整理的深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-01-CNN基础知识点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三种权重的初始化方法
- 下一篇: 深度学习(DL)与卷积神经网络(CNN)