1. 程式人生 > >Building Fast and Compact Convolutional Neural Networks for Offline HCCR

Building Fast and Compact Convolutional Neural Networks for Offline HCCR

--pattern recognition 2017 

摘要:

像其他的計算機視覺技術一樣,離線的手寫文字識別使用CNN方法取得了很好的效果。但是需要非常複雜的網路才可以取得較好的效果。這樣的網路直觀地看起來計算成本過高,並且需要儲存大量引數,這使得它們在行動式裝置中部署是不可行的。為了解決這個問題,我們提出全域性監督低維擴充套件(GSLRE)方法和自適應權重(ADW)技術來解決速度和儲存容量的問題。我們設計了一個用於HCCR的9層CNN,包括3,755個類,並設計了一種演算法,可以將網路計算成本降低9倍,並將網路壓縮到基線模型原始大小的1/18,只有0.21% 精度下降。在測試中,所提出的演算法超過了迄今為止在文獻中報告的最佳單網路效能,同時僅需要2.3MB的儲存空間。此外,當與我們的有效前向實現整合時,在CPU上識別離線字元影象僅花費9.7毫秒。與用於HCCR的最先進的CNN模型相比,我們的方法快約30倍,成本花費縮減了10倍。

1.introduction

離線手寫漢字識別(HCCR)已經應用於許多應用,例如用於識別歷史文件,郵件分類,手寫筆記的轉錄等。離線HCCR已經吸引了許多研究人員超過半個世紀的注意力。在過去的幾年,有很多傳統的離線計算方法被提出應用於HCCR但收效甚微,基於修改的二次判別函式(MQDF)的方法就是典型的例子。因此,文獻中認識到,即使是最好的傳統方法也遠不能模仿這一領域的人類表現。由於近年來可獲得更好的計算硬體和大量的訓練資料,LeCun在20世紀90年代提出的卷積神經網路(CNN)已被用於HCCR,並獲得了很好的效果。多層深度神經網路(MCDNN)[10]由幾個CNN組成,是第一個用於HCCR的CNN。最近報道了一個準確率達到96.95的HCCR方法,主要思想是基於CNN對資料的特徵進行提取。然而,計算成本和儲存要求仍然阻止在行動式裝置中使用CNN,其中功耗和儲存容量是主要挑戰。

很多研究者致力於構建快速並且緊湊的網路。在這種情況下,低維擴充套件,旨在通過分解卷積層來降低計算成本的方法出現。依據15,16,網路修剪是壓縮CNN最有效的方法,它消除了每層中的冗餘連線,然後應用權重量化和霍夫曼編碼以進一步降低儲存容量。雖然[11-16]在加速和壓縮網路方面取得了令人矚目的成績,但只有少數研究結合這些方法來解決速度和儲存容量的雙重挑戰。此外,據我們所知,沒有研究調查這些方法是否仍適用於涉及超過3,700種角色的大規模手寫漢字識別。

在本篇文章中,我們提出一種方法,構建快速緊湊的CNN用於HCCR。圖1所示為本方法,它統一了低階擴充套件和網路修剪的優勢。第一部分採用低維擴充套件來分解卷積層以達到加速目的,這使得CNN更加緊湊。第二部分的動機是去除每層中的冗餘連線,以進一步減少分配給引數的儲存,從而減少分配給引數的儲存整個網路的計算成本。然而,在先前關於網路修剪的研究[15,16]中,作者使用固定閾值來修剪每層的連線。相反,我們提出了一種動態的自適應權重(ADW)技術增加閾值並逐步修剪每層的引數。這樣,在每一層的修剪比例上出現了另一個問題,在精確度下降之間進行權衡的背景下,可能需要多次嘗試來確定每層的合適閾值和壓縮比,特別是在一些深度網路中。因此,為了更好地解決這個問題,我們提出了連線冗餘分析(CRA),它可以分析每層連線中的冗餘,並有助於最大限度地提高每層的修剪比率,同時可以容忍地降低精度。

在涉及離線HCCR的實驗中,所提出的框架將設計的CNN的計算成本降低了9倍,並且所需的引數儲存量減少了18倍。 它的準確度僅降低了0.21%,仍然超過了迄今為止在ICDAR 2013離線HCCR競賽資料庫中報道的最佳單網路CNN的結果。網路只需要2.3 MB的儲存空間,並且只需9.7 ms即可在單執行緒CPU上處理離線漢字識別。此外,為了進一步提高效能,我們可以增加網路的寬度和深度,或使用新的CNN模型,如GoogLeNet [17]或Deep ResNet。這可能有助於最終獲得離線HCCR的新基準,但這不是我們在本文中主要關注的問題。

本文的其餘部分安排如下:第2節回顧了相關工作,第3節詳細闡述了我們系統中使用的CNN基線網路的架構。 第4節介紹了自適應權重技術,第5節詳細介紹了連線冗餘分析方法。第6節詳細描述了全域性監督低維擴充套件,第7節介紹了實驗結果,包括執行時間,引數儲存和精度。 第8節總結了本研究的結論和我們未來的工作。

2.related work

2.1 離線HCCR

由於CNN的成功,基於MQDF的離線HCCR方法已經達到了極限。由多個CNN組成的多列深度神經網路(MCDNN)[10]是用於離線HCCR的第一個CNN。在ICDAR於2013年組織的離線HCCR競賽[7]中,富士通研發中心團隊開發的方法獲得了94.77%的準確率。2014年,他們通過對四個交替訓練的鬆弛卷積神經網路(ATR-CNN)進行投票,將準確度提高到96.06%。[20]隨後提出將傳統的Gabor特徵與離線漢字影象結合起來作為網路輸入,並使用簡化版的GoogLeNet稱為HCCR-Gabor-GoogLeNet。他們報告的準確率為96.35%,然後是10種模型的準確率為96.74%,成為超越人類表現的第一個。Zhou等人提出的框架。 [21]基於HCCR-GoogLeNet [20]; 他們使用Kronecker完全連線(KFC)層來替換四個初始組之後的層,然後是兩個完全連線的層,最後獲得96.63%的準確度。張等人。 [6]最近結合傳統的歸一化合作方向分解特徵圖和CNN,以獲得96.95%的準確度值和通過對三種型號進行投票,達到97.12%。

2.2 Accelerating and Compressing

大多數CNN結構,如VGGNet [22],AlexNet [23],CaffeNet [24]和GoogLeNet [17],都具有類似的特性:例如,卷積層產生大部分計算成本,而完全連線的層包含最多的網路引數。儘管存在不同的潛在途徑,但現有方法主要集中在加速卷積層和壓縮完全連線的層。

為了降低卷積層的計算成本,Cong和Xiao [25]使用Strassen演算法進行快速矩陣乘法,以降低卷積層的算術複雜度而不會降低精度。Mathieu等。 [26]採用快速傅立葉變換(FFT)將卷積計算轉換為頻域中的逐點積,以實現快速計算。拉文等人。 [27]提出使用Winograds最小濾波演算法來減少卷積層中的乘法。吳等人。 [28]最近提出了量化卷積神經網路,它量化權重並將計算轉換為卷積層中的內積。 然而,通過使用im2col演算法[29]和BLAS(基本線性代數子程式)庫將卷積層的計算轉換為矩陣乘法。這些工具對於CNN的更快CPU實現非常有用,並且不能與[25-28]中先前提出的方法一起使用。在本文中,我們使用基於低維擴充套件的方法,該方法可以通過使用BLAS庫來組合矩陣乘法。Jaderberg等人。 [12]利用跨通道或濾波器冗餘來為濾波器制定低秩基礎,並提出用於優化的濾波器和資料重建技術。張等人。 [14]通過考慮非線性情況和多層非對稱重建來減輕重建誤差,從而改進了他們的工作。對於完全連線的層,Chen等人提出的HashedNets。 [30]使用雜湊函式將權重分組為雜湊桶,其中相同雜湊桶中的連線共享引數值。Vanhoucke等人。 [31]使用8位定點整數來代替32位浮點。Matthieu等人。 [32]提出了將權重和啟用約束為+1或-1的二值化神經網路,並用一位異或運算代替大多數浮點乘法。很明顯,這可以降低計算成本和引數儲存,但另一方面會降低網路效能。林等人。 [33]使用基於SVD的低秩擴充套件來壓縮完全連線的層,然後使用全域性錯誤重建來微調整個網路。但是,這兩種方法都具有低壓縮比,或嚴重惡化網路效能。基於網路修剪的方法[15]可以通過學習重要連線而不影響網路效能來顯著減少引數儲存。Han等人提出了深度壓縮。 [34]通過組合網路修剪,加權量化和霍夫曼編碼來進一步減少儲存。郭等人。 [16]提出動態網路手術,可以根據韓的工作動態修剪和拼接連線[15]。

3.Architecture of Convolutional Neural Network

如圖2所示,我們設計了一個九層(僅考慮卷積層和完全連線層)網路,用於由七個卷積層和兩個完全連線層組成的離線HCCR。前三個卷積層中的每一個之後是最大池層。 在此之後,每兩個卷積層後面跟著一個最大池層。最後一個最大池層後面是一個完全連線的層,其中包含1,024個神經元。最後一個完全連線的層包含3,755個神經元,用於執行最終分類。整體架構可表示為Input-96C3-MP3-128C3-MP3-160C3-MP3-256C3-256C3-MP3-384C3-384C3-MP3-1024FC-Output。

我們發現,在一定範圍內,增加輸入字元影象的大小可以提高分類效能,但會產生更高的計算成本。因此,我們通過將輸入字元大小調整為96×96來修復增加大小和計算成本的這種影響。在我們的基線網路中,所有卷積濾波器都是3×3,並添加了一個畫素 保持大小。最後,最大池操作在3×3視窗上進行,步幅為2.

在我們提出的網路中,引數整流線性單元(PReLU)[35]與整流線性單元(ReLU)[36]稍有不同,用於使網路易於收斂並最大限度地降低過度擬合的風險,從而提高效能。Ioffe等。 [37]提出了批量歸一化(BN),它可以歸一化非線性輸入並通過減少內部協變數偏移來穩定分佈。它不僅提供了使用更高學習速率來加速網路融合的自由,而且還以可忽略的計算成本和儲存來改善網路效能。而且,對於一些深度網路,BN可以有效地解決梯度消失的問題。因此,所有卷積層和第一個完全連線層都配備了BN層,並且PReLU被新增到每個BN層。由於完全連線的層非常冗餘,我們在兩個完全連線的層之間添加了dropout [38]層以進行正則化,其中比率設定為0.5。我們提出的模型與離線HCCR的其他可用模型之間的主要區別在於前者涉及網路中的BN和PReLU; 因此,我們將此基線網路稱為HCCR-CNN9層。 儘管使用的CNN模型非常簡單,但它為HCCR產生了最先進的效能。

4. Adaptive Drop-Weight

我們的修剪方案如圖3所示; 它由兩部分組成。第一種稱為自適應權重(ADW)的新技術,可逐步實現通過動態增加修剪閾值來修剪每層的加權連線 。當修剪比率達到由層的CRA結果確定的值時,我們記住進一步修剪的閾值。

4.1 Pruning Threshold

在之前關於網路修剪的工作[15,16]中,確定的固定閾值如下:

 修剪閾值P th取決於層w i的平均絕對值和方差的權重。為了使P th適合於每層,通過它們的經驗規則選擇引數α,β,λ[15,16]。但是,如果固定閾值太高,則會導致大量修剪一開始的連線,導致效能急劇下降。相反,如果固定閾值太低,則壓縮比可能比 期望的價值小很多。為了解決這個問題,我們建議使用動態增加的閾值逐漸修剪每層的加權連線。 這種方法可以逐步引導網路實現自適應修剪連線。

4.2 Pruning Training Scheme

為了逐步修剪每層的冗餘連線,我們在每次迭代後修剪連線(在實驗中,我們設定I = 10)。如果我們打算修剪在T 1次迭代中包含N i個權重的每個層中的比率r i,則在每個修剪迭代中修剪的數量p i增加r i N i I / T 1。門檻也逐漸增加。 在沒有修剪過程的迭代期間,使用漸變更新權重,並且修剪的權重永遠不會返回。一旦達到所需的修剪比率,就增加閾值是固定的,並注意進一步修剪該層直到修剪在T 2次迭代後結束。 這種修剪過程已在演算法1中詳細描述。

為了進一步壓縮網路並提高效能,我們採用[34]中提出的策略來量化權重。 k均值聚類演算法用於聚類修剪網路的每個層的權重。然後對量化的修剪網路進行微調,這可以產生更好的網路效能。

5.  Connection Redundancy Analysis

深度神經網路由許多層組成,每個層在網路中起著重要作用。每層中不可避免地存在各種冗餘,特別是在卷積層和完全連線層之間的大間隙中。有意義的是,修剪比率由每個層的冗餘連線確定,並且相同的修剪比率不應用於所有層。儘管如此,[15,16]的回顧性工作涉及基於相關層權重的固定閾值P th來修剪連線。因此,需要進行大量實驗才能找到α,β的相關值,和λ為每層的修剪閾值P th; 不言而喻,這是非常耗時的,特別是對於深度網路。

為了更好地解決上述問題,我們提出了一種連線冗餘分析(CRA)方法,該方法可以分析每個層的冗餘,並可以幫助我們為其修剪剪下比r i設定合適的值。受[39]的啟發,進行了靈敏度分析,以分析層引數對網路效能的重要性。Iandola等。 [39]實施了直接修剪一半具有最小絕對值的引數的策略,並分別對每一層進行實驗。在測試修剪後的網路後,檢查了網路效能。 但是,此策略只能突出顯示給定層在效能方面的重要引數,並且無法確定多少連線是多餘的。

為了執行連線冗餘分析,我們分別對每一層進行了實驗。在對圖層進行實驗時,我們修復了其他圖層的權重,僅修剪了該圖層。通過使用我們提出的自適應丟棄量作為修剪策略,我們逐漸修剪了每層的冗餘連線,這被認為會逐漸降低網路效能。當精度下降超出給定的容差水平時,我們知道有多少連線被修剪,這引導我們進一步修剪網路。

由於所提出的CRA被實施以分別修剪層,因此難以分析將所有層修剪在一起的場景。但是,它可以指導我們為每一層設定適當的修剪比例。 CRA的最終目標是在可容忍的範圍內最大化壓縮比降低準確率,這需要進一步研究。

6. Grobal Supervised Low Rank Expansion

6.1 Decomposition Scheme

 對於圖4(a)所示的原始卷積層,輸入特徵對映是三維(3D)向量X∈RC×H×W,其中C是輸入特徵對映的通道,H和W 分別是它的高度和寬度。輸出特徵圖也是3D向量Y∈RN×H×W,其中N是輸出特徵圖的通道,H'和W'分別是它的高度和寬度。核矩陣是4D向量W∈RC×N×K×K,其中核的大小是K×K。輸出特徵對映可以通過:

我們知道直接卷積層的計算成本是O(CN K 2 H'W')。

通過執行圖4(b)所示的低秩擴充套件,最初與方形濾波器卷積的輸入特徵對映將被轉換為與兩個低秩濾波器卷積的輸入特徵對映。第一個是與垂直核心T∈RC×D×K×1卷積的輸入,其中D是分解層的輸出特徵數。第一個輸出是:

 

其中第一卷積的計算成本是O(CDKH'W)。

然後輸出M∈RD×H×W與水平核V∈RD×N×1×K卷積,最終輸出由下式計算:

 第二卷積的計算成本由O(N DKH'W')給出。 如果一起考慮兩個低秩擴充套件,則計算成本為O(DKH'(N W'+ CW))。因此,如果我們想要加速卷積層的x時間,可以確定D為:

 6.2. Training scheme

在過去的工作[12-14]中,每層的輸出被用作監督者來學習該層的低秩過濾器。該方法主要設計為最小化區域性輸出和低秩近似輸出之間的重建誤差,如圖5(a)所示。我們將此策略稱為本地監督低級別擴充套件(LSLRE)。我們認為雖然使用區域性層的輸出來指導低階擴充套件是一種合理而直接的策略,但它與全域性分類的效能沒有直接關係。

因此,我們提出全球監督低級別擴充套件(GSLRE),它使用標籤作為監督者。訓練方案如圖5(b)所示。 訓練過程以逐層的方式進行。對於特定層,原始卷積層,即第二層Conv2被分解為兩個較小的層,即Conv2 de1和Conv2 de2(見圖5(b))。Conv2 de1和Conv2 de2的引數是使用SGD演算法通過反向傳播確定的,基於整個網路的損耗函式。值得一提的是,在訓練特定卷積層期間,其他卷積層的引數保持固定。 這是因為我們的網路配備了BNlayer,即使網路加深,也可以使漸變平滑地傳遞到較低層。

由於第一個卷積層很難近似(如[11,12]中所述),並且在從原始影象中提取特徵中起著重要作用,我們在第二個卷積層開始我們的低秩訓練方案。一旦第二層被充分分解和訓練,我們就開始分解第三層。當訓練第三卷積層時,根據SGD-BP演算法學習和更新第二和第三層的引數。以這種方式,所有卷積層都被分解和訓練。最後,由於第一個卷積層和完全連線層的引數在上述低階擴充套件訓練過程中始終是固定的,我們需要對整個網路進行微調以進一步提高整體效能。

7.實驗

