深度學習基礎(一)LeNet_Gradient-Based Learning Applied to Document Recognition


作者:Yann LeCun,Leon Botton, Yoshua Bengio,and Patrick Haffner

這篇論文內容較多,這里只對部分內容進行記錄:

以下是對論文原文的翻譯:

在傳統的模式識別模型中,往往會使用手動設計的特征提取器從輸入中提取相關信息並去除不相關的可變性,然后一個可訓練的分類器對這些提取到的特征進行分類。在本論文的方案中,標准的全連接多層網絡就相當於分類器,並且該方案盡可能多地依賴特征提取器本身的學習。在字符識別任務中,一個網絡可以將幾乎未經過處理的數據作為輸入。雖然任意一個全連接前向網絡在字符識別等任務中能夠取得不錯的效果,但是仍然有不少問題存在。

首先,輸入的圖像一般都很大,經常有幾百個變量(即像素)。如果采用全連接網絡的話,即使第一個隱含層僅有100個神經元,那前兩層之間的權重參數也會有幾萬個。數量如此大的參數會增加系統的容量,但也因此需要更大的訓練集。而且,在某些硬件設備上實現時由於需要存儲的參數如此多,可能會帶來內存不足的問題。但是,用於圖像或語音的非結構化網絡的主要缺陷是,對於轉換或輸入的局部失真沒有內在的不變性。在被提供給神經網絡固定大小的輸入層之前,字符圖像或其他2D或1D信號必須近似地標准化並居於輸入域的中心。不幸的是,沒有這樣完美的預處理:手寫體通常在單詞級別標准化,這可能導致單個字符的大小、傾斜和位置變化。這一點,再加上書寫風格的多樣性,會導致輸入對象中不同特征的位置發生變化。原則上,一個足夠大的全連接網絡可以學習產生與這種變化不同的產出。然而,學習這樣一項任務可能會導致在輸入中不同位置具有相似權重模式的多個單元,從而在輸入中不同特征出現的任何地方檢測到這些特征。學習這些權重參數需要數目巨大的訓練樣本來覆蓋可能的變化空間。

其次,全連接結構忽略了輸入的整體結構。輸入變量可以以任何不影響訓練輸出的順序給定。與變量不同的是,圖像有很強的2D局部結構:像素在空間上是高度相關的。


卷積神經網絡結合了三種結構的思想以確保一定程度的平移、縮放和畸變不變性:局部感受野(local receptive fields)、權值共享(shared weights )或權值復制(weights replication)和時間或空間子采樣(sub-sampling)。圖中展示的LeNet-5是一種用於識別字符的典型卷積神經網絡。網絡中輸入平面接收尺寸統一且中心對齊后的字符圖像。


15355256321_thumb8

LeNet-5結構描述:

不加輸入層的話,該網絡共有7層權重層。

輸入是一個32*32的像素圖像。該尺寸比數據集中最大的字符要大得多(最多20*20個像素位於28*28的中心區域),這是為了確保潛在的顯著特征比如筆畫終點和拐角能夠位於高層特征檢測算子的感受野中。在LeNet-5中,最后一層卷積層的感受野的中心點集在32*32輸入的中心形成一個20*20的區域。輸入的像素值會先標准化以便於背景(white)與-0.1對應,前景(black)與1.175對應。該操作使得輸入的平均值大概為0,並且方差為1,這樣有助於加速學習。

卷積層(C1)有6個特征圖(feature map)。特征圖中的每個神經元與輸入中的一個5*5鄰域相連接。特征圖的尺寸是28*28,相較於前一層有所縮小,這是因為進行卷積操作時僅在圖像內部進行卷積,而沒有對邊緣進行padding。C1層包含有156個可訓練參數和122,304個連接。

子采樣層(S2)含有6個特征圖,每個特征圖的尺寸是14*14。特征圖的每個單元與C1層中相應的特征圖的2*2鄰域相連(核是單通道單feature map)。計算過程是:先將鄰域內輸入的四個單元相加,然后乘上一個可訓練系數,再加上一個可訓練偏置,計算結果會經過sigmoid函數作用。該層中2*2的感受野不重疊,因此S2中特征圖的尺寸是C1中特征圖的一半。S2層有12個可訓練參數和5,880個連接。(我看有的代碼中將該層當做MaxPooling層)

卷積層(C3)有16個特征圖,每個特征圖的尺寸是10*10。特征圖的每個神經元與S2層中幾個特征圖相同位置的5*5的鄰域相連(卷積核是單通道多feature map的)(有的代碼中將該層當做有16個濾波器的卷積層,即正常的卷積層)。下表展示了S2中特征圖與C3中特征圖的對應情況:

15355293291_thumb2

至於為什么C3中的特征圖不與S2的所有特征圖均相連,論文中是這樣解釋的:首先,不完全連接能夠保證連接的數量在一個合理的范圍內,也就是說保證連接的數量不會太多。更重要的是,這樣安排打破了對稱,不同的特征圖可以提取不同的特征,因為它們被分配的輸入集不同。

上面表格中貼出的連接關系有如下特點:C3中前6個特征圖分別從S2中連續的3個特征圖獲取輸入;C3中接下來6個特征圖分別從S2中連續的4個特征圖獲取輸入;接下來3個特征圖分別從S2中4個不連續的特征圖獲取輸入;最后一個特征圖從S2中的所有特征圖獲取輸入。

C3層有1,516(60*25+16)個訓練參數和151,600個連接。同樣沒有padding。在權重分配上值得注意的是:C3層中某個特征圖從S2中部分的特征圖獲取輸入時,它們共享偏置,但是每個卷積核的權重不同。比如,C3中第一個feature map從S2中前三個feature map獲取輸入,在計算時一共有三個卷積核(5*5*3=75個可訓練參數)和一個共享的偏置(1個可訓練參數),所以一共76個trainable parameters.

子采樣層(S4)有16個尺寸為5*5的特征圖。特征圖的每個神經元從C3層中與之對應的特征圖中的2*2鄰域獲取輸入。S4層有32個可訓練參數和2,000個連接(當做MaxPooling層120)

卷積層(C5)有120個特征圖。特征圖的每個神經元從S4層的所有特征圖的5*5鄰域獲取輸入。因為S4層的特征圖的尺寸也為5*5,所以C5特征圖的尺寸為1*1,這就相當於S4與C5之間存在一個全連接層。但是C5被稱作卷積層而不是全連接層,這是因為如果LeNet-5的輸入變得更大,那么特征圖的維度會超過1*1。卷積網絡的尺寸可以動態遞增,這個過程會在論文的后面介紹。該層一共有48,120個訓練參數,計算方法與C3層相同。

全連接層(F6)包含84個神經元,與C5層全連接。該層神經元數目是根據輸出層設定的,在后面會解釋。層中一共有10,164個訓練參數

最后,輸出層由歐氏徑向基函數單元(RBF)組成,每個類一個,每個輸入84個。

關於徑向基函數的詳細信息可以參考這里


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM