閆 河 王 鵬 董鶯艷 羅 成 李 煥
1(重慶理工大學(xué)計算機(jī)科學(xué)與工程學(xué)院 重慶 401320) 2(重慶理工大學(xué)兩江人工智能學(xué)院 重慶 401147)
如今,商業(yè)文件(見圖1)通常由文檔分析系統(tǒng)(DAS)進(jìn)行處理,以減少工作人員的工作量。DAS的一項重要任務(wù)是對文檔進(jìn)行分類,即確定文檔所指的業(yè)務(wù)流程的類型。典型的文檔類是發(fā)票、地址變更或索賠等。文檔分類方法可分為基于圖像[1-6]和基于內(nèi)容的方法[7-8]。DAS選取哪一種方法更合適,通常取決于用戶處理的文檔。像通常的字母一樣,自由格式的文檔通常需要基于內(nèi)容的分類,而在不同布局中包含相同文本的表單則可以通過基于圖像的方法來區(qū)分。
圖1 來自不同類別的Tobacco-3482數(shù)據(jù)集的樣本圖像
然而,并不總是事先知道文檔屬于什么類別,這就是為什么在基于圖像的方法和基于內(nèi)容的方法之間很難選擇的原因。一般來說,基于圖像的方法是大多數(shù)學(xué)者首選的方法,因為它直接工作在數(shù)字圖像上。由于文檔圖像類的多樣性,存在高類內(nèi)方差和低類間方差的類,分別如圖2和圖3所示。因此,很難找到用于文檔圖像分類的人工特征提取方法。
圖2 Tobacco-3482數(shù)據(jù)集廣告類的文檔, 顯示了較高的類內(nèi)差異
圖3 不同類別數(shù)據(jù)集的類間差異
近幾年,隨著深度學(xué)習(xí)的發(fā)展,該技術(shù)已經(jīng)應(yīng)用到眾多領(lǐng)域。眾多學(xué)者將深度學(xué)習(xí)應(yīng)用于文檔結(jié)構(gòu)學(xué)習(xí)中,使用CNN自動學(xué)習(xí)并提取文檔圖像中的特征,然后對文檔圖像進(jìn)行分類。然而,同樣在這種方法中,即使使用GPU訓(xùn)練此過程也非常耗時。通過以上分析,以下簡要概述相關(guān)研究發(fā)展歷程。
文獻(xiàn)[9]使用布局和結(jié)構(gòu)相似性方法進(jìn)行文檔匹配,而文獻(xiàn)[10]將基于文本和布局的特征結(jié)合起來。2012年,文獻(xiàn)[4]中提出了一種文檔分類的方法,該方法依賴于從文檔圖像的圖像塊中派生出的編碼碼字符。在文檔學(xué)習(xí)中編碼字典是以一種無監(jiān)督的學(xué)習(xí)方式。為此,該方法遞歸地將圖像劃分為塊,并使用圖像塊中字的直方圖來建模圖像塊之間的空間聯(lián)系。兩年后,同一位作者還提出了另一種方法,即建立文檔圖像SURF描述符的編碼記錄[11],并用之前所提方法,運用這些特征用于文檔分類。Chen等[5]提出了一種利用低層圖像特征對文檔進(jìn)行分類的方法。然而,它們的方法僅限于結(jié)構(gòu)化文檔。以上方法大部分都局限于結(jié)構(gòu)化文件。文獻(xiàn)[6]中使用二進(jìn)制圖像中的像素信息對表單文檔進(jìn)行分類。該方法利用k均值算法對圖像進(jìn)行像素密度分類。在文獻(xiàn)[12]中,為了準(zhǔn)確地識別出中文、日語、泰語等文檔,本文提出了CE-CLCNN的深度卷積網(wǎng)絡(luò)結(jié)構(gòu)。這種結(jié)構(gòu)是基于端到端的學(xué)習(xí)模型,并通過對文檔的每個字符作為文檔處理。實驗表明,該方法取得了不錯的識別分類效果。文獻(xiàn)[13]中運用卷積神經(jīng)網(wǎng)絡(luò)識別文檔圖像,并運用智能手機(jī)的相機(jī)提取文檔字符,解決了文檔因權(quán)限不能下載等問題,通過在文檔圖片上的對比實驗取得了較好的效果。文獻(xiàn)[14]中提出了一種多視角重構(gòu)方法,將高維數(shù)據(jù)映射到低維空間,通過降維處理,并應(yīng)用于文檔分類識別,通過實驗驗證了此方法有效。文獻(xiàn)[15]提出預(yù)訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu),并通過訓(xùn)練學(xué)習(xí)不同大小的文檔圖像,以增加訓(xùn)練的數(shù)據(jù)量,在英文和印度文上的實驗結(jié)果表明,此方法具有更好的識別效果。文獻(xiàn)[16]提出了基于區(qū)域的深度卷積神經(jīng)網(wǎng)絡(luò)框架,用于文檔學(xué)習(xí),在ImageNet數(shù)據(jù)集中,通過預(yù)訓(xùn)練vgg-16網(wǎng)絡(luò)結(jié)構(gòu)中導(dǎo)出權(quán)重來訓(xùn)練文檔分類器,從而實現(xiàn)“域間”轉(zhuǎn)移學(xué)習(xí)。文獻(xiàn)[17]運用了輕量級的神經(jīng)網(wǎng)絡(luò)訓(xùn)練Tobacco-3482數(shù)據(jù)集,在沒有使用遷移學(xué)習(xí)的條件下,取得了不錯的效果。在文獻(xiàn)[18]中,比較了RVL-CDIP數(shù)據(jù)集上的使用AlexNet和Google網(wǎng)絡(luò)架構(gòu)的性能,顯示出比常規(guī)方法更高的魯棒性。同時,在文獻(xiàn)[19]分別用AlexNet、VGG-16、Google和ResNet-50模型對RVL-CDIP和Tobacco3482數(shù)據(jù)集進(jìn)行了遷移學(xué)習(xí)測試。盡管上述基于CNN的深度學(xué)習(xí)方法在魯棒性等方面有了很大的提升,但是大部分網(wǎng)絡(luò)的訓(xùn)練非常耗時。為了使深度神經(jīng)網(wǎng)絡(luò)CNN表現(xiàn)出最佳性能同時滿足實時訓(xùn)練要求,本文提出使用CNNs[20]和極限學(xué)習(xí)機(jī)(ELM)[21-22]相結(jié)合的方法。
在本文中,我們提出使用極限學(xué)習(xí)機(jī)(ELM)的方法完成實時訓(xùn)練。為了克服人工特征提取和長時間訓(xùn)練的困難,我們設(shè)計了一種將深度CNN的自動特征學(xué)習(xí)與高效的極限學(xué)習(xí)機(jī)相結(jié)合的方法。此方法共有兩階段:第一階段是深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練并將其用作特征提取器;第二階段用ELM進(jìn)行分類。ELM的本質(zhì)不同于其他神經(jīng)網(wǎng)絡(luò),具有高效迅速等特點。結(jié)果表明,在一幅圖像上平均訓(xùn)練時間僅需1 ms,因此顯示出對于實時性能的要求。同時,該方法使得神經(jīng)網(wǎng)絡(luò)非常適合在增量學(xué)習(xí)框架中使用。
(1)
式中:wi是連接第i個隱含節(jié)點和輸出節(jié)點的權(quán)值矩陣;βi是第i個節(jié)點的輸出權(quán)值向量;bi是偏置;函數(shù)g為relu、sigmoid等激活函數(shù)。
(2)
式中:正則化是為了避免過擬合,其中C是調(diào)整系數(shù),通過計算H=[[ψ(x1)]T,[ψ(x2)]T,…,[ψ(xN)]T]T和T=[t1,t2,…,tN]可以得到如下的最優(yōu)化問題,并稱為嶺回歸:
(3)
上述問題是凸優(yōu)化問題,并受下列線性條件的約束。
B+CHT(T-HB)=0
(4)
該線性系統(tǒng)可以用數(shù)值方法求解,從而得到最優(yōu)解B*。
(5)
本文方法不需要高分辨率的文檔特征,如光學(xué)字符識別。相反,它完全依賴于文檔的結(jié)構(gòu)和布局來對它們進(jìn)行分類。
本文提出的網(wǎng)絡(luò)體系結(jié)構(gòu)是基于AlexNet[21]的CNN網(wǎng)絡(luò)。它由五個卷積層和一個極限學(xué)習(xí)機(jī)組成。與原有的AlexNet體系結(jié)構(gòu)一樣,在最后一個最大池層之后,我們得到了256個大小為6×6的特征映射(如圖4所示)。雖然AlexNet使用多個完全連接的層來對生成的特征映射進(jìn)行分類,但我們建議使用單層ELM。卷積層的權(quán)重是在一個大型數(shù)據(jù)集上預(yù)先訓(xùn)練成一個完整的AlexNet網(wǎng)絡(luò),此網(wǎng)絡(luò)有三個全連接層和標(biāo)準(zhǔn)反向傳播機(jī)制。在訓(xùn)練結(jié)束后,全連接層被丟棄,卷積層被固定,并作為特征提取器。然后,由CNN提取的特征向量作為ELM訓(xùn)練和測試的輸入向量。該體系結(jié)構(gòu)中使用的ELM是一種單層前饋神經(jīng)網(wǎng)絡(luò)。當(dāng)目標(biāo)數(shù)據(jù)集有10類時,我們用隱藏層中的2 000個神經(jīng)元和10個輸出神經(jīng)元對極限學(xué)習(xí)機(jī)進(jìn)行測試。隱含層神經(jīng)元以sigmiod作為激活函數(shù)。
圖4 CNN與ELM結(jié)合網(wǎng)絡(luò)圖
在一個大型數(shù)據(jù)集上訓(xùn)練一個完整的AlexNet,為ELM提供一個有效的特征提取器,然后在目標(biāo)數(shù)據(jù)集上對ELM進(jìn)行訓(xùn)練。具體來說,在數(shù)據(jù)集上訓(xùn)練AlexNet網(wǎng)絡(luò),其中數(shù)據(jù)中包含16個類。因此,AlexNet最后一個全連接層中的神經(jīng)元數(shù)目從1 000變?yōu)?6。除了最后一個網(wǎng)絡(luò)層之外,所有的網(wǎng)絡(luò)層都是使用在ImageNet上預(yù)先訓(xùn)練過的AlexNet網(wǎng)絡(luò)模型,并保留此模型的初始化條件。訓(xùn)練使用隨機(jī)梯度下降,批量大小為25,初始學(xué)習(xí)速率為0.001,動量為0.9,重量衰減為0.000 5。為了防止過擬合,第六層和第七層配置dropout ratio為0.5。經(jīng)過40次迭代的訓(xùn)練后,完成了整個訓(xùn)練過程。本文用Caffe框架[24]來訓(xùn)練這個模型。
極限學(xué)習(xí)機(jī)被用來訓(xùn)練和評估包含10個類別的圖像Tobacco-3482數(shù)據(jù)集[11]。這些圖像通過CNN訓(xùn)練后并將第五個池化層的激活值傳遞給ELM(全連接層)。
在本文中,使用了兩個數(shù)據(jù)集。首先,我們使用Ryerson視覺實驗室復(fù)雜文檔信息處理(RVL-CDIP)數(shù)據(jù)集[3]來訓(xùn)練一個完整的AlexNet。此數(shù)據(jù)集包含400 000幅圖像,其中分布著16個類,320 000幅用于訓(xùn)練,40 000幅用于驗證和測試。
其次,我們使用Tobacco-3482數(shù)據(jù)集[11]對提出的ELM進(jìn)行訓(xùn)練,并對其性能進(jìn)行評價。訓(xùn)練結(jié)果如表1所示。此數(shù)據(jù)集包含來自10個文檔類的3 482幅圖像。由于兩個數(shù)據(jù)集之間存在一些重疊,因此我們將包含在大數(shù)據(jù)集中的兩個數(shù)據(jù)集排除。AlexNet并不是對32萬幅圖像進(jìn)行訓(xùn)練,而是只對319 784幅圖像進(jìn)行訓(xùn)練。
表1 在數(shù)據(jù)集Tobacco-3482上采用不同預(yù)訓(xùn)練方法 得到的準(zhǔn)確率比較
為了與Tobacco-3482數(shù)據(jù)集上的其他方法進(jìn)行公正的比較,我們使用了與Kang[2]和Harley[3]類似的評估標(biāo)準(zhǔn)。具體來說,我們只使用Tobacco-3482數(shù)據(jù)集的子集進(jìn)行訓(xùn)練,從每類10幅圖像到每類100幅圖像不等,剩下的圖像用于測試。由于數(shù)據(jù)集非常小,因此對于每個數(shù)據(jù)集分為10個不同的數(shù)據(jù)集來訓(xùn)練和評估分類器,并得到評估的性能。訓(xùn)練時間對比如表2所示。
表2 圖像分類所需的時間對比
由于本實驗需要最初的網(wǎng)絡(luò)結(jié)構(gòu)AlexNet,因而需要對AlexNet進(jìn)行訓(xùn)練,通過運用ImageNet預(yù)先訓(xùn)練好完整的網(wǎng)絡(luò)結(jié)構(gòu),與Afzal等[1]使用Tobacco-3482數(shù)據(jù)集訓(xùn)練網(wǎng)絡(luò)一樣。前面我們訓(xùn)練了多個版本的網(wǎng)絡(luò),每個訓(xùn)練數(shù)據(jù)的大小劃分為10個不同的區(qū)間,即每類圖像分別為10,20,…,100,共訓(xùn)練了100個網(wǎng)絡(luò)。這些實驗的訓(xùn)練數(shù)據(jù)集進(jìn)一步細(xì)分為用于實際訓(xùn)練的數(shù)據(jù)集(80%)和用于驗證的數(shù)據(jù)集(20%)。
我們對319 784幅RVL-CDIP語料庫的圖像進(jìn)行了初始化AlexNet的訓(xùn)練,并丟棄了網(wǎng)絡(luò)中全連接的部分。保留的網(wǎng)絡(luò)結(jié)構(gòu)被用作特征提取器來訓(xùn)練和測試極限學(xué)習(xí)機(jī)。極限學(xué)習(xí)機(jī)在Tobacco-3482數(shù)據(jù)集上訓(xùn)練。由于這些網(wǎng)絡(luò)初始權(quán)值都是隨機(jī)初始化,我們?yōu)?00個分區(qū)中的每一類訓(xùn)練10個ELM,并得到每個分區(qū)的平均精度。訓(xùn)練對比如圖5所示。
圖5 不同ELM分類器與原始網(wǎng)絡(luò)的平均精度對比圖
本文提出的分類器性能與圖5中描述的Artis狀態(tài)相比較,帶有文檔預(yù)訓(xùn)練的ELM分類器的性能已經(jīng)優(yōu)于當(dāng)前最先進(jìn)的技術(shù)水平。每類100個訓(xùn)練樣本,測試準(zhǔn)確率由75.73%提高到83.24%,相比較減少30%以上的誤差。隨著識別性能的提高,訓(xùn)練和測試所需的運行時間也減少了。特別是在GPU加速訓(xùn)練的情況下,本文方法比當(dāng)前先進(jìn)水平快500多倍。對于訓(xùn)練和測試,CNN與ELM相結(jié)合的方法每幅圖像識別只需要約1 ms,從而實現(xiàn)了實時性。超過90%運行耗時用于特征提取,使用不同的CNN架構(gòu)可以進(jìn)一步加快速度。采用ImageNet預(yù)訓(xùn)練的ELM分類器達(dá)到了與目前最先進(jìn)水平相當(dāng)?shù)木龋溆嬎愠杀緝H為計算量的一小部分。
圖6顯示了對每類100幅圖像進(jìn)行訓(xùn)練的示例性ELM分類器的混淆矩陣??梢钥闯觯茖W(xué)這一類文本是迄今為止最難辨認(rèn)的。這個結(jié)果是與Afzal等[1]的實驗結(jié)果一致,同時也可以解釋科學(xué)類與報告類之間的低類間差異。
圖6 ELM的混淆矩陣
本文主要解決了文檔分類和實時訓(xùn)練的問題,提出了針對文檔分類的實時訓(xùn)練方法。本文方法主要分為兩個步驟:首先選用深度神經(jīng)網(wǎng)絡(luò)完成對特征的有效提?。蝗缓筮\用極限學(xué)習(xí)機(jī)對數(shù)據(jù)的高效訓(xùn)練。使用極限學(xué)習(xí)機(jī)后,數(shù)據(jù)的訓(xùn)練效率和訓(xùn)練的時間明顯提升。通過在眾多評定標(biāo)準(zhǔn)和對比實驗下證明了本文方法的有效性和魯棒性。對于文檔分類識別領(lǐng)域是一次重大的突破。
下一步研究方向是如何快速提取圖像特征,因為在本文方法中,超過90%的時間用于從深層神經(jīng)網(wǎng)絡(luò)中提取特征。另一個的研究方向是在一個高性能集群中對googlenet和Resnet-50與ELM結(jié)合的分類器進(jìn)行進(jìn)一步性能測試。