我們在離線HCCR任務上評估了我們的方法。 培訓資料來自CASIA-HWDB1.0和CASIA-HWDB1.1資料庫,分別由300和420人編寫。 資料集總共包含2,678,424個樣本。 測試資料是ICDAR-2013離線競賽[7]中使用的資料集,其中包含由60人編寫的224,419個樣本。 培訓和測試資料庫由不同的人編寫,包含3,755個classe

 7.1 baseline model

我們在Caffe [24]深度學習平臺上訓練了我們的基線網路(圖2)。我們使用了小批量梯度下降的方法和訓練衝量。 小批量規模設定為128,衝量為0.9。為了使訓練資料獨立於每個小批量,我們在訓練之前對資料進行了混洗。由於我們提出的網路配備了BN層,因此我們可以使用更高的網路學習率加速收斂。因此,我們將學習率初始化為0.1,然後每70,000次迭代將其降低0.1。 訓練在300,000次迭代後完成,我們獲得了97.30%的準確度。

圖2顯示了我們提出的網路。 我們意識到第一個卷積層在從原始影象中提取特徵中起著重要作用[11,12],並且導致較低的計算成本和較小的引數儲存(小於整個網路的1%)。 因此,直觀的是不應該修改該層的引數。

7.2 The evaluation of the Global Supervised Low Rank Expansions

 

通過使用我們提出的架構,基線網路加速了四倍。 使用Eq。 5,我們計算了每個卷積層分解後的特徵對映數。 在表1中,很明顯,通過整合我們設計的全球監督低級別擴充套件培訓計劃,我們能夠將網路加速四倍,準確率下降微不足道。 還表明,我們的分解訓練方案可以獲得比分解網路架構的直接訓練更好的結果。

 7.3. The evaluation of the Adaptive Drop-weight

我們首先使用LeNet-300-100和LeNet-5網路將我們的方法應用於MNIST資料庫[9]。MNIST資料集設計用於手寫數字的字元識別。 LeNet-5是一個卷積網路,包含兩個卷積層和兩個完全連線的層。LeNet-300-100是一個完全連線的網路,有兩個隱藏層。 基線模型在Caffe [24]深度學習平臺上進行了訓練,沒有任何資料增加。 我們使用Caffe提供的訓練引數設定直接訓練了LeNet-5。 以這種方式,在訓練10,000次迭代之後獲得了99.11%的準確度。 LeNet-300-100的訓練引數設定與LeNet-5的訓練引數設定幾乎相同,精度為98.33%。

如表2所示,根據我們提出的修剪策略,我們使用所提出的ADW方法將LeNet-5壓縮了133倍,將LeNet-300-100壓縮為60。 它超過了[15]中的結果,這是網路修剪壓縮的第一個應用。 與最近的工作[16]相比,我們實現了更高的修剪比和更高的準確性,特別是對於LeNet-300-100。 我們還結合了量化權重的方法以進一步壓縮。 最後,我們為LeNet-5獲得了250倍的最新壓縮比,為LeNet-300-100獲得了113倍,而且沒有任何精度損失。

在此之後,我們將我們提出的壓縮框架應用於加速四倍的離線HCCR網路,幷包含13個卷積層和兩個完全連線的層。 在表3中,很明顯,僅使用所提出的ADW方法將整個網路壓縮到其大小的大約四分之一。 當我們對權重量化進行整合時,儲存量進一步減少了約14倍,精度僅下降了0.18%。

在修剪LeNet-5時,我們注意到單獨修剪卷積和完全連線的層是處理消失梯度問題比將這些層修剪在一起更好的選擇,這是過去工作中使用的策略[15,16]。 然而,由於我們的加速網路被重新配置了BN層,它使得漸變能夠平滑地向前和向後傳遞傳播,也見於[18]。 在我們的實驗中,我們能夠將卷積層和完全連線的層修剪在一起。 這不僅縮短了修剪過程的訓練時間,而且同時產生了更高的精度和壓縮比。 

7.4. The evaluation of the Connection Redundancy Analysis

我們在LeNet-5和LeNet-300-100的每一層上實施了CRA。 通過我們提出的自適應落錘修剪策略,我們逐步修剪了每層的連線。

在圖6(a)和6(b)中,我們看到在實驗開始時,網路不太容易受到修剪比例的影響; 但隨後,隨著修剪率的較高值,大幅下降。 然而,由於每層具有不同的冗餘連線,因此每個層的修剪比不同。 在我們的實驗中,CRA實施時每層的可容忍精度下降0.1%。 然後,修剪比例用於指導網路的修剪。

 以同樣的方式,CRA應用於離線HCCR網路,這在卷積層中將計算成本降低了四倍。 然後,我們分析每層的冗餘,可容忍的精度下降0.1%,以指導我們進行修剪。 由於卷積層已被加速四次,因此其中的冗餘被顯著消除。如圖7所示,我們設定了比卷積層中CRA結果低得多的修剪比率,以保持標準精度。

 7.5. The results of accuracy

