薛春寒, 金小峰
( 延邊大學(xué) 工學(xué)院, 吉林 延吉 133002 )
中國(guó)少數(shù)民族古籍?dāng)?shù)字化是“中華古籍?dāng)?shù)字資源庫(kù)”的重要組成部分[1].與國(guó)內(nèi)其他少數(shù)民族古籍?dāng)?shù)字化研究工作相比,中國(guó)朝鮮語(yǔ)古籍的數(shù)字化工作相對(duì)滯后,因此開(kāi)展和推進(jìn)中國(guó)朝鮮語(yǔ)古籍的數(shù)字化研究是一項(xiàng)迫切的任務(wù).古籍文字自動(dòng)識(shí)別作為古籍?dāng)?shù)字化總目標(biāo)的基礎(chǔ)性研究,是建設(shè)古籍全文索引庫(kù)和提供信息檢索服務(wù)的必要前期環(huán)節(jié).傳統(tǒng)的光學(xué)字符識(shí)別OCR(optical character recognition)技術(shù)由于過(guò)度依賴于樣本底層視覺(jué)特征的選擇和提取,使得分類器難以從中提取更高級(jí)別的語(yǔ)義特征.近年來(lái),隨著深度學(xué)習(xí)方法的發(fā)展,一些學(xué)者提出了基于LeNet5、AlexNet、VGGNet、ResNet等[2]的深度網(wǎng)絡(luò)模型的文字識(shí)別方法.
與傳統(tǒng)的模式識(shí)別方法相比,深度學(xué)習(xí)方法需要大規(guī)模數(shù)據(jù)集的支撐,而國(guó)內(nèi)少數(shù)民族古籍普遍存在存量少、數(shù)據(jù)集不足的問(wèn)題,這給利用基于深度學(xué)習(xí)的古籍文字識(shí)別方法研究少數(shù)民族古籍帶來(lái)諸多困難.基于上述問(wèn)題,一些學(xué)者提出了利用數(shù)據(jù)增強(qiáng)(data augmentation)和遷移學(xué)習(xí)(transfer learning)的方法來(lái)解決樣本不足的問(wèn)題,并取得了較好的研究結(jié)果[3-10].為此,本文結(jié)合數(shù)據(jù)增強(qiáng)和遷移學(xué)習(xí)方法,通過(guò)擴(kuò)充數(shù)據(jù)集規(guī)模和知識(shí)遷移,提出了一種少樣本朝鮮語(yǔ)古籍文字識(shí)別方法,并通過(guò)實(shí)驗(yàn)驗(yàn)證了本文方法的有效性.
朝鮮語(yǔ)古籍存在多語(yǔ)種文字混排、文字大小不同、相鄰文字黏連等現(xiàn)象.本文中的朝鮮語(yǔ)古籍文本圖像樣本均是采用文獻(xiàn)[11]的方法獲取的(采用文字切分法獲取每個(gè)文字區(qū)域的圖像),所采用的數(shù)據(jù)增強(qiáng)方法均是指對(duì)文本圖像進(jìn)行的.圖1為朝鮮語(yǔ)古籍圖像的樣張.
圖1 朝鮮語(yǔ)古籍圖像樣張
數(shù)據(jù)增強(qiáng)方法主要是通過(guò)對(duì)數(shù)據(jù)進(jìn)行多種變換來(lái)擴(kuò)充訓(xùn)練集,以此實(shí)現(xiàn)對(duì)小數(shù)據(jù)集的樣本擴(kuò)充.本文采用隨機(jī)仿射變換和彈性變換進(jìn)行數(shù)據(jù)增強(qiáng).隨機(jī)仿射變換是將空間內(nèi)的某一個(gè)向量隨機(jī)映射到另一個(gè)向量空間,其映射過(guò)程相當(dāng)于對(duì)圖像進(jìn)行平移、旋轉(zhuǎn)、放縮、剪切、翻轉(zhuǎn)等操作,或是這些操作的任意組合.一個(gè)集合的仿射變換可表示為y=Ax+b, 其中y為變換后得到的目標(biāo)向量,A為變換矩陣,x為原始向量,b為平移向量.
彈性變換增強(qiáng)方法是首先在圖像的像素點(diǎn)上的x、y方向上生成-1~1之間的隨機(jī)數(shù),這些隨機(jī)數(shù)表示像素點(diǎn)在x、y方向的移動(dòng)距離(記為Δx(x,y),Δy(x,y)),可表示為:
由于在數(shù)據(jù)樣本少和類別樣本數(shù)嚴(yán)重不平衡時(shí),采用基于圖像變換的增強(qiáng)方法生成的新樣本會(huì)極易陷入飽和狀態(tài),因此本文引入GAN方法以進(jìn)一步增強(qiáng)數(shù)據(jù).基礎(chǔ)的GAN網(wǎng)絡(luò)模型包含兩個(gè)核心子網(wǎng)絡(luò):生成網(wǎng)絡(luò)G(generator)和判別網(wǎng)絡(luò)D(discriminator).G和D的學(xué)習(xí)實(shí)際上是一個(gè)博弈過(guò)程,G可以對(duì)任意的噪聲z產(chǎn)生一個(gè)偽樣本G(z), 而對(duì)于任意輸入x,D(x)能夠?qū)ζ湔鎮(zhèn)芜M(jìn)行判別.GAN方法的目的就是能夠?qū)φ鎸?shí)樣本x~Pdata(x)實(shí)現(xiàn)期望最大化logD(x), 而對(duì)于偽樣本z~Pz(z)實(shí)現(xiàn)期望最小化log(1-D(G(z))),因此GAN的學(xué)習(xí)過(guò)程可表示為:
(1)
由于GAN網(wǎng)絡(luò)學(xué)習(xí)過(guò)程所生成的樣本是隨機(jī)和不具有類別的信息,因此本文在式(1)的基礎(chǔ)上加上一個(gè)類別信息y作為條件,以此得到具有類別信息的生成樣本.增加類別信息y條件后, GAN網(wǎng)絡(luò)變?yōu)镃GAN網(wǎng)絡(luò), 其訓(xùn)練過(guò)程可表示為:
(2)
另外,為了提高GAN網(wǎng)絡(luò)的特征提取能力、偽樣本的生成質(zhì)量和收斂速度,本文引入了條件深度卷積生成對(duì)抗網(wǎng)絡(luò)(conditional deep convolution generative adversarial network,CDCGAN).圖2是本文采用CDCGAN生成的網(wǎng)絡(luò)和判別網(wǎng)絡(luò)的結(jié)構(gòu)圖.
領(lǐng)域和任務(wù)是遷移學(xué)習(xí)中的兩個(gè)重要概念.遷移學(xué)習(xí)的目的就是利用在源領(lǐng)域?qū)W到的知識(shí)實(shí)現(xiàn)其在目標(biāo)領(lǐng)域上的學(xué)習(xí)任務(wù),但遷移學(xué)習(xí)并不能適合于任何情況,如當(dāng)源領(lǐng)域和目標(biāo)領(lǐng)域差異過(guò)大時(shí)可能會(huì)發(fā)生負(fù)遷移.為此,本文使用己經(jīng)訓(xùn)練好的預(yù)訓(xùn)練模型對(duì)全新的目標(biāo)任務(wù)進(jìn)行訓(xùn)練,即在不改變網(wǎng)絡(luò)結(jié)構(gòu)的前提下和保持預(yù)訓(xùn)練模型的參數(shù)基礎(chǔ)上,以很小的學(xué)習(xí)率對(duì)模型進(jìn)行微調(diào),使得模型能夠適應(yīng)新的學(xué)習(xí)任務(wù).本文提出的基于遷移學(xué)習(xí)的少樣本朝鮮語(yǔ)古籍文字識(shí)別方法的流程圖見(jiàn)圖3.
(a) 生成網(wǎng)絡(luò) (b) 判別網(wǎng)絡(luò)圖2 基于CDCGAN生成的網(wǎng)絡(luò)和判別網(wǎng)絡(luò)的結(jié)構(gòu)圖
圖3 基于遷移學(xué)習(xí)的少樣本朝鮮語(yǔ)古籍文字識(shí)別方法的流程圖
在進(jìn)行遷移學(xué)習(xí)時(shí),首先按1.1和1.2中的方法對(duì)數(shù)據(jù)進(jìn)行增強(qiáng),然后選取出樣本較多的富數(shù)據(jù)集作為源域預(yù)訓(xùn)練模型的數(shù)據(jù)集,目標(biāo)域則采用全類數(shù)據(jù)集(即增強(qiáng)前后的所有數(shù)據(jù)).源模型到中間模型的轉(zhuǎn)變是一個(gè)典型的基于模型的遷移學(xué)習(xí)策略,該策略通過(guò)將預(yù)訓(xùn)練模型和層凍結(jié)方法相結(jié)合的方法來(lái)實(shí)現(xiàn)朝鮮語(yǔ)古籍文字識(shí)別的訓(xùn)練過(guò)程,該過(guò)程主要包括如下幾個(gè)關(guān)鍵階段:
第1階段:保留預(yù)訓(xùn)練模型的權(quán)重參數(shù),并將其作為第1階段模型訓(xùn)練過(guò)程中的特征提取源.
第2階段:加載預(yù)訓(xùn)練模型的參數(shù)和權(quán)重(除全連接分類層).定義目標(biāo)數(shù)據(jù)集的類別數(shù)為c, 并將最后一層全連接層由原來(lái)的神經(jīng)元數(shù)改為c元的softmax分類器,同時(shí)凍結(jié)預(yù)訓(xùn)練模型的卷積層以及池化層的參數(shù)和權(quán)重,并對(duì)新的分類器層進(jìn)行訓(xùn)練.
第3階段:將在源數(shù)據(jù)集上已經(jīng)預(yù)訓(xùn)練過(guò)的模型的卷積和池化層保留的參數(shù)遷移到目標(biāo)模型上,并與第2階段中訓(xùn)練的新的全連接分類層進(jìn)行對(duì)接,以此得到中間模型.
實(shí)驗(yàn)數(shù)據(jù)集采用文獻(xiàn)[11]中的方法對(duì)朝鮮語(yǔ)古籍《同文類解》進(jìn)行文字切分.經(jīng)切分后共得到1 299種朝鮮語(yǔ)文字類別, 24 390個(gè)文字圖像樣本(每個(gè)樣本均做人工類別標(biāo)注).由于該數(shù)據(jù)集中很多的樣本數(shù)量過(guò)于貧乏(樣本數(shù)小于30個(gè)),因此該數(shù)據(jù)集具有少樣本的特點(diǎn).本文從數(shù)據(jù)集中選取了樣本數(shù)較為充足的141個(gè)類別作為本文實(shí)驗(yàn)數(shù)據(jù)集,其中將樣本數(shù)≥100的44類作為富數(shù)據(jù)集(記為S1),將剩余的97類作為少樣本數(shù)據(jù)集(樣本數(shù)為30~100,記為S2).
采用1.1和1.2中的數(shù)據(jù)增強(qiáng)方法對(duì)S1數(shù)據(jù)集進(jìn)行數(shù)據(jù)擴(kuò)充,圖像變換包括隨機(jī)仿射結(jié)合彈性變換和隨機(jī)仿射結(jié)合噪音擾動(dòng)兩種方法,其中噪音類型包括Gaussian、Salt&pepper和speckle.由于CDCGAN在訓(xùn)練時(shí)需要一定數(shù)量的樣本,因此本文將變換得到的圖像樣本與原始樣本進(jìn)行合并,并將合并后的樣本作為CDCGAN訓(xùn)練集.經(jīng)實(shí)驗(yàn)優(yōu)化, CDCGAN的超參數(shù)為: epochs=400, batch_size=20, learning rate=0.000 2.
數(shù)據(jù)增強(qiáng)擴(kuò)充后的樣例如表1所示.從表1可看出:傳統(tǒng)的數(shù)據(jù)增強(qiáng)方法通過(guò)控制參數(shù)取值雖然能夠有效地?cái)U(kuò)充新樣本,但過(guò)度的形變和噪聲擾動(dòng)會(huì)使新樣本嚴(yán)重失真;而CDCGAN產(chǎn)生的新樣本能夠豐富訓(xùn)練數(shù)據(jù)集,所以該方法可以避免模型訓(xùn)練過(guò)程出現(xiàn)的模式坍塌現(xiàn)象.
表1 數(shù)據(jù)增強(qiáng)后的樣本樣例
為了提高模型性能,對(duì)S1和S2分別進(jìn)行數(shù)據(jù)增強(qiáng),并將增強(qiáng)后的數(shù)據(jù)集分別記為N1和N2.N1和N2的樣本分布以及數(shù)據(jù)集的劃分情況見(jiàn)表2.由表2可以看出, 合并后的數(shù)據(jù)集(記為N)的樣本數(shù)量(94 400)滿足深度網(wǎng)絡(luò)模型的訓(xùn)練要求.
表2 數(shù)據(jù)集N1和N2的樣本劃分和樣本分布
在數(shù)據(jù)集N1上分別利用VGG16、ResNet18和ResNet50卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練,并對(duì)這3種模型使用不同的優(yōu)化方法和超參數(shù)進(jìn)行調(diào)優(yōu).經(jīng)訓(xùn)練和調(diào)優(yōu)后,本文最終取batch_size=16, learning_rate=0.000 1.為了減輕模型的過(guò)擬合現(xiàn)象,本文使用L2正則化和dropout方法對(duì)模型進(jìn)行約束,其中神經(jīng)元失活率取0.5.為了提高訓(xùn)練效率,本文使用Adam優(yōu)化方法對(duì)模型進(jìn)行優(yōu)化.圖4是3種卷積神經(jīng)網(wǎng)絡(luò)模型總體的查準(zhǔn)率和損失函數(shù)隨迭代次數(shù)的變化情況.本文以交叉熵作為刻畫(huà)預(yù)測(cè)值和真實(shí)值之間差距的損失函數(shù).
由圖4(a)可以看出:當(dāng)3種模型的迭代次數(shù)小于10次時(shí),其查準(zhǔn)率均呈上升趨勢(shì);當(dāng)?shù)螖?shù)超過(guò)10次后,3種模型的查準(zhǔn)率逐漸趨于穩(wěn)定(說(shuō)明訓(xùn)練模型已經(jīng)收斂).由圖4(b)可以看出,整體損失值隨迭代次數(shù)的增加而不斷下降,其中ResNet18和ResNet50的下降趨勢(shì)相同,并優(yōu)于VGG16.
(a) 查準(zhǔn)率隨迭代次數(shù)的變化 (b) 損失函數(shù)隨迭代次數(shù)的變化圖4 查準(zhǔn)率和損失函數(shù)隨迭代次數(shù)的變化情況
表3是3種模型在數(shù)據(jù)集N1上的實(shí)驗(yàn)結(jié)果.實(shí)驗(yàn)中查準(zhǔn)率(presicion,P)的計(jì)算公式為:
(3)
其中TP是正確識(shí)別的樣本數(shù),F(xiàn)P是錯(cuò)誤識(shí)別的樣本數(shù).由表3可以看出,3種模型在驗(yàn)證集和測(cè)試集上的分類精度均較高,且較為接近.這表明這3種模型在N1訓(xùn)練集中能夠?qū)W習(xí)到有效的特征,擴(kuò)充后的數(shù)據(jù)集規(guī)模能夠滿足3種網(wǎng)絡(luò)模型的訓(xùn)練和分類要求,因此可將訓(xùn)練的結(jié)果作為遷移學(xué)習(xí)的預(yù)訓(xùn)練模型應(yīng)用于少樣本朝鮮語(yǔ)古籍文字的識(shí)別當(dāng)中.
表3 3種模型在數(shù)據(jù)集N1上的實(shí)驗(yàn)結(jié)果
由于數(shù)據(jù)集N2中的每類樣本的數(shù)量都小于N1的規(guī)模,無(wú)法直接用于模型的學(xué)習(xí),因此本文借助遷移學(xué)習(xí)中的預(yù)訓(xùn)練模型(基于N1得到的預(yù)訓(xùn)練模型)學(xué)習(xí)N2.為了證明同源遷移的優(yōu)勢(shì),本文將基于ImageNet[12]的預(yù)訓(xùn)練模型用于N2的訓(xùn)練.在遷移學(xué)習(xí)的過(guò)程中,凍結(jié)除全連接層以外的所有網(wǎng)絡(luò)參數(shù),且遷移學(xué)習(xí)的訓(xùn)練只用于更新全連接層的參數(shù).遷移學(xué)習(xí)的實(shí)驗(yàn)結(jié)果見(jiàn)表4.
表4 基于N1和ImageNet的預(yù)訓(xùn)練模型在N2數(shù)據(jù)集上的訓(xùn)練結(jié)果
由表4可以看出,基于N1的預(yù)訓(xùn)練模型的實(shí)驗(yàn)結(jié)果均明顯優(yōu)于基于ImageNet的預(yù)訓(xùn)練模型.ImageNet預(yù)訓(xùn)練模型的實(shí)驗(yàn)效果低的原因是ImageNet預(yù)訓(xùn)練模型的源域和目標(biāo)域的圖像結(jié)構(gòu)差異較大,使得其在訓(xùn)練N2時(shí)只能從ImageNet預(yù)訓(xùn)練模型中獲取圖像的通用知識(shí).
為了驗(yàn)證全類數(shù)據(jù)集的分類識(shí)別效果,本文采用在數(shù)據(jù)集N1上學(xué)習(xí)獲得的預(yù)訓(xùn)練模型對(duì)測(cè)試集N進(jìn)行分類實(shí)驗(yàn),結(jié)果顯示VGG16、ResNet18、ResNet50 3種網(wǎng)絡(luò)模型的識(shí)別精度分別為99.54%、99.48%、99.72%.由此可以看出, 3種網(wǎng)絡(luò)模型采用本文提出的遷移學(xué)習(xí)方法進(jìn)行文字識(shí)別時(shí)均可達(dá)到良好的分類效果,其中ResNet50的識(shí)別精度最高(99.72%).這表明,采用這3種模型并利用N1數(shù)據(jù)集訓(xùn)練得到的預(yù)訓(xùn)練模型對(duì)少樣本N2數(shù)據(jù)集進(jìn)行遷移學(xué)習(xí)是有效的,因此這3種模型可用于識(shí)別少樣本的朝鮮古籍文字圖像.
研究表明,本文提出的基于遷移學(xué)習(xí)的少樣本朝鮮語(yǔ)古籍文字識(shí)別方法可有效解決少樣本的朝鮮語(yǔ)古籍文字識(shí)別問(wèn)題,且可為其他語(yǔ)種少樣本的文字識(shí)別研究提供參考.本文在研究中只對(duì)類樣本數(shù) ≥ 30的數(shù)據(jù)集進(jìn)行了數(shù)據(jù)增強(qiáng)和識(shí)別,在今后的研究中我們將對(duì)樣本數(shù)少于30的數(shù)據(jù)集進(jìn)行研究.