卷積神經網絡

近來在瞭解深度學習。深度神經網絡的一大特點就是含有多隱含層。卷積神經網絡(CNN)算是深度神經網的前身了,在手寫數字識別上在90年代初就已經達到了商用的程度。本文中將簡要介紹CNN,由於相應的博文資料已經很多,也寫的很好,本篇最有價值的是參考資料部分。


前向神經網絡數字識別

假設我們的圖片是28*28像素的,使用最簡單的神經網絡進行識別,如圖1

圖1

輸入層是像素值(一般使用黑白二進制),輸出層是10個數字,隱含層的層數和節點書可以調整,圖1只是示意。

這樣的神經網絡模型是可行的,但效果不會非常好,其存在以下問題:

1. 一般要得到較好的訓練效果,隱層數目不能太少,當圖片大的時候,需要的權值會非常多!

2. 對平移、尺度變化敏感(比如數字偏左上角,右下角時即識別失敗)

3. 圖片在相鄰區域是相關的,而這種網絡只是一股腦把所有像素扔進去,沒有考慮圖片相關性。


卷積神經網絡(CNN)

CNN通過local receptive fields(感受野),shared weights(共享權值),sub-sampling(下采樣)概念來解決上述三個問題【2】。

LeNet-5是一個數字手寫系統,其結構圖如下,是一個多層結構

圖2

這個圖在各種資料裏出現的非常多,在此偷個懶,不詳細解釋了。對此圖最詳細的說明請見【2】。

有一點要特別容易理解出錯:權值共享不是5*5小塊內的權值一樣。5*5小塊有25個不同權值,其作爲一個濾波器,像抹窗戶一樣遍歷整個圖片。


推薦讀物

【1】http://blog.csdn.net/zouxy09/article/details/8781543 (我的小夥伴的博文,非常適合作爲入門級讀物,他的一系列博客都很好)

【2】Gradient-Based Learning Applied to Document Recognition (極好的文!尤其是p5-p9,一定要細看,反覆琢磨。把LeNet-5的來龍去脈講得清清楚楚)

【3】http://yann.lecun.com/exdb/lenet/index.html (Yann LeCunn實現的CNN演示,以動畫的形式演示了位移、加噪、旋轉、壓縮等識別,最有價值的是把隱層用圖像顯示出來了,很生動形象)

【4】http://blog.csdn.net/celerychen2009/article/details/8973218 (一位網友的博客,基本上是對【2】的通俗講解)

【5】http://www.cnblogs.com/tornadomeet/archive/2013/04/09/3009830.html (一位網友的仿真實驗,有助於理解,他的一系列博客都很注重實驗)

http://www.codeproject.com/Articles/16650/Neural-Network-for-Recognition-of-Handwritten-Digi (一位外國網友自己實現的CNN,重構LeCunn的實驗)

【6】Receptive fields, binocular interaction and functional architecture in the cat's visual cortex (1963年的文章,貓的局部感受野的生理學基礎,從生理學上支持CNN是有效的,很長,我只略掃了一眼)


轉自:http://www.xuebuyuan.com/2138826.html


此外,這一篇Blog的CNN也值得關注

http://blog.csdn.net/stdcoutzyx/article/details/41596663

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