01 LeNet-5论文笔记-Gradient-Based Learning Applied to Document Recognition
Abstract
摘要
??使用BP算法多層神經網絡訓練構成種個成功的基于梯度學習技術的最佳案例。提供一個合適的網絡架構,基于梯度學習算法就能將其用于合成復雜的決策面以便將高維模式(例如手寫字符)區分歸類,并進行最小預處理。本文綜述了各種方法對手寫字符特征識別,并將其與標準手寫數字識別任務進行了比較。用于處理二維圖形的可變性,卷積神經網絡顯著優勝于其他技術。
??現實生活中的文檔識別系統是由多個模型組成的,包括字段抽取、分割、識別和語義建模。一個新的學習模式,稱為圖變壓網絡(GTN),允許像多模型系統這樣的訓練全局化使用基于梯度的方法,以盡量減少總體形式的性能指標。
??介紹了兩種在線手寫字符識別系統。實驗證實全局訓練的優越性,以及圖變壓網絡(GTN)的靈活性。
??還介紹了一種用于閱讀銀行支票的圖變壓網絡。利用卷積神經網絡的特征識別并結合全局訓練技術,提高商業和個人支付記錄的準確率。它是商業部署,每天讀取百萬級支票。
關鍵詞—— 神經網絡、光學識別符(OCR)、文檔識別、機器學習、基于梯度學習、卷積神經網絡、圖變壓網絡、有窮狀態轉換器
I.Introduction
介紹
??在過去的幾年里,機器學習技術中特別是神經網絡應用,在模式識別系統中扮演著越來越重要的角色。事實上,可以說,學習技術的可用性在近幾年模式識別應用如連續語音識別和手寫字符識別中一直是一個至關重要的方面。
??本文主要的觀點是,通過跟多的依賴自動的數學學習來建立更好的模式識別系統,并更少的依賴手動設計和啟發式。這是由于機器學習和計算機技術近幾年的進展而成為可能的。使用字符識別作為案例研究。我們展示了手工制作的特征提取可以被精心設計的直接操作像素圖像的學習機器有效地替代。使用文檔理解作為一個案例研究,我們表明通過手動集成單獨設計的模塊構建識別系統的傳統方法,可以用統一的、原則性好的設計范式代替,稱其為圖轉換器網絡,允許訓練所有的模型以優化全能型標準。
??從識別模型的早期開始,人們就知道自然數據的多變性和豐富性,無論是演講、字符或是其它類型的模式,幾乎不能純手工建立一個準確性高的識別系統。因此,大多模式識別系統都是結合使用自動學習技術和手工制作算法構建的。識別單個模式通常的方法由將系統劃分為圖像1中兩個主要的模塊。 第一個模塊稱為特征抽取器,轉化輸入模式,以便它們可以由低維向量或符號的短字符串表示(a)能很容易的匹配或比較,表示(b)不改變其性質的輸入模式的轉換和扭曲是相對不變的。特征抽取器包含了大部分先驗知識,而且是特定任務的。它也是大多數設計工作的重點,因為他也是完全通過手工制作的。另一方面,分類器通常是多用途且可訓練的本文的主要問題之一是識別的準確率極大的取決于設計者提出一套合適特征的能力。這是一項艱巨的任務,不幸的是,必須為每個新問題重新做一項工作。大量的模式識別文獻用于描述和比較不同特征集對于不同任務的相對優點。
??從歷史上看,由于需要合適的特征提取器這一事實,使用僅限于低維空間的學習技術,易于分離的類。在過去的十年里,三因素的結合改變了這憧憬。首先,快速算數單元的低成本機器的可用性使得依賴跟多的蠻力法而不是算法細化。其次,用于大型超市和廣泛興趣問題(例如手寫字符識別),大量數據集的可用性使設計者能夠依賴更多的實際數據和更少的手工制作的特征抽取來建立識別系統。第三個非常重要的因素是強大的機器學習技術的可用性可以處理高維輸入,且當輸入這些復雜大數據集時,能夠創造復雜決策函數。在語音和手寫字符識別系統的準確率近年來的進展很大程度上可以歸結為更多的依賴學習技術和大型訓練數據集。作為這一事實的依據,大部分現代化商業OCR系統使用一些多層神經網絡訓練和反向傳播。
??本文中,我們考慮到手寫字符識別(第一節和第二節),以及比較幾種學習技術在基準數據集上的性能與手寫字符比較(第三節)。雖然使用自動學習越多越好,但是沒有學習技術離開少量先驗知識能完美完成任務。在一個多層神經網絡情下中,融合知識的一個好方法是可以根據任務調整它的架構。第二段中介紹的卷積神經網絡是一種專門的神經網絡結構的案例,它通過使用局部連接模式和對權重施加約束,將2D 形狀的不變性知識結合起來。第三節比較了幾種孤立手寫數字識別方法。從對單個字符的識別到對文檔中的此句的識別,第四節中介紹而多個模型訓練減少整體誤差的設想。當模塊操作著有向圖時,可變長度對象(如手寫字符)使用多模型系統是最好的做法。這引出了可訓練圖變壓器網 (GTN) 的概念。第五節描述如今經典的過分割的方法,用于識別字詞或其他字符串。第六節提出摒棄手工分割和標注的情況下,在字詞水平上用于訓練一個識別器的判別性和非判別性的基于梯度技術。第七部分提出來空間位移神經網絡方法,為消除分割啟發式的需要,在輸入的所有可能位置掃描識別器。第八節展示可訓練的圖變壓網絡(GTN)根據一般的圖合成算法用于轉換多個廣義傳感器。語音識別中常用的圖變壓網絡(GTNs) 和隱馬爾可夫模型之間的連接也被處理。第六節描述了一個訓練有素的的圖變壓網絡(GTN)系統,用于鋼筆計算機中輸入的手寫。此問題稱為 “聯機 ” 手寫識別, 因為計算機必須在用戶寫入時立即反饋。該系統的核心是一個卷積神經網絡。結果清晰的展示了訓練一個字詞水平的識別器的有點,而不是預先分割的、手工標記的、孤立字符上進行訓練。第十節描述了一個完整的圖轉換網絡系統,用于閱讀手寫和機器打印的銀行支票。系統的核心是卷積神經網絡,也稱為LeNet-5,在第二節描述。該系統在 NCR 公司對銀行業的支票識別系統進行了商業應用。它正在美國的幾家銀行每月閱讀數以百萬計的支票。
A.Learning from Data
??有幾種自動機器學習的方法,但是近年來由神經網絡社區推廣的最成功的方法之一可以稱為基于數值或梯度的學習。機器學習計算函數在這里:
其中Zp是第p個輸入模式,W代表系統中可調參數的集合。在模式識別設置中,輸出Yp可以解釋為模式Zp的識別類別標簽或與每個類別關聯的分數或概率。損失函數在這里:
衡量Dp(正確的或是模式Zp的期望輸出)和系統產生的輸出之間的誤差。平均損失函數Etrain(W)是一組稱為訓練集{(Z1,D1),……(Zp,Dp)}的標記示例上的誤差Ep的平均值。在最簡單的情況下,學習問題在于找到最小化Etrain(W)的W值。實際上,對系統在訓練集上的性能興趣不大。 更為相關的度量是系統在現場的錯誤率將在實踐中使用。 通過測量與訓練集分離的一組樣本(稱為測試集)的準確性來評估此性能。許多理論和實驗工作1,2,3表明,測試集Etest的預期錯誤率與訓練集Etrain的錯誤率之間的差距隨著訓練樣本的數量近似為在這里
,其中P是訓練樣本的數量,h是有效容量或機器6,7的復雜性的度量,a是0.5到1.0之間的數字,k是常數。當訓練樣本數量增加時,這個差距總是會減小。此外,隨著h容量增加,Etrain減少。因此,當h容量增加的時候,在Etrain減少和差距增加中要衡量,以最佳的容量h值實現最低的泛化誤差Etest。大多數學習算法都試圖最小化Etrain以及對差距的一些估計。這種形式的正式版本稱為結構風險最小化6,7,它基于定義能力增強的機器學習序列,該序列對應于參數空間的子集序列,從而每個子集都是先前子集的超集。實際上,結構風險最小化是通過最小化如下公式:
來實現的,其中函數H(W)被稱為正則化函數,beta是一個常數。選擇H(W)使得它對屬于參數空間的高容量子集的參數W取大值。最小化H(W)實際上限制了參數空間可訪問子集的容量,從而控制了在最小化訓練誤差和最小化訓練誤差與測試誤差之間的期望之間的權衡。
B.Gradient-Based Learning
基于梯度學習
??關于一組參數最小化函數的一般問題是計算機科學中許多問題的根源。基于梯度的學習基于這樣一個事實,即與離散函數相比,最小化合理的平滑連續函數通常要容易得多。通過估計參數值的微小變化對損耗函數的影響,可以使損耗函數最小化。這是通過損耗函數相對于參數的梯度來衡量的。當可以通過解析而不是通過擾動以數值方式計算梯度矢量時,可以設計出一種高效的學習算法。這是眾多基于梯度的具有連續值參數的學習算法的基礎。在本文描述的過程中,參數W的集合是一個實值向量,對于該向量,E(W) 是連續的,并且幾乎在任何地方都可微分。在這種情況下,最簡單的最小化步驟是梯度下降算法,其中W的迭代調整,如下:
在這個最簡單的案例中,在這里
是一個標量常數,更為復雜的過程是在這里,或將其替換為對角矩陣,或將其替換為逆Hessian矩陣的估計,如牛頓法或擬牛頓法。也可以使用共軛梯度方法[8]。但是,附錄B顯示,盡管文獻中有許多相反的說法,但是這些二階方法對大型學習機的實用性非常有限。
??流行的最小化過程是隨機梯度算法,也稱為在線更新。 它包括使用噪聲或平均梯度的近似版本來更新參數向量。在最常見的情況下,W根據單個樣本進行更新:
通過此過程,參數向量在平均軌跡附近波動,但在具有冗余樣本(例如語音或字符識別中遇到的樣本)的大型訓練集上,其收斂速度通常比常規梯度下降法和二階方法快得多。其原因在附錄B中進行了解釋。自20世紀60年代以來,就對這種用于學習的算法的性質進行了理論研究,但直到80年代中期,非平凡任務的實際成功才出現。
C.梯度反向傳播
II.Convolutional Neural Networks For Isolated Character Recognition
??經過梯度下降訓練的多層網絡能夠從大量例子中學習復雜的、高維的非線性映射,這使得它們很容易成為圖像識別任務的候選對象。在傳統的模式識別模型中,人工設計的特征提取器從輸入信息中收集相關信息,并消除不相關的變量。然后,一個可訓練的分類器將得到的特征向量分類,在該方案中,可以使用標準的、全連通的多層網絡作為分類器。一個可能更有趣的方案是盡可能多地依賴于特征提取器本身的學習。在字符識別的情況下,網絡可以提供幾乎原始的輸入(例如尺寸歸一化的圖像)。雖然這可以通過一個普通的連接前饋網絡來完成,并成功地完成一些任務,如字符識別等任務中能夠取得不錯的效果,但是仍然有不少問題存在。
??首先,輸入的圖像一般都很大,經常有幾百個變量(即像素)。如果采用全連接網絡的話,即使第一個隱含層僅有100個神經元,那前兩層之間的權重參數也會有幾萬個。數量如此大的參數會增加系統的容量,但也因此需要更大的訓練集。而且,在某些硬件設備上實現時由于需要存儲的參數如此多,可能會帶來內存不足的問題。但是,用于圖像或語音的非結構化網絡的主要缺陷是,對于轉換或輸入的局部失真沒有內在的不變性。在被提供給神經網絡固定大小的輸入層之前,字符圖像或其他2D或1D信號必須近似地標準化并居于輸入域的中心。不幸的是,沒有這樣完美的預處理:手寫體通常在單詞級別標準化,這可能導致單個字符的大小、傾斜和位置變化。這一點,再加上書寫風格的多樣性,會導致輸入對象中不同特征的位置發生變化。原則上,一個足夠大的全連接網絡可以學習產生與這種變化不同的產出。然而,學習這樣一項任務可能會導致在輸入中不同位置具有相似權重模式的多個單元,從而在輸入中不同特征出現的任何地方檢測到這些特征。學習這些權重參數需要數目巨大的訓練樣本來覆蓋可能的變化空間。
??其次,全連接結構忽略了輸入的整體結構。輸入變量可以以任何不影響訓練輸出的順序給定。與變量不同的是,圖像有很強的2D局部結構:像素在空間上是高度相關的。
?? 卷積神經網絡結合了三種結構的思想以確保一定程度的平移、縮放和畸變不變性:局部感受野(local receptive fields)、權值共享(shared weights )或權值復制(weights replication)和時間或空間子采樣(sub-sampling。圖中展示的LeNet-5是一種用于識別字符的典型卷積神經網絡。網絡中輸入平面接收尺寸統一且中心對齊后的字符圖像。
A.Convolutional Networks
B.LeNet-5
??本節將詳細介紹實驗中使用的卷積神經網絡LeNet-5的架構。LeNet-5包括7個層,不包括輸入,所有的層都包含可訓練的參數(權重)。輸入是一個32x32像素的圖像。這比數據庫中最大的字符大得多(在28x28字段中居中最多20x20像素)。其原因是,在最高級特征檢測器的接收域的中心可以出現潛在的顯著特征,如筆畫端點或角。在LeNet-5中,最后一個卷積層(C3,見下文)的接受域中心集在32x32輸入的中心形成了一個20x20的區域。輸入像素的值被歸一化,以便背景級別(白色)對應于0.1的值,前景(黑色)對應于1.175。這使得輸入均值大約為0,而方差大約為1,從而加速了的學習[46]。
??下面,卷積層標記為Cx,子采樣層標記為Sx,全連通層標記為Fx,其中x為層索引。
??層C1是一個包含6張feature map的卷積層。每個feature map中的每個單元都連接到輸入中的一個5x5鄰域。特征圖的大小為28x28,這可以防止輸入的連接脫離邊界。C1包含156個可訓練參數和122,304個連接。
??層S2是子采樣層,有6張大小為14x14的feature map。每個feature map中的每個單元都連接到對應的feature map中的一個2x2鄰域1。對S2中的一個單元的四個輸入相加,然后乘以一個可訓練系數,再加上一個可訓練偏差。結果通過s形函數傳遞。2x2接受域是不重疊的,因此S2中的feature map的行數和列數是C1中的feature map的一半。層S2有12個可訓練參數和5,880個。
??連接層C3是一個包含16個feature map的卷積層。每個feature map中的每個單元都連接到S2的eature maps子集中幾個相同位置的5x鄰域。表I結合C3的feature map顯示了一組S2特征映射。結合每個C3 feature map。為什么不把每個S2特征圖和每個C3特征圖連接起來呢?原因有兩方面。首先,不完全連接方案將連接數量控制在合理范圍內。更重要的是,它打破了網絡的對稱性。不同的特征圖被迫提取不同的(希望是互補的)特征,因為它們得到不同的輸入集。表I中的連接方案背后的基本原理如下。前六個C3 feature map從S2中的三個feature map的每個相鄰子集中獲取輸入。接下來的6個從每個連續的4的子集中獲取輸入。接下來的三個從一些不連續的4的子集中獲取輸入。最后一個從所有S2特征映射中獲取輸入。層C3有1,516個可訓練參數和151,600個連接。
??Laver S4是一個子采樣層,有16個大小為5x5的feature map。每個feature map中的每個單元都連接到C3中對應的feature map中的一個2x2鄰域,類似于C1和S2。層S4有32個可訓練的參數和2000個連接。
??層C5是一個包含120個feature map的卷積層。在S4的所有16個feature map上,每個單元都連接到一個5x5的鄰域。在這里,因為S4的大小是 5x5,所以C5的feature maps的大小是1x1:這相當于S4和C5之間的完整連接。C5被標記為卷積層,而不是全連接層,因為如果在其他條件不變的情況下,LeNet-5的輸入變大,feature map的維數將大于1x1。動態增加卷積網絡大小的過程在第七節中進行了描述。C5層有48,120個可訓練的連接。
??層F6,包含84個單元(這個數字的原因來自于輸出層的設計,解釋如下),并完全連接到C5。它有10164個可訓練參數。
??在經典的神經網絡中,直到F6層中的神經元計算它們的輸入向量和權重向量之間的點積,并在權重向量上加上一個bias偏置。這個權重和,記為ai;對于單位i,則通過一個sigmoid壓縮函數得到單位i的狀態,用xi表示。
sigmoid壓縮函數是一個縮放的雙曲正切:
其中A是函數的振幅,S決定了它在原點處的斜率。函數f是奇函數,在+A和A處有水平漸近線。常數A被選為1.7159。選擇壓縮函數的基本原理在附錄a中給出。最后,輸出層由歐氏徑向基函數單元(RBF)組成,每類一個,每個輸入84個。計算每個RBF單元yi的輸出
??換句話說,每個輸出RBF單元計算其輸入向量與參數向量之間的歐式距離。輸入距離參數向量越遠,RBF輸出越大。特定RBF的輸出可以解釋為一個懲罰項,測量輸入模式和與RBF相關的類模型之間的契合度。在概率方面,RBF輸出可以解釋為在F6層構型空間的高斯分布的非歸一化負對數似然。給定一個輸入模式,設計損失函數使F6的構型盡可能接近該模式期望類對應的RBF的參數向量。這些單元的參數向量是手工選擇的,并保持固定(至少最初是這樣)。這些參數向量的分量設為1或+1。雖然他們可能是隨機概率為1和+ 1,甚至選擇形成一個錯誤校正碼[47]提出的,他們不是設計相應的字符類代表一個程式化的形象畫在7 x12位圖(因此84號)。這樣的表現并不是特別有用的識別孤立的數字,但它是非常有用的字符識別的字符串從完整的打印ASCII。基本原理是文字都是相似的,因此可能被混淆的,比如大寫字母O,小寫字母O,零,或小寫l,數字1,方括號,大寫的I,會有類似的輸出代碼。具有類似的輸出代碼。如果該系統與語言后處理器結合使用,可以糾正這種混淆,這就特別有用。因為易混淆類的代碼是相似的,所以對于不明確的字符對應的RBFs的輸出也將是相似的,并且后處理器將能夠選擇適當的間隔。圖3給出了完整ASCII集的輸出代碼.
??使用這種分布式代碼而不是更常見的“1 of N”代碼(也稱為位置代碼或祖母單元代碼)作為輸出的另一個原因是,當類的數量超過幾十個時,非分布式代碼的行為往往很糟糕。原因是一個非分布式代碼的輸出單元在大部分時間都必須是。這是相當困難的實現與sigmoid單位。另一個原因是,分類器通常不僅用于識別字符,而且還用于拒絕非字符。具有分布式編碼的RBFs更適合于這一目的,因為與乙狀結腸不同,它們是在其內部的一個非常限定的區域內被激活的放置非典型圖案更有可能掉落的空間。RBFs的參數向量作為laver F6的目標向量。值得指出的是,這些向量的分量為+1 or-1,完全在F6的sigmoid范圍內,因此可以防止這些sigmoid被飽和。事實上+1和1是sigmoid函數上曲率最大的點。這迫使F6單元在他們的最大非線性范圍內操作。飽和的sigomid必須避免,因為它是已知的導致緩慢收斂和不良條件的損失函數。
c .Loss Function
??可用于上述網絡的最簡單的輸出損失函數是最大似然估計準則(MLE),在我們的例子中,它等價于最小均方誤差(MSE)。對于一組訓練樣本的準則為:
式中yDp就是第Dp-th RBF單元的輸出,即對應于輸入模式ZP的正確類的RBF單元。雖然這種成本函數適用于大多數情況,但它缺少三個重要的特性。首先,如果我們允許RBF的參數適應,E(W)有一個微不足道的,但完全不可接受的解決方案。在該解中,所有RBF參數向量均相等,且F6的狀態為常數,等于該參數向量。在這種情況下,網絡很高興地忽略了輸入,所有的RBF輸出都等于零。如果不允許RBF權值適應,這種塌縮現象就不會發生。第二個問題是班級之間沒有競爭。這樣的競爭可以通過使用一個更有區別的訓練準則來獲得,稱為MAP (maximum a posteriori)準則,類似于有時用于訓練HMMs[48],[49],[50]的最大互信息準則。假設輸入圖像可以來自其中一個類,也可以來自背景中的“垃圾”類標簽,那么它就相當于最大化正確類Dp的后驗概率(或者最小化正確類概率的對數)。就懲罰函數而言,這意味著除了像MSE標準那樣將正確類的懲罰向下推外,該標準還會拉出不正確類的懲罰:
負的第二項起“競爭”作用,它必然小于(或等于)第一項,因此這個損失函數為正。常數j為正,可以防止已經非常大的類的懲罰被進一步推高。垃圾類標簽的后驗概率為
的比值(ZP,W),該判別準則使RBF中心遠離,避免了學習RBF參數時出現前面提到的“塌縮效應”。在第六節中,我們對學習對輸入中的多個對象(例如,單詞或文檔中的字符)進行分類的系統給出了這一標準的概括。對于卷積網絡中所有層的所有權重,損失函數的梯度計算是通過反向傳播完成的。標準算法必須稍加修改,以考慮到權值的共享。一個簡單的實現方法是首先計算損失函數對每個連接的偏導數,就好像網絡是一個傳統的沒有權值共享的多層網絡。然后將具有相同參數的所有連接的偏導數相加,形成對的偏導數準網。
??損失函數相對于卷積網絡所有層中所有權值的梯度是通過反向傳播來計算的。標準算法必須稍加修改,以考慮到權值的共享。一個簡單的實現方法是首先計算損失函數對每個連接的偏導數,就好像網絡是一個傳統的沒有權值共享的多層網絡。所有這些聯系的偏導數都是一樣的-添加參數,形成對該參數的導數。
??這樣一個大型體系結構被訓練的有效,但是這樣做需要使用附錄中描述的一些技術。附錄的A部分描述了一些細節,比如使用的特定的sigmoid和權重初始化。B節和C節描述了所使用的最小化過程,它是Levenberg-Marquardt過程對角逼近的隨機版本。
Results and comparison with other methods
??雖然識別個體數字只是設計一個實際的識別系統所涉及的眾多問題之一,但它是比較形狀識別方法的一個很好的基準。雖然現有的許多方法結合了手工特征提取器和可訓練分類器,但本研究集中于直接對尺寸歸一化圖像進行操作的自適應方法。
A.database:
未設置修改后的NIS用于訓練和測試本文系統的數據庫是由NIST的專用數據庫3和包含手寫數字二值圖像的專用數據庫1組成的。NIST最初指定D-3作為訓練集,SD-1作為測試集,但是SD-3比SD-1更清晰,更容易識別.其原因可以從SD-3在人口普查局工作人員中收集,而SD-1在高中生中收集這一事實中找到。從學習實驗中得出合理的結論,要求結果獨立于訓練集的選擇和整個樣本集的測試。因此,有必要通過混合NIST的數據集來建立一個新的數據庫。
??SD-1包含58,527位數字圖像,由500個不同的寫入器寫入。與SD-3中每個寫入器的數據塊依次出現不同,SD-1中的數據被打亂。SD-1的寫入器標識是可用的,我們使用這些信息來解讀寫入器。然后我們將SD-1分成兩部分:前250個寫手寫的字符進入我們新的訓練集,其余250個寫手放入我們的測試集,這樣我們就有了兩個集,每個集有近3萬個例子。新的訓練集由足夠的SD-3樣本完成,從模式#0開始,得到60,000個訓練模式的完整集合。同樣,新的測試集由SD-3樣本完成,從模式#35,000開始,得到60,000個測試模式的完整集合。在這里描述的實驗中,我們只使用了10,000張測試圖像的子集(5,000張來自SD-1, 5,000張來自SD-3),但是我們使用了全部60,000個訓練樣本。生成的數據庫稱為ModifiedIST 或 MNIST 數據集。
??原始的黑白(雙層)圖像尺寸被歸一化,以適應一個20x20像素的盒子,同時保持它們的高寬比。由于歸一化算法使用了抗混疊(圖像插值)技術,所得到的圖像含有灰度。使用了數據庫的三個版本。在第一個版本中,通過計算像素的質心,使圖像以28x28的圖像為中心,并平移圖像,將該點定位于28x28場的中心。在某些情況下,這個28x28的字段被擴展為32x32的背景像素。這個版本的數據庫將被稱為常規數據庫。在數據庫的第二個版本中,字符圖像被分離并裁剪為20x20像素的圖像。deslanting計算像素的慣性矩(將前景像素計算為1,將背景像素計算為0),并通過水平移動線條來剪切圖像,使主軸垂直。此版本的數據庫將稱為deslanted數據庫。在數據庫的第三個版本中。在早期的一些實驗中,圖像被縮小到16x16像素。常規數據庫(60000個訓練示例、10,000個測試示例大小-標準化為20x20。在http://www.research.att.com/yann/ocr/mnist上可以找到,圖4顯示了從測試集中隨機抽取的示例。
b.Results
??在常規MNIST數據庫上訓練了LeNet-5的幾個版本。通過整個訓練數據對每個會話執行20次迭代。全局學習率n(見附錄C中的公式21的定義)的值按照以下的時間表遞減:前兩輪為0.0005,后三輪為0.0002,接下來的3個是0.0001,接下來的4個是0.00005以后都是0.00001。在每次迭代之前,對500個樣本重新評估diagona Hessian近似值,如附錄C所述,并在整個迭代過程中保持不變。參數u被設置為0.02。在第一次測試中得到的有效學習率在參數集上的變化約為7 x 10-5和0.016。測試錯誤率在通過訓練集10次左右后穩定在0.95%。通過19次后,訓練集的錯誤率達到0.35%。許多作者報告說,在訓練神經網絡或其他自適應算法完成各種任務時,觀察到過度訓練的普遍現象。當過度訓練發生時,訓練誤差會隨著時間的推移而不斷減小,但是測試誤差會經歷一個最小值,并在一定的迭代次數后開始增加。雖然這種現象很常見,但在圖5所示的學習曲線中并沒有觀察到這種現象。一個可能的原因是學習率保持相對較高。這樣做的結果是,權值永遠不會落在局部最小值上,而是一直隨機地振蕩。由于這些波動,在更廣的最小值下,平均代價會更低。因此,隨機梯度與正則化項具有相似的效果,它有利于更廣的最小值。廣義最小值對應于參數分布熵大的解,有利于提高泛化誤差。
??訓練集大小的影響程度通過使用15000、30000和60000個樣本對網絡進行訓練來衡量。由此產生的訓練錯誤和測試錯誤如圖6所示。很明顯,即使使用像LeNet-5這樣的專門架構,更多的訓練數據也會提高精確度。
??為了驗證這一假設,我們通過隨機扭曲原始訓練圖像來人為地生成更多的訓練示例。增加的訓練集由60000個原始模式加上540000個實例組成畸變模式與隨機選擇的畸變參數。扭曲是以下平面仿射變換的組合:水平和垂直平移、縮放、壓縮(同時的水平壓縮和垂直伸長,或反向)和水平剪切。圖7顯示了用于訓練的扭曲模式的示例。當使用失真數據進行訓練時,測試錯誤率從沒有變形時的0.95%下降到0.8%。使用的訓練參數與沒有變形時相同。訓練的總時間不變(20次,每次60,000個模式)。值得注意的是,在這20次傳遞過程中,網絡只有效地看到單個樣本兩次。
??圖8顯示了所有82個分類錯誤的測試示例。其中一些例子確實模棱兩可,但也有一些是這樣完全可以被人類識別出來,盡管它們是用一種不被代表的風格寫的。這表明,更多的訓練數據有望進一步改善。
C.Comparison with other classifiers
為了便于比較,在同一個數據庫上對其他多種可訓練分類器進行了訓練和測試。這些結果的早期子集在[51]中提出。各種方法的測試集上的錯誤率如圖9所示。
總結
以上是生活随笔為你收集整理的01 LeNet-5论文笔记-Gradient-Based Learning Applied to Document Recognition的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Xcode中指令集相关选项
- 下一篇: 适配ofd签章SES_CertList