卷積神經網絡(二)—— 所謂卷積神經網絡

CNN相比與傳統的NN最大的區別在於其所擁有的卷積層和pool層(池化層或者說下采樣層)。其卷積運算通過三個重要的思想來幫助改進機器學習系統:稀疏交互、參數共享和變等表示。

以下介紹CNN特有及重要的幾個部分:卷積層、池化層、Padding操作和Flatten:

1. 卷積層

卷積層:具體原理可參考《深度學習》P202。個人的理解,卷積就是局部的加權平均,將本來離散的信息集中起來,同時因爲參數共享的原因,所以比起傳統的NN減少了需要更新的權值量。卷積層的重點在於:filter 和 padding。

一、filter:也就是加權所使用的權值

二、padding:就是在filter滑動時有時遇到不能剛好池化時需要使用的技巧。有SAME和VALID這兩種模式:



2. 池化層

池化,簡言之,即取區域平均值、最大值或者其他方式



3. Flatten操作

這個操作簡單來說就是將寫成矩陣形式的數據變成向量形式,就好像將數據拉直一樣。


4. 卷積神經網絡的keras實現

keras不是最好的框架,更不是最有效率的框架,但它一定是最好懂的框架。並不建議專門學keras,但是,在入門時用keras搭個神經網絡還是很有成就感的。

參考:

  1. 李宏毅深度學習課程