深入理解卷積神經網絡中的卷積


深入理解卷積神經網絡中的卷積

深入理解卷積神經網絡中的卷積

卷積神經網絡是一種特殊的神經網絡結構,是自動駕駛汽車、人臉識別系統等計算機視覺應用的基礎,其中基本的矩陣乘法運算被卷積運算取代。 它們專門處理具有網格狀拓撲結構的數據。 例如,時間序列數據和圖像數據可以看作是一個二維像素網格。

歷史

卷積神經網絡最初是由福島核電站在1980年引入的,當時名為Neocognitron。 它的靈感來自於Hubel和Weisel提出的神經系統的層次模型。 但由於其複雜的無監督學習算法,即無監督學習,該模型並不受歡迎。 1989年,Yann LeCun利用反向傳播和Neocognitron的概念提出了一種名為LeNet的架構,該架構被美國和歐洲用於手寫的郵政編碼識別。 郵政服務。 Yann LeCun進一步研究了這個項目,最終在1998年發佈了LeNet-5——第一個引入了我們今天在CNN仍然使用的一些基本概念的現代卷積神經網絡。 他還發布了MNIST手寫數字數據集,這可能是機器學習中最著名的基準數據集。 在20世紀90年代,計算機視覺領域轉移了它的焦點,許多研究人員停止了對CNN架構的研究。 神經網絡的研究經歷了一個寒冷的冬天,直到2012年,多倫多大學的一組研究人員在著名的ImageNet挑戰賽中進入了一個基於CNN的模型(AlexNet),最終以16.4%的錯誤率贏得了比賽。 此後,卷積神經網絡不斷向前發展,基於CNN的體系結構不斷贏得ImageNet, 2015年,基於卷積神經網絡的體系結構ResNet的誤差率超過人類水平的5.1%,誤差率為3.57%。

卷積的誤稱

在CNN中廣泛使用的卷積運算是用詞不當的。 嚴格地說,所使用的操作是 相關 ,而不是卷積。 這兩個操作符都有一點不同,我們將分別討論它們,以理解它們之間的區別。

互相關

相關 是在圖像上移動濾波掩碼(通常稱為核)並計算每個位置的乘積和的過程。 相關是濾波器位移的函數。 換句話說,相關的第一個值對應濾波器的零位移,第二個值對應一個位移,以此類推。

深入理解卷積神經網絡中的卷積

深入理解卷積神經網絡中的卷積

數學公式:

圖3給出了使用F濾波器與圖像I的一維互相關運算的數學公式。 假設F具有奇數個元素會很方便,因此我們可以假設F隨其中心移動。 我們說F有2N+1的元素,這些索引從-N到N,F(0)是中心元素。

深入理解卷積神經網絡中的卷積

類似地,我們可以將這個概念擴展到下圖所示的2d情況。 基本思想是一樣的,除了圖像和濾波器現在是2D。 我們可以假設我們的濾波器有奇數個元素,所以它由一個(2N+1)x(2N+1)矩陣表示。

深入理解卷積神經網絡中的卷積

二維的相關運算非常簡單。 我們只是取一個給定大小的濾波器,然後把它放在與濾波器大小相同的圖像的一個局部區域上。 我們繼續這個操作,在整個圖像中移動相同的濾波器。 這也幫助我們實現了兩個非常受歡迎的屬性:

  1. 平移不變性:我們的視覺系統應該感知、響應或檢測相同的物體,而不管它出現在圖像的什麼地方。
  2. 局部性:我們的視覺系統聚焦於局部區域,而不考慮圖像的其他部分發生了什麼。

互相關函數具有一個特性,當它應用於離散的單位脈衝(一個二維矩陣,其中只有一個1,其他都是0)時,得到的結果是濾波器的副本,但旋轉了180度。

深入理解卷積神經網絡中的卷積

卷積:

卷積運算與互相關運算非常相似,但有細微的區別。 在卷積運算中,首先將核翻轉180度,然後應用於圖像。 卷積的基本性質是將一個核與一個離散的單位脈衝進行卷積,在脈衝的位置上得到一個核的拷貝。

我們在互相關部分看到,一個互相關操作產生一個脈衝的拷貝,但是旋轉了180度。 因此,如果我們預先旋轉濾波器並執行相同的乘積滑動和運算,我們應該能夠得到期望的結果。

深入理解卷積神經網絡中的卷積

數學公式:

利用核函數F對圖像I進行的卷積運算由一維的公式給出。

卷積就像相關一樣,只是我們在互相關之前先把濾波器翻轉一下

深入理解卷積神經網絡中的卷積

在二維卷積的情況下,我們水平和垂直翻轉濾波器。 這可以寫成:

深入理解卷積神經網絡中的卷積

卷積運算同樣遵循 平移不變性局部性 的性質。

深入理解卷積神經網絡中的卷積

注意:

儘管這兩個操作稍有不同,但是所使用的核是否對稱並不重要。

結論:

在這篇文章中,我們簡要討論了卷積神經網絡的歷史和一些特性。 我們討論了卷積這個錯誤的說法,即在各種文本中經常提到的卷積運算其實是互相關運算。 這種差別很細微,但卻很有用,每個進入、練習或經驗豐富的計算機視覺領域的人都應該知道。


分享到:


相關文章: