第15课:卷积神经网络(CNN)
之前的課程中,我們介紹的都是傳統神經網絡結構,也稱為全連接層神經網絡。傳統神經網絡在許多應用中都有著不錯的表現和性能。但是在某些領域問題中,其性能受限,表現卻并不完美。因此,本文我們將討論一種新的神經網絡結構:卷積神經網絡(Convolutional Neural Networks,CNN)。
為什么選擇 CNN
在機器視覺(Computer Vision,CV)、圖像識別領域,傳統神經網絡結構存在兩個缺點:
輸入層維度過大。例如一張 64x64 的三通道圖片,神經網絡輸入層的維度為 12288。如果圖片尺寸較大,是 1000x1000 的三通道圖片,神經網絡輸入層的維度將達到三百萬,使網絡權重 W 數值非常龐大。這樣會造成兩個后果,一是神經網絡結構復雜,樣本訓練集不夠,容易出現過擬合;二是訓練網絡所需的內存和計算量都十分龐大,模型訓練更加困難。
不符合圖像特征提取的機制。我們知道傳統神經網絡是將二維或者三維(包含 RGB 三通道)圖片拉伸成一維特征,作為神經網絡的輸入層。這種操作實際上是將圖片的各個像素點獨立開來,忽略了各個像素點之間的區域性聯系。而我們知道,圖片是以區域特征為基礎的,比如圖片的這塊區域組成了眼睛,那塊區域組成了鼻子。人臉的視覺機制也是從邊緣、輪廓、局部特征等等來捕獲圖片信息的。傳統神經網絡結構并不具備這樣的功能,因此在性能上不會表現得特別突出。
基于傳統神經網絡的這兩個缺點,一種新的神經網絡結構:卷積神經網絡應運而生。接下來我們就開始詳細介紹 CNN。
邊緣檢測
在介紹 CNN 之前,我們先來了解一下圖片的邊
總結
以上是生活随笔為你收集整理的第15课:卷积神经网络(CNN)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第16课:项目实战——利用 PyTorc
- 下一篇: 一个“程序员的自我修养”是什么?