表4說明了在ICDAR-2013離線競爭資料庫上實現超出人類水平的效能的不同方法的結果,以及它們的網路儲存和FLOP(乘法 - 增加)的詳細資訊。

我們使用我們的九層網路,如圖2所示,並達到了97.30%的準確度。 我們意識到BN和PReLU層對離線HCCR非常有效。 使用我們提出的GSLRE和ADW,我們進一步將計算成本降低了9倍,引數儲存降低了18倍,精度僅降低了0.21%。 該結果仍然超過表4中第7行中的最佳單網路效能,但我們的模型同時涉及的引數儲存量相當少,並且計算成本較低。

很明顯,網路越大越深,表現越好。 因此,基於我們提出的網路,我們添加了更多的卷積層:輸入-96C3-MP3-128C3-128C3-MP3-192C3-192C3-MP3-256C3-256C3-MP3-384C3-384C3-384C3-MP3-1024FC-輸出。 我們稱這個大型網路為HCCR-CNN12Layer,其精度為97.59%,如表4第12行所示。然後,結合我們的GSLRE和ADW,我們仍然能夠將計算成本降低16倍並且引數儲存 10倍,精度僅下降0.19%

7.6. The results of the forward implementation

網路的執行時間對於應用離線HCCR來處理實時任務至關重要。可以部署其他技術來加速CNN以用於實時應用。迴圈展開(LU)是提高速度的眾所周知且有效的策略,尤其是對於大迴圈。使用im2col演算法,使用BLAS將卷積計算轉換為矩陣 - 矩陣乘法 庫1,已被證明是基於CPU的CNN實現的有效方式。通過使用BLAS庫,完全連線的層直接實現為矩陣向量乘法。此外,當我們使用我們提出的ADW方法消除每層中的連線時,我們分別對卷積層和完全連線層使用稀疏矩陣 - 矩陣乘法和稀疏矩陣 - 向量乘法。但是,我們發現如果圖層不夠稀疏,效能會下降。在我們提出的網路中,我們只是簡單地應用稀疏矩陣向量乘法來計算完全連通的層。

我們將正向執行時間與單執行緒CPU上的不同策略進行了比較。 實驗在配備3.60 GHz Intel Core i7-6700和16 GB記憶體的單臺臺式PC上進行。 從表5中,我們看到當我們沒有使用技術來加速CNN時,執行時間很長(每個字元1369毫秒)。 當我們簡單地對所有層使用迴圈展開時,執行時間減少了。 當我們使用加速方法並將計算成本降低四倍時,執行時間也減少了大約四倍(從492毫秒減少到118毫秒)。 然後,分別採用矩陣矩陣和矩陣向量乘法與BLAS庫計算所有卷積層和完全連通層。 迴圈展開也適用於所有其他圖層。

 

執行時間顯著減少。 最後,使用我們的壓縮方法修剪卷積層和完全連線層中的冗餘連線,我們採用稀疏矩陣向量乘法來實現完全連線層中的計算。 通過這種方式,我們為大規模HCCR實現了快速緊湊的CNN模型,速度為9.7 ms / char,但只有2.3 MB的儲存空間。 我們將Zhang等人[6](最後一行)實施的正向執行時間與我們的模型進行了比較。 提出的前向實施方法顯然比張的[6]方法更有效:它大約快30倍但小10倍。 我們快速而緊湊的CNN模型的原始碼forword實施很快將公開發布。

 8. Conclusion

在本文中,我們提出了一種有效的方法來加速和壓縮CNN,用於涉及3,755種漢字的大規模HCCR。我們提出了一種全域性監督低秩擴充套件來加速卷積層中的計算,以及自適應丟棄 - 通過使用每層的修剪閾值的動態增加來移除冗餘連線的權重方法。 我們還提出了連線冗餘分析技術來分析每層中的冗餘連線,以便在不影響網路效能的情況下指導CNN的修剪。

在未來的工作中,我們計劃將建議的框架應用於其他領域,例如影象分類和物件檢測。 這些想法也可用於解決深度遞迴神經網路[42],特別是對於長期短期記憶,因為它們是可行的深度學習模型,可以處理基於時間序列的線上手寫字元/文字識別問題[43] ,44]。