卷積神經網絡綜合指導

 

人工智能還在見證着計算機和人類能力之間差距不斷縮小的巨大發展。研究者和狂熱者一樣,在各種各樣不同領域工作去創造驚人的事情,其中的一個領域就是計算機視覺。

這個領域的目標就是讓機器人像人類一樣觀察世界,用相似的世界感知世界,甚至使用知識處理龐大的任務,比如圖像和視頻識別,圖像分析和分類,媒體娛樂,推薦系統,自然語言處理等。隨着時間的推移,使用深度學習的計算機視覺已經得到發展和完善,主要歸功於一個特定的算法——卷積神經網絡。

 

1 介紹

卷積神經網絡(ConvNet/CNN)是一個深度學習算法,它可以接收輸入圖片,給圖片中的不同物體分配重要性(可學習的權重和偏置)並且能夠和其他物體區分開。卷積神經網絡和其他分類算法相比,它的預處理要求更低。傳統算法的濾波器需要手工設計,但是卷積神經網絡只要經過足夠的訓練就能學習這些分類器和特徵。

 

2 CNN爲什麼優於前饋神經網絡?

一幅圖片只不過是一個像素值矩陣,那我們爲什麼不將其展開(將3*3的像素矩陣轉成9*1的矩陣),然後將其輸入到多層感知機中進行圖像分類呢?

在一些非常基本的二值圖像中,這種方法的精度可以達到平均精度,但是對於處理一些複雜的圖片(比如RGB圖片),這個方法的精度幾乎爲零。通過使用相關的過濾器,卷積神經網路可以成功的捕捉到一幅圖片中時間和空間的的相關性。這種網絡架構可以很好的擬合圖片數據集,這歸功於它可以減少參數的數量和重複使用的權重。換句話說,這個網絡通過訓練可以更好的理解圖片的複雜性。

在圖片中,我們有一個RGB圖片,它可以分成紅色,綠色和藍色通道。試想一下,如果一次遍歷每個通道的每個像素,那計算量會多麼的龐大。卷積神經網絡的任務就是將圖片變成一個容易處理的格式,它並不會丟失對預測其重要作用的圖片特徵。這對我們在設計網絡架構的時候至關重要,它不僅要能夠很好的學習特徵,而且還能擴展到龐大的數據集上。

 

3 卷積層

輸入圖片的維度是 = 5(高度)*5(寬度)*1(通道數)。在上面的論述中,綠色部分表示我們的5*5*1的輸入圖片,I 。在卷積層的第一個部分執行卷積部分的元素稱之爲Kernel/Filter, K, 也就是圖片中黃色的部分。K表示的是一個3*3*1的矩陣。

Kernel移動了9次,因爲Stride Length = 1,每一次算都會在K與圖片中kernel懸浮的部分P進行矩陣乘法運算。

filter使用特定的步長從左向右進行移動,直到解析到圖片的右邊。然後繼續移動,使用相同的步長向下跳到最左邊的,然後繼續移動直到解析了整幅圖片。

在這個案例中,圖片有多個通道,Kernel也和輸入圖片有着相同的通道。在Kn和In之間([K1, I1];[K2, I2];[K3, I3])進行矩陣乘法,並且所有的結果都會和偏置加在一起,然後返回一個一維通道的卷積特徵輸出。

卷積操作的目標是從輸入圖片中提取高維特徵。卷積神經網絡不限於只有一個卷積層。通常來說,第一個卷積層用來捕捉低維特徵,比如邊緣,顏色和梯度方法等等。隨着網絡的增加,網絡架構也會提取高維特徵,給我們提供一個可能很好理解數據集圖片的網絡。

卷積操作有兩種不同類型的效果——一種卷積特徵和輸入相比尺寸變小,另一種是尺寸變化或者不變。前者使用了Valid Padding,後者使用了Same Padding。當我們使用3*3*1的kenel對5*5*1的輸入圖片增廣成6*6*1的圖片的時候,我們發現卷積矩陣的輸出尺寸是5*5*1。因此它的名字就是——Same Padding

另一方面,如果我們對其使用相同的操作,但是不使用padding,我們會得到和kernel相同維度的特徵圖,我們稱之爲Valid Padding

 

4 池化層

池化層和卷積層相似都是用來減少卷積特徵圖的空間尺寸,它通過減小圖片尺寸來減少處理數據的計算量。此外,該算法還可用於提取旋轉的、位置不變的優勢特徵,從而保持模型的有效訓練過程。有兩種類型的池化:最大池化平均池化。最大池化返回圖片區域中經過kernel之後的最大值。另一方面,平均池化返回平均值。

最大池化也用來作爲噪聲抑制。它可以過濾噪聲,並且抑制噪聲和減少圖片尺寸。另一方面,平均池化只是將減少圖片尺寸作爲噪聲抑制的方式。因此,我們可以認爲最大池化比平均池化要好一些

卷積層和池化層共同構成卷積神經網絡的第i個網絡層。這些網絡層的個數由網絡的複雜度決定,爲了捕捉到低維甚至高維的特徵,網絡層的個數可能會增加,但是這會增加整個網絡的計算量。

經過上述的處理,我們可以讓模型更好的理解圖片的特徵。接着,我們打算將最後的輸出進行展開,然後將其輸入到分類神經網絡中進行預測。

 

5 分類 -- 全連接層

增加一個全連接層通常是一個可以學習高維特徵的非線性組合的性價比很高的方式,其中高維特徵就是卷積層的輸出。全連接層正在學習這個空間中可能的非線性函數。

現在,我們已經量輸入圖片轉成適合高維感知機的數據格式,我們應該將整個圖片展開成一個列向量。這個展開的輸出輸入到前饋神經網絡中,並且使用在訓練的每個iteration中進行反向傳播。經過幾個epoch之後,這個模型可以區分一個圖片中主要的特徵和特定的地位特徵,然後使用softmax分類技巧進行分類。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章