沈 強(qiáng) 李 輝* 張 燕
(1.北京化工大學(xué) 信息科學(xué)與技術(shù)學(xué)院,北京 100029; 2.北京市電氣工程學(xué)校,北京 100123)
手寫體漢字識(shí)別長期以來都是模式識(shí)別的一個(gè)重要研究領(lǐng)域,由于漢字字符種類龐大、書寫風(fēng)格迥異、存在很多形似字符以及手寫體漢字?jǐn)?shù)據(jù)集不足等原因,給識(shí)別帶來極大挑戰(zhàn)。近年來,基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的圖像識(shí)別方法取得了大量成果。Krizhevsky等[1]在2012年ImageNet競賽上提出的AlexNet網(wǎng)絡(luò)模型以超過第二名10.9%的絕對(duì)優(yōu)勢一舉奪冠,并由此在該領(lǐng)域內(nèi)引發(fā)CNN研究熱潮;2015年,GoogleNet模型在比賽中脫穎而出[2],在加強(qiáng)網(wǎng)絡(luò)深度的同時(shí)提出了創(chuàng)新結(jié)構(gòu);2016年,He等[3]提出ResNet網(wǎng)絡(luò)結(jié)構(gòu),該結(jié)構(gòu)擁有超過100層的網(wǎng)絡(luò),通過引入殘差單元來解決退化問題,成為里程碑事件。在手寫體漢字識(shí)別方面也有諸多學(xué)者提出不同特點(diǎn)的訓(xùn)練網(wǎng)絡(luò),均獲得了不錯(cuò)的分類效果[4-6]。在以上文獻(xiàn)中,除改進(jìn)模型結(jié)構(gòu)外,良好性能的取得也離不開大規(guī)模數(shù)據(jù)集的支撐。原因在于卷積神經(jīng)網(wǎng)絡(luò)需要訓(xùn)練大量帶有標(biāo)簽的數(shù)據(jù)樣本才能獲得更優(yōu)的分類效果,小規(guī)模數(shù)據(jù)集訓(xùn)練容易出現(xiàn)過擬合現(xiàn)象,即神經(jīng)網(wǎng)絡(luò)模型過于復(fù)雜(例如AlexNet具有6千萬級(jí)的參數(shù)規(guī)模)雖然可以很好地適應(yīng)每一個(gè)訓(xùn)練數(shù)據(jù)的分布,但會(huì)忽略其中的通用趨勢,使之對(duì)未知數(shù)據(jù)無法作出可靠的判斷。
目前研究領(lǐng)域內(nèi)常見的手寫體漢字?jǐn)?shù)據(jù)集存在字符類別少、書寫者數(shù)量少(字符多樣性差)、樣本不均衡和總體樣本數(shù)少等不足。例如北京郵電大學(xué)發(fā)布的HCL2000[7]與哈爾濱工業(yè)大學(xué)發(fā)布的HIT- MW手寫體數(shù)據(jù)集[8],兩者雖采樣于真實(shí)書寫環(huán)境,具有豐富多樣的書寫風(fēng)格,但字符種類和樣本規(guī)模較??;SCUT- COUCH2009是由華南理工大學(xué)發(fā)布的具有最多字符種類的手寫體字符集[9],共計(jì)13 548類漢字,數(shù)據(jù)規(guī)模達(dá)到360萬;相較而言,由中國科學(xué)院發(fā)布的CASIA- OLHWDB/HWDB數(shù)據(jù)集擁有最大的數(shù)據(jù)規(guī)?!?20萬脫機(jī)手寫體字符樣本[10];目前擁有最多書寫者的手寫體漢字?jǐn)?shù)據(jù)集是包含2 988名作者樣本的SCUT- EPT[11],樣本共涵蓋4 250類漢字,規(guī)模為120萬。除數(shù)據(jù)規(guī)模外,在數(shù)據(jù)集建立過程中還需要設(shè)計(jì)合理的條件限制以及投入大量的時(shí)間成本和人工成本,這些也是阻礙大規(guī)模數(shù)據(jù)集建立的重要因素。基于現(xiàn)實(shí)條件的限制,很多時(shí)候無法獲取到足夠的訓(xùn)練數(shù)據(jù)來解決特殊環(huán)境下的字符識(shí)別問題,例如醫(yī)療文本、刑偵文本、少數(shù)民族文字等等,這些數(shù)據(jù)集規(guī)模遠(yuǎn)小于漢字?jǐn)?shù)據(jù)集,并且建立難度更高。
為了解決樣本數(shù)據(jù)不足的問題,人們最先提出了基于圖像處理的數(shù)據(jù)增強(qiáng)技術(shù)方法。例如,有學(xué)者提出利用平移、尺度縮放、變形拉伸、旋轉(zhuǎn)等方法對(duì)漢字圖像數(shù)據(jù)進(jìn)行擴(kuò)充并驗(yàn)證了方法的有效性[12]。由Simard等[13]提出的彈性形變(elastic distortion)方法在Mixed National Institute of Standards and Technology Database(MNIST)上大獲成功。隨后數(shù)據(jù)增強(qiáng)技術(shù)在字符識(shí)別領(lǐng)域得到廣泛應(yīng)用[14-16]。生成對(duì)抗網(wǎng)絡(luò)(generative adversarial networks,GAN)則是Goodfellow等[17]在2014年提出的一種基于博弈論思想的生成式網(wǎng)絡(luò)模型,作者從理論上證明了GAN模型可以生成與真實(shí)數(shù)據(jù)相同分布的數(shù)據(jù)。之后,以GAN為核心的數(shù)據(jù)增強(qiáng)方法開始被不斷提出[18-20]。至此,數(shù)據(jù)增強(qiáng)技術(shù)大致可分為兩類,即傳統(tǒng)方法(包括形變類、噪聲類)和生成式方法。形變方法使得字符形狀發(fā)生變化,通過造成字符的結(jié)構(gòu)信息改變來模擬不同人群的書寫習(xí)慣和書寫風(fēng)格。噪聲方法增加或改變圖片背景信息,對(duì)字符本身結(jié)構(gòu)不產(chǎn)生直接影響,模擬的是書寫環(huán)境造成的冗余信息。生成式方法更傾向于模仿,神經(jīng)網(wǎng)絡(luò)通過學(xué)習(xí)訓(xùn)練生成能夠代替真實(shí)樣本的偽數(shù)據(jù)。
目前生成式方法在連續(xù)性圖形類數(shù)據(jù)中應(yīng)用較為廣泛,由于離散型文本數(shù)據(jù)較難學(xué)習(xí),再加上網(wǎng)絡(luò)本身需要一定數(shù)量的訓(xùn)練數(shù)據(jù),使得單一使用生成網(wǎng)絡(luò)方法對(duì)小規(guī)模數(shù)據(jù)的字符數(shù)據(jù)增強(qiáng)效果并不顯著。基于小規(guī)模手寫體漢字?jǐn)?shù)據(jù)集,本文提出一種結(jié)合傳統(tǒng)數(shù)據(jù)增強(qiáng)技術(shù)的深度卷積對(duì)抗生成網(wǎng)絡(luò)方法(X- DCGAN)進(jìn)行數(shù)據(jù)集擴(kuò)充和識(shí)別,該方法能夠結(jié)合兩者優(yōu)勢,給予生成網(wǎng)絡(luò)更充足的訓(xùn)練數(shù)據(jù),從而顯著提高生成式數(shù)據(jù)增強(qiáng)方法在小規(guī)模手寫體漢字?jǐn)?shù)據(jù)集下的生成效果。
常見的傳統(tǒng)數(shù)據(jù)增強(qiáng)方法為形變類和噪聲類。形變類改變字符形態(tài),如筆畫粗細(xì)、字符位置、筆畫扭曲等,使得字符在原有形態(tài)上呈現(xiàn)出多種書寫變化,如圖1所示。噪聲類對(duì)圖片整體進(jìn)行處理,增加或改變像素信息,達(dá)到模糊、雜亂及離散化效果,如圖2所示。
圖1 形變類數(shù)據(jù)增強(qiáng)方法效果Fig.1 Effect of deformation method
圖2 噪聲類數(shù)據(jù)增強(qiáng)方法效果Fig.2 Effect of noise method
形態(tài)學(xué)操作(Thickness) 該方法包括幾類基本的圖像運(yùn)算,如膨脹(Dilate)、腐蝕(Erode)、開運(yùn)算、閉運(yùn)算和形態(tài)學(xué)梯度等。這些操作能夠改變字符筆畫的寬度,可用于圖像的邊界提取、區(qū)域填充、細(xì)化、粗化等。
圖像傾斜(Slant)和仿射變換(Affine)[21]這兩種方法能夠使得圖像產(chǎn)生角度變化,達(dá)到放大、縮小、平移和旋轉(zhuǎn)的效果,并且允許圖像在兩個(gè)方向上實(shí)現(xiàn)任意的伸縮與變換。
凹凸變換(Pinch)和局部彈性變換(local elastic deformations, LED)[22]它們通過對(duì)圖像進(jìn)行卷積計(jì)算,能夠造成不規(guī)則的變化,從而模擬真實(shí)書寫過程中筆畫扭曲的效果。
運(yùn)動(dòng)模糊(Motion_blur) 該方法通過一維卷積操作使得圖像呈現(xiàn)出物體運(yùn)動(dòng)的效果。
高斯模糊(Gaussian_blur)和高斯噪聲(Gaussian_noise) 前者是一種低通濾波器,能夠用于消除圖像的噪聲,尤其對(duì)高斯噪聲有明顯作用,但兩種方法均能在圖像中形成噪聲。
椒鹽噪聲(Salt_noise)和像素交換(Permute_pixels) 這兩種方法能夠模擬圖像信息傳輸過程中的信號(hào)干擾效果,在圖片背景上隨機(jī)生成白色(或黑色)噪點(diǎn),從而形成不同的噪聲效果。
深度學(xué)習(xí)的發(fā)展是為了發(fā)現(xiàn)豐富的層次模型,即人工智能應(yīng)用中數(shù)據(jù)的概率分布如自然圖像、語音、語言符號(hào)等。由于使用最大似然估計(jì)和相關(guān)策略難以描述這樣的概率計(jì)算,導(dǎo)致已有的深度生成模型學(xué)習(xí)效果一般。為了更好地解決這類問題,Goodfellow等[17]提出了新的生成模型估計(jì)方法,即生成對(duì)抗網(wǎng)絡(luò)。
GAN框架中會(huì)同時(shí)訓(xùn)練一個(gè)生成模型G用以捕獲樣本數(shù)據(jù)分布并模仿生成偽數(shù)據(jù)分布,和一個(gè)判別模型D用以判斷樣本是來源于訓(xùn)練數(shù)據(jù)或者G。理想情況下,在任意函數(shù)空間G和D中存在唯一解,使得G生成的數(shù)據(jù)分布由D判斷正確的概率為1/2。定義真實(shí)訓(xùn)練數(shù)據(jù)為x及其分布為Pdata,將隨機(jī)噪聲z(其分布表示為Pz(z))輸入G進(jìn)行學(xué)習(xí)訓(xùn)練,生成的數(shù)據(jù)分布為Pg,則噪聲變量在數(shù)據(jù)空間的映射表示為G(z;θg),其中G是具有θg參數(shù)的多層感知器表示的可微函數(shù)。同理,定義判別器模型D(x;θd)表示輸入數(shù)據(jù)的來源,其輸出的是判別結(jié)果為真實(shí)訓(xùn)練數(shù)據(jù)的概率值。G的目標(biāo)是盡可能生成符合真實(shí)訓(xùn)練數(shù)據(jù)的分布,D的目標(biāo)是盡可能準(zhǔn)確地判斷數(shù)據(jù)來源。使用值函數(shù)V(G,D)表示兩者之間極大極小的博弈局面,如式(1)所示。
(1)
根據(jù)式(1)的描述,在不增加優(yōu)化條件的情況下,實(shí)踐中會(huì)存在兩個(gè)問題:一是在學(xué)習(xí)早期D可以高置信度地辨別樣本,因此G獲得的梯度效果十分有限;二是在有限數(shù)據(jù)訓(xùn)練的情況下,D優(yōu)化結(jié)束后將會(huì)導(dǎo)致過擬合,使得模型無法收斂。以上兩個(gè)問題均會(huì)導(dǎo)致整體模型不穩(wěn)定,出現(xiàn)博弈結(jié)果單一化的情況。故而我們提出隨機(jī)梯度下降算法,其中要求G和D的優(yōu)化交替進(jìn)行,并且首先通過提升隨機(jī)梯度優(yōu)化D,這個(gè)過程需要運(yùn)行k次(k是一個(gè)超參數(shù)),然后再通過降低隨機(jī)梯度更新G。
原始GAN方法的主要缺陷顯而易見,即模型一次只能學(xué)習(xí)一類數(shù)據(jù)從而導(dǎo)致生成效率低下,但通過反向傳播方式獲得梯度、在學(xué)習(xí)過程中可以將多種函數(shù)合并到模型等優(yōu)勢,形成更強(qiáng)的圖像生成能力,并且促進(jìn)了基于GAN的新型生成式網(wǎng)絡(luò)的發(fā)展。
使用GAN進(jìn)行數(shù)據(jù)增強(qiáng)的目的在于擴(kuò)充訓(xùn)練數(shù)據(jù)的規(guī)模和樣本多樣性,但不穩(wěn)定的網(wǎng)絡(luò)結(jié)構(gòu)導(dǎo)致生成器經(jīng)常輸出無意義圖。Horsley等[23]描述了一種具有一定結(jié)構(gòu)約束的深度卷積生成對(duì)抗網(wǎng)絡(luò)(DCGAN),DCGAN作為一種有力的無監(jiān)督學(xué)習(xí)方法可以從大量未標(biāo)記數(shù)據(jù)集中學(xué)習(xí)到可重用特征表示,相較于傳統(tǒng)GAN具有更強(qiáng)大的生成能力,有效地解決了網(wǎng)絡(luò)的不穩(wěn)定問題。文獻(xiàn)[23]的研究結(jié)果表明DCGAN在大多數(shù)情況下均能穩(wěn)定地訓(xùn)練,完成訓(xùn)練的判別器D還可以用于分類,并且效果優(yōu)于其他無監(jiān)督學(xué)習(xí),另外G具有的向量算術(shù)特性使得生成的樣本豐富多樣。
深度卷積生成對(duì)抗網(wǎng)絡(luò)的判別器和生成器均是卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(表1)。在判別器D中,輸入圖像經(jīng)過若干層卷積后獲得卷積特征,通過Logistic函數(shù)輸出判別結(jié)果概率。以生成器的網(wǎng)絡(luò)結(jié)構(gòu)為例,從輸入到輸出其實(shí)是數(shù)據(jù)張量變化的過程。如果輸入100維向量z,首先會(huì)經(jīng)過一個(gè)全連接層將其轉(zhuǎn)換為4×4×1 024維向量,之后使用轉(zhuǎn)置卷積作上采樣操作,最后得到64×64×3的圖像。為了穩(wěn)定GAN,在DCGAN中進(jìn)行的主要變化包括:1)使用帶步長的卷積替換原始卷積神經(jīng)網(wǎng)絡(luò)中的全部池化層;2)在生成器和判別器中均使用BatchNormalization幫助模型收斂;3)移除全連接的隱藏層以獲得更深的架構(gòu);4)在G中,除了最后一層因需要輸出圖像采用Tanh函數(shù)外其余激活函數(shù)均采用ReLU函數(shù);5)在D中,激活函數(shù)主要采用LeakyReLU函數(shù)。理論上使用DCGAN可以獲得更加穩(wěn)定的生成數(shù)據(jù)。
表1 DCGAN各層節(jié)點(diǎn)及激活函數(shù)Table 1 Nodes and activation functions of DCGAN
2.3.1X-DCGAN
本文提出一種結(jié)合傳統(tǒng)數(shù)據(jù)增強(qiáng)技術(shù)的深度卷積生成對(duì)抗網(wǎng)絡(luò)方法X- DCGAN,其中“X”表示多種傳統(tǒng)數(shù)據(jù)增強(qiáng)算法的隨機(jī)選擇過程,可以通過數(shù)據(jù)預(yù)增強(qiáng)手段來提升后一階段的生成效果。在小規(guī)模數(shù)據(jù)集環(huán)境下,單一使用DCGAN進(jìn)行數(shù)據(jù)增強(qiáng)存在諸多問題:一是DCGAN中生成器和判別器的網(wǎng)絡(luò)結(jié)構(gòu)均采用卷積神經(jīng)網(wǎng)絡(luò),在訓(xùn)練數(shù)據(jù)不足時(shí)易出現(xiàn)過擬合情況,導(dǎo)致生成樣本與訓(xùn)練樣本關(guān)聯(lián)性強(qiáng)而缺乏變化,無法實(shí)現(xiàn)數(shù)據(jù)多樣性擴(kuò)充的目的;二是網(wǎng)絡(luò)對(duì)于文本類離散型數(shù)據(jù)很難進(jìn)行學(xué)習(xí),也使得生成效果欠佳;三是生成網(wǎng)絡(luò)計(jì)算復(fù)雜,作為數(shù)據(jù)增強(qiáng)器而言略顯笨重,并且訓(xùn)練過程時(shí)間成本較高。如果通過傳統(tǒng)數(shù)據(jù)增強(qiáng)方式對(duì)數(shù)據(jù)集先進(jìn)行預(yù)擴(kuò)充操作,再將其輸入深度卷積生成對(duì)抗網(wǎng)絡(luò)訓(xùn)練,可以在一定程度上保障網(wǎng)絡(luò)訓(xùn)練所需的數(shù)據(jù)規(guī)模,充分發(fā)揮其生成特性。
傳統(tǒng)數(shù)據(jù)增強(qiáng)方法主要通過圖像處理過程改變?cè)紙D像的像素分布,以達(dá)到變形或變換的目的,雖然已經(jīng)被多次證明能夠有效進(jìn)行數(shù)據(jù)增強(qiáng),但也存在不可避免的缺陷:一是與原始樣本關(guān)聯(lián)性強(qiáng)、變化風(fēng)格有限;二是在實(shí)踐中需要人工設(shè)置參數(shù)范圍,無法完成自動(dòng)化適應(yīng)和調(diào)整;三是每次過程都需要進(jìn)行重復(fù)計(jì)算,占用大量存儲(chǔ)空間,生成效率低下,對(duì)大規(guī)模數(shù)據(jù)和圖形類數(shù)據(jù)并不十分適用。傳統(tǒng)方法與生成式方法的簡單對(duì)比見表2。
表2 傳統(tǒng)方法與生成式方法的優(yōu)劣比較Table 2 Comparison of advantages and disadvantages oftraditional methods and generative methods
在多類別字符研究缺乏數(shù)據(jù)支撐時(shí),需要一種能夠通過小規(guī)模數(shù)據(jù)即可獲得足夠數(shù)據(jù)規(guī)模的生成方法,要求生成數(shù)據(jù)多樣并且模型可持續(xù)化,同時(shí)支持海量數(shù)據(jù)擴(kuò)充。綜上所述,本文將傳統(tǒng)方法和生成式方法的優(yōu)勢進(jìn)行互補(bǔ),提出兼具強(qiáng)大生成能力與有效數(shù)據(jù)增強(qiáng)能力的結(jié)合式方法X- DCGAN。
根據(jù)以上思想,X- DCGAN方法流程設(shè)計(jì)如圖3所示,實(shí)現(xiàn)步驟如下:1)準(zhǔn)備小規(guī)模數(shù)據(jù)集,劃分為訓(xùn)練集和測試集兩個(gè)部分;2)將訓(xùn)練集數(shù)據(jù)分組輸入預(yù)擴(kuò)充模塊,此模塊中包含5種形變類和5種噪聲類方法,每組數(shù)據(jù)進(jìn)行k次隨機(jī)選擇運(yùn)行數(shù)據(jù)增強(qiáng)計(jì)算,每次計(jì)算結(jié)果作為一次擴(kuò)充;3)將步驟2)中獲得的預(yù)擴(kuò)充集作為輸入,利用DCGAN進(jìn)行生成過程,將輸出結(jié)果作為擴(kuò)充集;4)使用預(yù)擴(kuò)充集作為訓(xùn)練數(shù)據(jù)輸入CNN分類器,將訓(xùn)練好的模型對(duì)預(yù)擴(kuò)充集進(jìn)行粗分類,用以對(duì)DCGAN生成的數(shù)據(jù)標(biāo)記樣本標(biāo)簽;5)將擴(kuò)充集與原始集合并形成最終的增強(qiáng)訓(xùn)練集。
圖3 X- DCGAN方法流程圖Fig.3 Flow diagram of X- DCGAN
2.3.2模塊設(shè)計(jì)
1)小規(guī)模數(shù)據(jù)集模塊設(shè)計(jì)。本文通過隨機(jī)問卷收集建立了一個(gè)小規(guī)模手寫體漢字?jǐn)?shù)據(jù)集,包含6類漢字,564個(gè)真實(shí)書寫環(huán)境下的樣本圖片(尺寸為50×50),137位書寫者參與。將其作為實(shí)驗(yàn)原始樣本數(shù)據(jù),按照約30%的比例進(jìn)行數(shù)據(jù)劃分,訓(xùn)練集樣本個(gè)數(shù)為444,測試集樣本數(shù)為120。為了比對(duì)真實(shí)分類效果以及探究在不同環(huán)境下采集樣本的測試情況,增加CASIA- HWDB1.1數(shù)據(jù)集中測試集部分對(duì)應(yīng)的6類漢字作為補(bǔ)充測試集,樣本數(shù)為359。
2)預(yù)擴(kuò)展模塊設(shè)計(jì)。將小規(guī)模數(shù)據(jù)集的訓(xùn)練集部分作為輸入,模塊將對(duì)每一個(gè)樣本遍歷并進(jìn)行擴(kuò)充處理。在10類傳統(tǒng)數(shù)據(jù)增強(qiáng)算法中隨機(jī)選擇k次(k表示以單個(gè)樣本為基礎(chǔ)進(jìn)行圖形處理生成的圖片個(gè)數(shù))計(jì)算,處理后的樣本作為預(yù)擴(kuò)展集數(shù)據(jù)。算法中包括5類形變效果算法(膨脹、仿射變換、字符傾斜、凹凸變換和局部彈性變換)和5類添加噪聲算法(運(yùn)動(dòng)模糊、高斯模糊、椒鹽噪聲、高斯噪聲和像素交換),具體模塊流程參考圖4。
圖4 預(yù)處理模塊流程圖Fig.4 Flow diagram of the preprocessing module
在實(shí)驗(yàn)過程中,將444個(gè)小規(guī)模樣本訓(xùn)練數(shù)據(jù)依次輸入,設(shè)置k為9,即對(duì)每張樣本作用9次,使得訓(xùn)練數(shù)據(jù)規(guī)模擴(kuò)大為3 996,與原訓(xùn)練集合并后包含4 440張樣本,圖片尺寸不變。輸入標(biāo)記模塊和DCGAN模塊分別訓(xùn)練,稱為預(yù)擴(kuò)展集。
3)DCGAN模塊設(shè)計(jì)。實(shí)驗(yàn)中使用的DCGAN訓(xùn)練過程主要參數(shù)設(shè)置如下:輸入圖像50×50,進(jìn)行簡單圖像處理以適應(yīng)網(wǎng)絡(luò)對(duì)圖像的要求;輸出邊長為batch_size×50大小的正方形圖片,由batch_size個(gè)生成圖片組成(生成效率提升的關(guān)鍵因素),這里batch_size設(shè)置為64;學(xué)習(xí)率為0.000 2,Adam優(yōu)化器動(dòng)量為0.5;訓(xùn)練次數(shù)設(shè)置為2 000,最終生成樣本數(shù)量達(dá)到44 400,數(shù)據(jù)擴(kuò)充了100倍。
4)CNN分類器模塊設(shè)計(jì)。從第一個(gè)成功應(yīng)用于字符識(shí)別問題的卷積神經(jīng)網(wǎng)絡(luò)LeNet開始,經(jīng)過不斷改進(jìn)和演化產(chǎn)生了許多優(yōu)秀的識(shí)別模型,如AlexNet、VGG19、GoogleNet、ResNet等。隨著模型網(wǎng)絡(luò)層次的逐漸加深和結(jié)構(gòu)的逐漸復(fù)雜,模型在分類任務(wù)上的表現(xiàn)也在不斷提升。在小規(guī)模數(shù)據(jù)集識(shí)別實(shí)驗(yàn)中,為了排除識(shí)別器性能的影響僅考慮數(shù)據(jù)增強(qiáng)方法效果,設(shè)計(jì)一個(gè)簡單CNN網(wǎng)絡(luò)結(jié)構(gòu),如表3所示,所有池化層使用全0填充,卷積層不使用。
5)標(biāo)記模塊設(shè)計(jì)?;窘Y(jié)構(gòu)同分類器模塊,將訓(xùn)練好的模型載入CNN網(wǎng)絡(luò)中,不進(jìn)行任何訓(xùn)練步驟,直接執(zhí)行分類運(yùn)算的操作。輸出分類結(jié)果矩陣,同標(biāo)簽分類矩陣進(jìn)行匹配即可獲得輸入圖像數(shù)據(jù)的標(biāo)簽序列。
表3 簡單CNN結(jié)構(gòu)及各層節(jié)點(diǎn)情況Table 3 Structure of simple CNN and nodes of each layer
本文使用2.3.2節(jié)所設(shè)計(jì)的小樣本集和CASIA- HWDB1.1數(shù)據(jù)集作為測試集分別進(jìn)行了4組實(shí)驗(yàn),其中每組實(shí)驗(yàn)均包含一組對(duì)照實(shí)驗(yàn)(簡單復(fù)制),以及一組不作數(shù)據(jù)增強(qiáng)處理的0號(hào)實(shí)驗(yàn)。分別使用傳統(tǒng)數(shù)據(jù)增強(qiáng)方法、DCGAN方法和X- DCGAN方法生成的增強(qiáng)訓(xùn)練集數(shù)據(jù),通過自定義的簡單CNN分類器進(jìn)行識(shí)別訓(xùn)練和測試,然后比對(duì)分析識(shí)別效果。實(shí)驗(yàn)中使用兩種不同分布的測試集,除0號(hào)實(shí)驗(yàn)外(訓(xùn)練集規(guī)模為444),其他組訓(xùn)練集規(guī)模均為44 400。除此之外,傳統(tǒng)數(shù)據(jù)增強(qiáng)方法產(chǎn)生的預(yù)擴(kuò)展集輸入簡單CNN訓(xùn)練,得到的模型對(duì)DCGAN方法生成的數(shù)據(jù)進(jìn)行識(shí)別,將結(jié)果作為擴(kuò)展集標(biāo)簽參考。實(shí)驗(yàn)環(huán)境:CPU為Intel Core i7- 7700HQ,內(nèi)存為8 GB,GPU采用NVIDIA GeForce GTX 1050Ti,操作系統(tǒng)為Windows10 64位,實(shí)現(xiàn)平臺(tái)為python環(huán)境下Tensorflow- gpu框架,其中包括CUDA10.0和CUDNN10加速包支持。評(píng)價(jià)指標(biāo):每組識(shí)別進(jìn)行i輪訓(xùn)練,獲取每輪的測試識(shí)別率A(i),將其最大值A(chǔ)max和平均值A(chǔ)ave作為評(píng)價(jià)數(shù)據(jù)增強(qiáng)算法的性能。公式定義如下。
Amax=max(A(i))
(2)
(3)
表4記錄了9組實(shí)驗(yàn)的識(shí)別結(jié)果。0、1組的數(shù)據(jù)顯示,簡單復(fù)制雖能擴(kuò)充樣本數(shù)量,但不能增加樣本多樣性,無法提高識(shí)別率。2、4組的數(shù)據(jù)顯示,對(duì)樣本進(jìn)行100倍的數(shù)據(jù)增強(qiáng)后,使用增強(qiáng)數(shù)據(jù)進(jìn)行訓(xùn)練,模型識(shí)別率提升了5%以上,充分說明傳統(tǒng)數(shù)據(jù)增強(qiáng)方法與X- DCGAN方法對(duì)小規(guī)模手寫體漢字集進(jìn)行了有效擴(kuò)充與增強(qiáng),其中,X- DCGAN方法分別通過預(yù)擴(kuò)展模塊和DCGAN模塊對(duì)數(shù)據(jù)集依次進(jìn)行了10倍的擴(kuò)充。
表4 4種數(shù)據(jù)增強(qiáng)方法的分類測試識(shí)別率Table 4 Average accuracy of the four data augmentationmethods in a classification test
對(duì)比3種數(shù)據(jù)增強(qiáng)方法的性能,在小樣本測試集下可以看到傳統(tǒng)數(shù)據(jù)增強(qiáng)方法擴(kuò)充的數(shù)據(jù)集具有最高識(shí)別率,結(jié)合式的X- DCGAN方法雖然不是最高,但仍然具有較高質(zhì)量的數(shù)據(jù)增強(qiáng)效果,完全可以滿足一定的識(shí)別需求。未改進(jìn)的DCGAN方法效果最差,一方面說明該方法對(duì)于小規(guī)模數(shù)據(jù)集的不適應(yīng),另一方面也突出了結(jié)合式方法的有效性。此外在HWDB1.1測試集上3種方法的識(shí)別率均有大幅下降,說明它們對(duì)分布外的數(shù)據(jù)適應(yīng)性較差,都有與原始訓(xùn)練樣本存在強(qiáng)關(guān)聯(lián)性的問題。在DCGAN模塊生成樣本的過程中觀察到,部分圖像之間無法從視覺上直觀發(fā)現(xiàn)不同,并且不同類別的字符之間生成了一定的相似特征,雖然通過增加預(yù)擴(kuò)展集的方法確實(shí)提高了訓(xùn)練樣本之間的差異性,但效果有限。這種情況提供了另一個(gè)值得繼續(xù)研究的方向。
圖5展示了采用DCGAN方法改進(jìn)前后,在不同測試集下平均識(shí)別率隨訓(xùn)練次數(shù)的變化??梢悦黠@觀察到在兩個(gè)測試集上采用單一DCGAN方法進(jìn)行數(shù)據(jù)增強(qiáng)的測試分類識(shí)別率均相對(duì)較低,使用通過結(jié)合方法X- DCGAN生成的數(shù)據(jù)進(jìn)行分類測試的識(shí)別率均有明顯提升,尤其在原始樣本測試集上的平均識(shí)別率提升了9.67%,充分說明結(jié)合式方法能夠有效提高生成數(shù)據(jù)的質(zhì)量與網(wǎng)絡(luò)穩(wěn)定性。即便在識(shí)別效果一般的HWDB1.1測試集上該方法也同樣具有良好的表現(xiàn)。
圖5 不同數(shù)據(jù)集下的平均識(shí)別率訓(xùn)練曲線Fig.5 Plots of average accuracy of classification for different data sets
本文提出結(jié)合傳統(tǒng)數(shù)據(jù)增強(qiáng)技術(shù)的深度卷積對(duì)抗神經(jīng)網(wǎng)絡(luò)方法,在進(jìn)行手寫體漢字?jǐn)?shù)據(jù)生成時(shí)加入預(yù)擴(kuò)展數(shù)據(jù),解決了生成式方法在小規(guī)模數(shù)據(jù)集上出現(xiàn)的因樣本規(guī)模不足導(dǎo)致訓(xùn)練不充分、生成數(shù)據(jù)重復(fù)的問題。對(duì)使用結(jié)合式方法X- DCGAN生成的增強(qiáng)數(shù)據(jù)集進(jìn)行分類,結(jié)果顯示采用該方法不僅能夠獲得比單一方法更好的分類效果,同時(shí)使得生成式方法在小規(guī)模手寫體漢字?jǐn)?shù)據(jù)集下具有很好的生成效果,為擴(kuò)大數(shù)據(jù)集規(guī)模提供了強(qiáng)有力支持。此外,本文所提的結(jié)合方式充分發(fā)揮了傳統(tǒng)方法和生成式方法各自的優(yōu)勢,既保有快速大量生成樣本的能力,同時(shí)將圖像平均識(shí)別率較DCGAN方法提升了9.67%。未來將針對(duì)DCGAN生成效率和生成圖片質(zhì)量開展進(jìn)一步研究。