CNN相比與傳統(tǒng)的NN最大的區(qū)別在于其所擁有的卷積層和pool層(池化層或者說下采樣層)步脓。其卷積運(yùn)算通過三個(gè)重要的思想來幫助改進(jìn)機(jī)器學(xué)習(xí)系統(tǒng):稀疏交互穴张、參數(shù)共享和變等表示。
以下介紹CNN特有及重要的幾個(gè)部分:卷積層、池化層砰蠢、Padding操作和Flatten:
1. 卷積層
卷積層:具體原理可參考《深度學(xué)習(xí)》P202辨泳。個(gè)人的理解虱岂,卷積就是局部的加權(quán)平均,將本來離散的信息集中起來菠红,同時(shí)因?yàn)閰?shù)共享的原因第岖,所以比起傳統(tǒng)的NN減少了需要更新的權(quán)值量。卷積層的重點(diǎn)在于:filter 和 padding试溯。
一蔑滓、filter:也就是加權(quán)所使用的權(quán)值
二、padding:就是在filter滑動(dòng)時(shí)有時(shí)遇到不能剛好池化時(shí)需要使用的技巧。有SAME和VALID這兩種模式:
2. 池化層
池化键袱,簡言之燎窘,即取區(qū)域平均值、最大值或者其他方式
3. Flatten操作
這個(gè)操作簡單來說就是將寫成矩陣形式的數(shù)據(jù)變成向量形式蹄咖,就好像將數(shù)據(jù)拉直一樣荠耽。
4. 卷積神經(jīng)網(wǎng)絡(luò)的keras實(shí)現(xiàn)
keras不是最好的框架,更不是最有效率的框架比藻,但它一定是最好懂的框架铝量。并不建議專門學(xué)keras,但是银亲,在入門時(shí)用keras搭個(gè)神經(jīng)網(wǎng)絡(luò)還是很有成就感的慢叨。
參考:
- 李宏毅深度學(xué)習(xí)課程