CNN初步認識(局部感知、權值共享)


  • CNN是深度學習在圖像領域的一個應用。那么它相對於原來的神經網絡方法有什么不同?為什么它適用於圖像領域?

原來:全連接神經網絡

需要的參數過多,例如1000*1000的圖像,則輸入層有10^6個節點,若隱藏層也有10^6個節點,則輸入層到隱藏層的參數有10^12個。

CNN:局部感知、權值共享

CNN用局部感知和權值共享大大減少了參數,同時還具備其它優點。它們與自然圖像自身具有的特性:特征的局部性與重復性完美貼合。

局部感知:

(是什么)即網絡部分連通,每個神經元只與上一層的部分神經元相連,只感知局部,而不是整幅圖像。(滑窗實現)

(可行性)局部像素關系緊密,較遠像素相關性弱。

因此只需要局部感知,在更高層將局部的信息綜合起來就得到了全局的信息。

受啟發於生物視覺系統:局部敏感;對外界認知從局部到全局。

權值共享:

(是什么)從一個局部區域學習到的信息,應用到圖像的其它地方去。即用一個相同的卷積核去卷積整幅圖像,相當於對圖像做一個全圖濾波。一個卷積核對應的特征比如是邊緣,那么用該卷積核去對圖像做全圖濾波,即是將圖像各個位置的邊緣都濾出來。(幫助實現不變性)。不同的特征靠多個不同的卷積核實現。

(可行性)圖像的局部統計特征在整幅圖像上具有重復性(即位置無關性)。即如果圖像中存在某個基本圖形,該基本圖形可能出現在任意位置,那么不同位置共享相同權值可實現在數據的不同位置檢測相同的模式。比如我們在第一個窗口卷積后得到的特征是邊緣,那么這個卷積核對應的就是邊緣特征的提取方式,那么我們就可以用這個卷積核去提取其它區域的邊緣特征。

 

  • CNN為什么具有仿射不變性(平移、縮放、旋轉等線性變換)?

局部感知、權值共享、池化共同影響形成。

1)局部感知和權值共享,使得CNN能夠在淺層學到比較基礎的特征,比如點、線、邊緣,高層特征是這些基礎淺層特征的組合,即使發生仿射變化,這些基礎的特征依然不變,因此最后的識別結果不受到影響。

用具體的人臉識別的例子來說,到高層時,CNN將這些淺層基礎特征組成成更高級的特征,比如人的眼睛、鼻子等,直到全連接層將這種兩個眼睛一個鼻子的組合識別為人臉。因此,即使對圖像進行平移、縮放、旋轉,在淺層依舊能提取出點、線、邊緣等基礎特征,到高層就能將它們組合成眼睛鼻子,從而最終依舊能被識別為人臉。(一個說法是,平移旋轉后的圖像到高層對應的特征圖一定程度上也是平移旋轉后的。過多的平移旋轉,最終可能影響到圖像的識別,因此更鼓勵用data augmentation來實現對旋轉的魯棒。)

2)池化,比如max pooling,它是取一個區域的最大值。因此當圖像發生平移、縮放、旋轉等較小的變化時,依然很有可能在同一位置取到最大值,與變化前的響應相同,由此實現了仿射不變性。average pooling同理,發生較小的仿射變化后,均值可能依然不變。

3)但上述對CNN仿射不變性的解釋,都建立在“發生較小的仿射變化”這樣的約束上,當發生較大的仿射變化后,可能對CNN的識別結果造成影響。因此,鼓勵獲取更加豐富的訓練樣本(進行data augmentation)使得CNN在應用時對新樣本有較好的魯棒性。

 

參考:

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

http://blog.csdn.net/zouxy09/article/details/8781543/

http://blog.csdn.net/yeeman/article/details/6325693

http://dataunion.org/11692.html

http://www.voidcn.com/article/p-ahduptmb-dx.html CNN十大問

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM