當前位置:
首頁 > 最新 > 卷積神經網路

卷積神經網路

01

人類視覺原理

人類的視覺原理如下:從原始信號攝入開始(瞳孔攝入像素 Pixels),接著做初步處理,識別許多基本結構(指向各個方向的邊、白塊、黑塊等),再用這些基本結構拼出人臉的不同器官(例如鼻子、眼睛、耳朵),這些器官又可以向上一層拼出不同樣式的人臉,最後模型通過在圖片中匹配這些不同樣式的人臉(即高階特徵)來進行人臉識別。下面是人腦進行人臉識別的一個示例:

那麼我們可以很自然的想到:可以不可以模仿人類大腦的這個特點,構造多層的神經網路,較低層的識別初級的圖像特徵,若干底層特徵組成更上一層特徵,最終通過多個層級的組合,最終在頂層做出分類呢?答案是肯定的,這也是卷積神經網路的靈感來源。

02

卷積神經網路介紹

卷積神經網路(Convolutional Neural Network,CNN)是一種深度前饋人工神經網路,擅長圖像識別等問題。CNN最早由Yann LeCun提出並應用在手寫字體識別上(MINST)。LeCun提出的網路稱為LeNet,其網路結構如下:

卷積層是卷積神經網路最重要的一個層次,也是「卷積神經網路」的名字來源。每個卷積層包含三個部分:卷積、非線性激勵函數和池化。

(1)卷積

卷積運算的定義如下圖所示:

GIF

藍色矩陣就是輸入的圖像,藍色矩陣周圍有一圈灰色的框是填充值,粉色矩陣就是卷積層的卷積核。綠色矩陣就是經過卷積運算後的輸出矩陣,這裡的步長設置為2。

在卷積層中每個卷積核只關注一個特性。卷積核就是圖像處理中的濾波器。可以認為,每個卷積核代表了一種圖像模式,如果某個圖像塊與此卷積核卷積出的值大,則認為此圖像塊十分接近於此卷積核。

(2)非線性激活函數

把卷積輸出結果做非線性映射。

CNN採用的激活函數一般為ReLU(The Rectified Linear Unit/修正線性單元),它的特點是收斂快,求梯度簡單,但較脆弱。

(3)池化

池化層以認為是將一張高解析度的圖片轉化為低解析度的圖片。可以非常有效的縮小矩陣的尺寸,從而減小全連接層的參數個數,這樣可以加快計算速率同時又防止過擬合,池化,可以減小模型,提高速度,同時提高所提取特徵的魯棒性。

池化用的方法有最大池化max pooling和平均池化average pooling,而實際用的較多的是max pooling。這裡就說一下max pooling,maxl pooling會保留原始像素塊中灰度值最高的那一個像素,即保留最顯著的特徵。

上圖中,我們可以看到,原始圖片是4x4的,我們對其進行下採樣,採樣窗口為2x2,最終將其下採樣成為一個2x2大小的特徵圖。

03

CNN的實驗結果

最後,我們實現了一個簡單的CNN,使用的數據集依然是MNIST,在測試集上可以得到的準確率約為99.2%。

相比上一次的Softmax的92的正確率,CNN的正確率提高了許多。這其中主要來自於CNN能夠保留圖片的空間結構信息,還有CNN對圖像特徵的提取和抽象能力。

暗中觀察

GIF

默默關注


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 十萬寶貝 的精彩文章:

TAG:十萬寶貝 |