卷积神经网络理解
定義
卷積神經網絡用于計算機視覺,也就是計算機圖像(視頻,文本,音頻等),比如,人臉識別,自動駕駛。
卷積神經網絡相當于一個函數,黑盒(接下來破解這個黑盒),有輸入和輸出
運算步驟
1.卷積運算
通過合適的卷積核(濾波器)對原圖像進行卷積運算,得到新的Feature Map,下圖中使用從左上到右下的卷積核,在對原圖進行卷積運算時,最后的結果中可以明顯看出1.00的位置是符合現實的。
以此類推,使用中間的3維矩陣和從左下到右上的3維矩陣即可得到3個Feature Map。
2.池化
因為現實世界中數據很多,如果每個都進行卷積運算后會得到很多數據,不利于系統的反應,所以加入池化(Pooling),使數據量在減小的時候,也不會順勢數據。
一般使用Max Pooling.
因為圖像的邊緣也充滿了特征,所以引入Padding(填充),用來保存邊緣數據。
3.激活函數
一方面,有利于矩陣計算,另一方面,對后面的梯度下降也是有好處的。
4.全連接層
和前面的每一個神經元都進行連接的。
把Pooling的結果按一維矩陣的形式排排坐。
需要通過訓練得到的
權重如何選擇,以及卷積核如何選擇?
答案是需要訓練。
ImageNet網站進行數據訓練的數據來源
在這個過程中,進行損失函數的計算,不斷正向反向傳播,來不斷減小所有需要的參數。使得損失函數最小。
使用梯度下降方法!
5.超參數的設定
只需要使用已經撘好的、成熟的框架即可。例如VGG16等。
總結
- 上一篇: 所见即所得的html制作,做一个所见即所
- 下一篇: CNN卷积神经网络十二生肖识别项目(一)