張頤康 張恒劉永革 劉成林,3
甲骨文字是早在中國商朝時期就出現(xiàn)的文字,是世界上最古老的文字之一,同時也是中國及東亞已知的最早成體系的一種文字形式.自動識別甲骨文字對考古學(xué)、古文字學(xué)以及歷史年代學(xué)等多個領(lǐng)域都有著非常重要的應(yīng)用價值.目前甲骨文字標(biāo)注基本只能依靠甲骨文專家手動處理,計算機自動檢測與識別技術(shù)剛剛起步,性能遠(yuǎn)不能達(dá)到實用化水平.隨著人工智能技術(shù)的發(fā)展,如何讓計算機像處理現(xiàn)代文字一樣處理甲骨文字,成為計算機學(xué)者和文字與語言學(xué)者共同關(guān)注的課題.
如圖1所示,甲骨文字圖像可以分為臨摹甲骨文字圖像與拓片甲骨文字圖像兩類.拓片甲骨文字圖像是從龜甲、獸骨等載體上獲取的原始拓片圖像,臨摹甲骨文字圖像是專家臨摹拓片甲骨文字后得到的高清圖像,修復(fù)了拓片甲骨文字圖像的殘缺和噪聲等問題.臨摹甲骨文字圖像可以通過臨摹、手繪得到大量樣本,而拓片甲骨文字因為客觀條件的限制難以獲取.由于缺少訓(xùn)練樣本,拓片甲骨文字識別很難取得較高的識別精度[1].因此,本文研究如何用臨摹甲骨文字樣本輔助訓(xùn)練分類器進行拓片甲骨文字識別.同時,由于一些拓?fù)浼坠俏淖诸悇e沒有訓(xùn)練樣本,甲骨文字的增量識別也是輔助甲骨文字專家進行語言研究的重要手段.

圖1 不同模態(tài)的甲骨文字圖像Fig.1 Oracle character images with different modals

圖2 拓片甲骨文中的字形殘缺、大量噪聲問題Fig.2 Incomplete and noisy oracle character images
由于甲骨文字本身具有噪聲嚴(yán)重、圖像殘缺(如圖2所示)、類內(nèi)樣本少、類間樣本不均衡等問題,文字識別領(lǐng)域性能優(yōu)異的深度學(xué)習(xí)方法[2?4]由于依賴大量樣本訓(xùn)練而難以得到滿意的識別性能.Guo等[5]提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network,CNN)的甲骨文字分類方法,他們在基于Gabor算子的低層特征和基于稀疏自編碼器[6]的中層特征表示基礎(chǔ)上,設(shè)計了一種多特征融合的層次化特征表示方法,繼而通過CNN[7]實現(xiàn)了更好的識別效果.這種方法依然是基于常規(guī)分類任務(wù)的CNN框架,并沒有充分利用甲骨文字自身的特點,所以對樣本極少的類別很難取得良好的識別性能.
為了充分利用臨摹甲骨文字訓(xùn)練樣本以提高拓片甲骨文字的識別性能,我們提出一種基于深度度量學(xué)習(xí)的跨模態(tài)甲骨文字識別方法.基于CNN和深度度量學(xué)習(xí)分別將拓片甲骨文字與臨摹甲骨文字映射到相同維度的特征空間,并通過對抗學(xué)習(xí)算法使相同類別的拓片甲骨文字和臨摹甲骨文字具有相似的特征分布,再使用深度度量學(xué)習(xí)對拓片甲骨文字特征進行修正,以增大拓片字符樣本與異類臨摹甲骨文字特征的距離,同時減小與同類臨摹甲骨文字特征的距離,實現(xiàn)甲骨文字的跨模態(tài)特征空間建模.在跨模態(tài)特征學(xué)習(xí)的基礎(chǔ)上,我們以臨摹甲骨文字特征作為原型,使用最近鄰分類方法對拓片甲骨文進行識別,不僅可以提高已知(已訓(xùn)練)類別的識別性能,還可以對沒有訓(xùn)練樣本的拓片甲骨文字進行增量識別(使用臨摹甲骨文字原型).根據(jù)已有資料來看,本文工作首先在甲骨文字識別中提出跨模態(tài)學(xué)習(xí)方法,通過利用臨摹甲骨文字明顯提高了拓片甲骨文字的識別精度,并且可以實現(xiàn)對無訓(xùn)練樣本的新類別拓片甲骨文字增量識別.
本文接下來的組織結(jié)構(gòu)如下:第1節(jié)主要介紹與本文研究相關(guān)的甲骨文字識別和草圖識別,以及深度度量學(xué)習(xí)和跨模態(tài)特征學(xué)習(xí);第2節(jié)介紹本文提出的跨模態(tài)甲骨文字識別方法;第3節(jié)介紹實驗設(shè)置和實驗結(jié)果及分析;第4 節(jié)給出全文總結(jié).
甲骨文字帶有明顯的圖畫痕跡,因而也可以被看作是一種草圖.早期的草圖識別工作,一般都是先提取一些人工設(shè)計的特征,例如形狀上下文特征(Shape context,SC)[8]、方位形狀直方圖(Histogram of orientation shape context,HOOSC)[9]等;然后將這些特征送入支撐向量機(Support vector machine,SVM)[10]等分類器進行識別.
隨著深度學(xué)習(xí)的發(fā)展,研究者們開始采用深度學(xué)習(xí)方法進行草圖識別.Yu等[11]提出了一種多尺度、多架構(gòu)的CNN框架以及兩種新穎的數(shù)據(jù)增強策略,通過基于聯(lián)合貝葉斯的方案對多個子網(wǎng)絡(luò)進行融合后,得到了較高識別性能.Creswell 等[12]提出了一種基于生成對抗神經(jīng)網(wǎng)絡(luò)(Generative adversarial networks,GAN)[13]的CNN特征提取器.其采取了一種無監(jiān)督的方式來訓(xùn)練生成對抗神經(jīng)網(wǎng)絡(luò),使之能夠生成可以以假亂真的數(shù)據(jù),然后把去掉最后一層全連接層的網(wǎng)絡(luò)作為特征提取器.該方法在一個商業(yè)圖標(biāo)數(shù)據(jù)集上進行草圖檢索實驗,取得了不錯的效果.
相對而言,基于深度學(xué)習(xí)的甲骨文字識別的工作目前十分稀缺.Guo等[5]提出了一種基于CNN的甲骨文字分類方法,他們設(shè)計了一種多層次特征融合的表示方法,繼而通過結(jié)合CNN提高了識別精度.然而,他們在實驗中丟掉了小樣本量的類別,僅僅在一個樣本量類間分布均衡且類別數(shù)較小的數(shù)據(jù)集上進行了相關(guān)實驗.
度量學(xué)習(xí)的目標(biāo)是學(xué)習(xí)一個可以衡量樣本間相似性的度量方法[14?16].深度度量學(xué)習(xí)是指用一個深度神經(jīng)網(wǎng)絡(luò)(如CNN)來建模上述度量函數(shù)或特征空間.早期的深度度量學(xué)習(xí)是應(yīng)用于已經(jīng)人工設(shè)計好的特征上的,而近年來的工作主要用CNN來建模從特征提取到度量函數(shù)的整個流程.Schroff 等[17]提出了一個框架FaceNet,基于CNN直接將人臉數(shù)據(jù)映射到一個歐氏距離度量空間.在該度量空間內(nèi),人臉驗證或者聚類等問題便可以基于距離度量的方法較為簡單地實現(xiàn).在訓(xùn)練過程中,FaceNet基于兩個對應(yīng)同一人的人臉圖像與一個他人的人臉圖像構(gòu)建三元組來對CNN進行訓(xùn)練,并提出了一個動態(tài)的三元組選擇方法.
計算機視覺和模式識別任務(wù)中經(jīng)常遇到一類跨領(lǐng)域問題:有兩類數(shù)據(jù),一類數(shù)據(jù)有標(biāo)簽信息,而另一類沒有標(biāo)簽信息或者標(biāo)簽信息較少.已知這兩類數(shù)據(jù)非常相關(guān)的情況下,如何利用有標(biāo)簽的數(shù)據(jù)學(xué)習(xí)得到一個可以應(yīng)用于無/少標(biāo)簽數(shù)據(jù)的模型.這就是典型的領(lǐng)域自適應(yīng)問題[18?20],其中有標(biāo)簽的數(shù)據(jù)與無標(biāo)簽的數(shù)據(jù)對應(yīng)的域分別稱為“源域”與“目標(biāo)域”.領(lǐng)域自適應(yīng)方法是解決跨模態(tài)共享特征空間學(xué)習(xí)、實現(xiàn)跨模態(tài)識別的一種有效方法.
如果直接在源域訓(xùn)練模型并將其應(yīng)用于目標(biāo)域,效果往往不好.這是因為盡管兩個域具有較強相關(guān)性,但兩者的特征分布還是會存在一定的差別.為了消除這個差別,近年來的主流方法大多是基于對抗學(xué)習(xí)的方法[21?23],即通過對抗訓(xùn)練的方式使得兩個域上學(xué)到的特征服從相同的分布.通過該方式,實現(xiàn)了源域上訓(xùn)練得到的模型在目標(biāo)域上應(yīng)用的目的.本文提出的跨模態(tài)甲骨文字識別方法中,同樣基于對抗訓(xùn)練的思路,將拓片甲骨文字映射到與臨摹甲骨文字相同的特征空間中,并約束二者服從盡可能相似的分布.為了令對抗訓(xùn)練的過程更加穩(wěn)定,我們采用了Wasserstein GAN[24]的框架與訓(xùn)練技巧[25].
圖3為本文方法的總體框架圖.該框架包括一個基于CNN的臨摹甲骨文字特征編碼器、一個拓片甲骨文字特征編碼器.通過學(xué)習(xí)共享特征空間,實現(xiàn)跨模態(tài)分類.由于臨摹甲骨文字有更多樣本和類別,本方法首先基于單模態(tài)度量學(xué)習(xí)的方式對臨摹甲骨文字編碼器進行訓(xùn)練,將臨摹甲骨文字圖像映射到一個特征空間.然后,基于領(lǐng)域自適應(yīng)與度量學(xué)習(xí)算法訓(xùn)練拓片甲骨文字編碼器(網(wǎng)絡(luò)結(jié)構(gòu)和臨摹甲骨文字編碼器相同,而參數(shù)不同),將拓片甲骨文字映射到同樣的共享特征空間.由于拓片甲骨文字樣本的特點(類別數(shù)大、類內(nèi)樣本不均衡、噪聲嚴(yán)重···),采用Softmax 輸出的神經(jīng)網(wǎng)絡(luò)由于輸出概率的閉集特性,難以推廣到新類別進行增類識別.因此,我們采用擴展性更強、更接近人類模式識別方式的原型分類器.在上述深度神經(jīng)網(wǎng)絡(luò)(CNN)學(xué)習(xí)得到的特征空間內(nèi),用最近鄰分類得到識別結(jié)果.最近鄰分類所使用的原型來自于與待識別輸入(拓片甲骨文字)不同的模態(tài)(臨摹甲骨文字),故而稱為“跨模態(tài)最近鄰分類”.此外,通過跨模態(tài)最近鄰分類與Softmax 分類進行結(jié)合的方式,可以進一步提升拓片甲骨文字的識別性能.同時,只要提供相應(yīng)的臨摹甲骨文字樣本,便可以基于跨模態(tài)最近鄰分類識別新增類別的拓片甲骨文字.

圖3 基于跨模態(tài)深度度量學(xué)習(xí)的拓片甲骨文字識別Fig.3 Oracle character recognition based on cross-modal deep metric learning
下面對臨摹甲骨文字編碼器的訓(xùn)練算法、拓片甲骨文字編碼器的訓(xùn)練算法和跨模態(tài)識別方法進行詳細(xì)闡述.
2.1.1 臨摹甲骨文字編碼器
考慮識別性能,我們采用視覺識別中常用且性能優(yōu)良的DenseNet作為甲骨文字識別的編碼器[26],如圖4 所示.編碼器的輸入是一個64×64的單通道圖像,輸入圖像先經(jīng)過一個卷積層,再先后經(jīng)過4個Dense block,相鄰的Dense block之間會基于Transition對特征進行下采樣.Transition由Batch Normalization層、輸入輸出通道數(shù)相等的1×1卷積層以及一個2×2的平均池化層組成.最后一個Transition的輸出經(jīng)過Dropout層[26]后作為全連接層的輸入.全連接層的輸出為128維的向量,經(jīng)過L2范數(shù)歸一化后便是整個網(wǎng)絡(luò)的輸出特征.

圖4 甲骨文字編碼器結(jié)構(gòu)Fig.4 Embedding of oracle character images
上述每一個Dense block內(nèi),各個層之間的特征會采用稠密連接的方式,即第l層的輸入就是前l(fā)?1層的輸出,每個Dense block 包含9個卷積層,且每層的輸出特征通道數(shù)均為6,第l層的輸出Ol可以形式化表達(dá)為:

其中,[·]表示特征的連接操作,H l表示由Batch normalization (BN)[27]、ReLu[28]以及一個3×3卷積層組成的復(fù)合函數(shù).
2.1.2 訓(xùn)練算法
給定一個臨摹甲骨文字圖像x,它會由臨摹甲骨文字編碼器映射到特征空間f(x),特征間的歐氏距離衡量了臨摹甲骨文字圖像間的差異.由于臨摹甲骨文字編碼器(圖4)的輸出經(jīng)過了L2范數(shù)歸一化,故而f(x)滿足||f(x)||2=1.在距離度量學(xué)習(xí)框架下,本文使用三元組損失函數(shù)[17]來優(yōu)化特征表示,具體來說,第i個三元組包括一個錨點一個與錨點同類的正樣本一個與錨點異類的負(fù)樣本我們的編碼器優(yōu)化目標(biāo)是同類樣本更近、異類樣本更遠(yuǎn)(如圖5所示):

其中,α為超參,表示三元組中錨點與正樣本、負(fù)樣本特征距離的間隔,本文中α設(shè)定為0.2(與Schroff等[17]的設(shè)置保持一致),τ表示容量為N的三元組集合,故而i=1,2,···,N.

圖5 三元組損失函數(shù)的學(xué)習(xí)目標(biāo)Fig.5 Learning objective of triple loss function
由于訓(xùn)練的過程中,大部分三元組很快就會滿足式(2),不會再對編碼器參數(shù)的更新產(chǎn)生影響,故而為了使得訓(xùn)練更加高效,在訓(xùn)練過程中會動態(tài)選擇難以區(qū)分的三元組,即不滿足式(2)的三元組.在整個訓(xùn)練過程中,三元組的構(gòu)建分為兩個階段:
階段1.由于網(wǎng)絡(luò)參數(shù)隨機初始化后,大部分三元組仍然不滿足式(2),所以在第一階段三元組采用完全隨機的策略進行構(gòu)建.

拓片甲骨文字編碼器的網(wǎng)絡(luò)結(jié)構(gòu)與臨摹甲骨文字編碼器(見第2.1.1節(jié))完全一致.其訓(xùn)練過程分為兩個步驟:先基于跨模態(tài)對抗訓(xùn)練進行領(lǐng)域自適應(yīng),使同類的不同模態(tài)文字具有相似的特征分布;然后基于度量學(xué)習(xí)對特征進行修正,使不同模態(tài)的文字特征可以更好的度量歐氏距離.
2.2.1 基于對抗訓(xùn)練的領(lǐng)域自適應(yīng)
如圖6所示,對每個類別c均引入一個判別器D c(x)與拓片甲骨文字編碼器進行對抗訓(xùn)練,各個類別的判別器共享最后一層之前的網(wǎng)絡(luò)參數(shù).網(wǎng)絡(luò)輸入為128維的多模態(tài)甲骨文字特征,經(jīng)過兩層以LeakReLU為激活函數(shù)的全連接層后,再基于全連接回歸對應(yīng)各個類別的D c(x).

圖6 判別器的網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 Network structure of discriminator

2.2.2 基于度量學(xué)習(xí)的特征修正
第2.2.1節(jié)的領(lǐng)域自適應(yīng)可以使得拓片甲骨文字與臨摹甲骨文字在每個類內(nèi)都有著相似的特征分布.然而該方法并不能保證拓片甲骨文字與異類臨摹甲骨文字具有足夠的特征分布差異,直接使用上述特征進行跨模態(tài)最近鄰分類不一定能得到正確分類.舉例說明如下.
圖7(a)表示未經(jīng)訓(xùn)練的甲骨文字特征分布,其中每個點代表一個樣本,包括屬于A、B兩類的臨摹甲骨文字和拓片甲骨文字.此時拓片甲骨文字編碼器尚未訓(xùn)練,故而拓片甲骨文字特征近似隨機分布.圖7(b)表示經(jīng)過對抗訓(xùn)練后的特征分布,每個類別的拓片甲骨文字樣本會服從以同類臨摹甲骨文字為中心的類高斯分布.然而此時由于沒有利用異類臨摹甲骨文字樣本進行判別學(xué)習(xí),部分樣本會越過最近鄰分類的“分類面”落入其他類別所在的區(qū)域.我們在本文采用度量學(xué)習(xí)的方式,可以使拓片甲骨文字的特征與同類臨摹甲骨文字特征更近、與異類臨摹甲骨文字特征更遠(yuǎn),如圖7(c)所示,此時基于跨模態(tài)最近鄰分類可以達(dá)到更好的效果.

圖7 不同階段特征分布示意圖Fig.7 Feature distributions in different stages
此處的度量學(xué)習(xí)方法與第2.1.2節(jié)類似,同樣是基于三元組式(2).三元組包含一個拓片甲骨文字樣本(錨點樣本)、一個與錨點同類的臨摹甲骨文字樣本(正樣本)以及一個與錨點異類的臨摹甲骨文字樣本(負(fù)樣本).以式(2)為目標(biāo)對拓片甲骨文字編碼器進行訓(xùn)練,以減小正樣本與錨點的距離、同時增大負(fù)樣本與錨點的距離.與第2.1.2節(jié)不同,由于拓片甲骨文字編碼器已經(jīng)進行過對抗訓(xùn)練,多數(shù)三元組都滿足式(2),故而度量學(xué)習(xí)的訓(xùn)練過程略過階段1,僅包括階段2.
我們利用反卷積方法對臨摹甲骨文和拓片甲骨文特征進行可視化,如圖8所示.對于128維特征的每個維度,我們均可獲得一個與輸入圖像同尺寸的特征圖,為了更清晰的觀察特征的分布區(qū)域,我們將128個特征圖通過在每個空間位置求和的方式融合為一個特征圖.可以看出,無論是臨摹甲骨文還是拓片甲骨文,學(xué)到的共享特征均集中于文字區(qū)域(而不是背景區(qū)域),反映了文字本質(zhì)結(jié)構(gòu)特點.
以臨摹甲骨文字的特征為原型,檢索待識別的拓片甲骨文字特征,距離最近的臨摹甲骨文字的類別就是拓片甲骨文字的識別結(jié)果.只要存在對應(yīng)類別的臨摹甲骨文字,就可以對拓片甲骨文字進行識別,所以可以實現(xiàn)新類拓片甲骨文字的增量識別(即使拓片甲骨文字沒有訓(xùn)練過).
針對已知類識別,為了進一步提高識別性能,我們可以采用單模態(tài)CNN模型和跨模態(tài)最近鄰分類相結(jié)合的方法.單模態(tài)CNN的網(wǎng)絡(luò)結(jié)構(gòu)與甲骨文字編碼器基本一致(僅將圖4最后的全連接層輸出維度設(shè)置為與類別數(shù)相等,并且將L2歸一化層替換為Softmax層).這里分兩步分類:當(dāng)單模態(tài)CNN的分類置信度較高時(類別置信度最大值高于一個閾值),直接輸出CNN的分類結(jié)果;否則,通過跨模態(tài)最近鄰分類給出識別結(jié)果.這樣很好地利用了兩個分類器的互補性.為了提高最近鄰分類器的計算效率,原型檢索僅僅在單模態(tài)CNN輸出置信度最高的若干類別中進行.
本文使用的甲骨文字?jǐn)?shù)據(jù)集由安陽師范學(xué)院甲骨文信息處理實驗室提供.拓片甲骨文字[1]包含樣本數(shù)較多的241個類別,共295466個樣本,其中每個類別最少16個、最多25 898個、平均1 226個樣本.樣本量的類間分布不均衡,如圖9所示.本實驗會對圖像進行縮放使得長邊為64像素,然后將其置于一個大小為64×64的黑色背景圖像的中心.臨摹甲骨文字?jǐn)?shù)據(jù)集[26]包含2583個類別,共39 062個樣本,其中每個類別最少2個、最多287 個、平均16個樣本.我們使用了其中241個對應(yīng)于拓片甲骨文字的類別進行實驗.其余類別的樣本可用于拓片甲骨文字增量識別(也就是只要有臨摹文字樣本的類別,就可以識別對應(yīng)的拓片甲骨文字),但由于這些類別沒有拓片甲骨文字測試樣本,我們沒有進行評測,而是用241類拓片甲骨文字樣本中的41類進行新類的增量識別評測(詳見第3.4 節(jié)),已知類別識別的數(shù)據(jù)是全部241類拓片甲骨文字樣本(詳見第3.2節(jié)、第3.3節(jié)).

圖9 拓片甲骨文字中241個類別的樣本個數(shù)分布Fig.9 Sample distribution of oracle characters scanned from bones and shells
如圖10所示,對于拓片甲骨文字,每一類內(nèi)往往包含了多種字形.如果在特征空間,某拓片甲骨文字與某臨摹甲骨文字的特征距離十分相近,他們對應(yīng)的圖像應(yīng)該不僅僅屬于同一類,更應(yīng)該對應(yīng)相近的字形.由于我們只有拓片甲骨文字與臨摹甲骨文字的類別信息,而沒有類別下具體的字形標(biāo)簽,故而在構(gòu)建三元組的時候無法選擇合適的錨點與正樣本.如果錨點與正樣本來自同一類下的兩個不同字形,通過優(yōu)化令二者在度量空間相近是難以做到的.基于上述分析,在利用度量學(xué)習(xí)的方式訓(xùn)練拓片甲骨文字編碼器前,先對拓片甲骨文字特征進行基于對抗訓(xùn)練的領(lǐng)域自適應(yīng)學(xué)習(xí).

圖10 拓片甲骨文字類內(nèi)樣本示例,每一列屬于同一類Fig.10 Oracle images with the same characters in each array
實驗設(shè)置訓(xùn)練集的構(gòu)建方式為(241類):
1)對于樣本量小于900的類別,隨機調(diào)取2/3的樣本加入訓(xùn)練集.
2)對于樣本量大于等于900的類別,隨機調(diào)取600個樣本加入訓(xùn)練集.
其余樣本作為后續(xù)已知類識別實驗的測試集.圖11展示了領(lǐng)域自適應(yīng)后的五組最近鄰對,觀察數(shù)據(jù)可以發(fā)現(xiàn),進行領(lǐng)域自適應(yīng)之后,同一類內(nèi)不同模態(tài)的最近鄰對已經(jīng)在字形上非常相似.可以看到盡管拓片甲骨文字圖像被噪聲污染嚴(yán)重,其字形結(jié)構(gòu)與最近鄰的臨摹甲骨文字是一致的.故而可以基于對抗訓(xùn)練的結(jié)果,以上述最近鄰對作為三元組中的錨點與正樣本進行深度度量學(xué)習(xí).

圖11 領(lǐng)域自適應(yīng)后的最近鄰對示例Fig.11 Nearest neighbor pairs after domain adaption
這里比較4個分類方法的性能:單模態(tài)最近鄰分類器[26]、單模態(tài)CNN、跨模態(tài)最近鄰分類器、融合跨模態(tài)信息的CNN.單模態(tài)最近鄰分類和單模態(tài)CNN的訓(xùn)練集構(gòu)建與第3.2節(jié)一致,訓(xùn)練樣本之外的拓片甲骨文字樣本為測試集.單模態(tài)最近鄰分類中,拓片甲骨文字編碼器訓(xùn)練方法與第2.1.2節(jié)臨摹甲骨文字編碼器的訓(xùn)練方法一致.單模態(tài)CNN的網(wǎng)絡(luò)結(jié)構(gòu)與甲骨文字編碼器基本一致(如第2.3節(jié)所述).跨模態(tài)最近鄰分類的原型來自臨摹甲骨文字特征,臨摹甲骨文字特征編碼器的相關(guān)設(shè)置和文獻[26]相同.融合跨模態(tài)信息的CNN是指CNN分類置信度(輸出類別置信度最大值)低于給定閾值τ時采用跨模態(tài)最近鄰分類,并在CNN置信度最高的K個類別上搜索最近鄰原型.下面我們首先分別研究閾值τ和參數(shù)K對融合跨模態(tài)信息的CNN分類性能的影響.再對4種不同的甲骨文識別方法進行比較.
圖12反映了閾值τ對融合跨模態(tài)信息的CNN分類性能的影響.當(dāng)閾值τ過小時,主要由CNN分類模塊發(fā)揮作用.由于甲骨文字的特點,即使本實驗中數(shù)據(jù)充足(每個類平均1226個樣本),單憑該模塊也難以達(dá)到較高的識別性能.當(dāng)置信度閾值過大時,主要由跨模態(tài)最近鄰分類發(fā)揮作用.由于對應(yīng)較高置信度的CNN分類結(jié)果往往比較可靠,如果沒有利用該信息,同樣會降低識別性能.通過曲線可以看到,本文所采用的閾值0.66是一個相對較好的平衡點,后續(xù)實驗的τ值固定為0.66.

圖12 置信度閾值與識別精度關(guān)系曲線圖Fig.12 Relationship between confidence threshold and recognition accuracy
圖13展示了參數(shù)K對融合跨模態(tài)信息的CNN分類性能的影響.可以看到,當(dāng)K小于4 時,由于考慮的類別數(shù)太小,識別精度會很低.當(dāng)K大于4時,不僅僅最近鄰檢索效率變低,算法精度也會逐漸變低.這說明考慮置信度過低的類別不僅僅會增加最近鄰檢索的計算量,同時這些類別會對最近鄰識別產(chǎn)生干擾并降低精度.后續(xù)實驗的K值設(shè)定為4.

圖13 最近鄰檢索的類別數(shù)與識別精度關(guān)系圖Fig.13 Relationship between character number of nearest neighbor retrieval and recognition accuracy
在進行不同識別方法的對比前,我們首先對不同尺度圖像的識別性能進行比較.如表1所示,我們分別對32×32、64×64、128×128三個大小的甲骨文圖像進行了識別.可以看出,圖像分辨率是32×32時,性能比64×64降低很多.圖像分辨率是128×128時,性能僅僅提升一個百分點,但是由于圖像寬度和高度同時增加一倍,所以計算量增大到4 倍.所以本文設(shè)置的圖像分辨率64×64是一個識別率和計算效率都比較合理的選擇.

表1 不同圖像尺度對性能的影響Table 1 Effects of different image scales
4種不同的拓片甲骨文識別方法如表2所示,融合跨模態(tài)信息的CNN分類可以將拓片甲骨文字的識別精度相對于單模態(tài)CNN從84.4%提高到86.7%.這說明了臨摹甲骨文字信息對拓片甲骨字的識別是有促進的.同時也可以看到,單模態(tài)的最近鄰分類精度非常低,相對于跨模態(tài)最近鄰分類低了7.96%,進一步證明了跨模態(tài)識別的有效性.這里,僅用拓片甲骨文字樣本訓(xùn)練CNN得到的識別精度比較高(84.40%),這是因為訓(xùn)練樣本數(shù)比較大而類別數(shù)比較小.而且,該CNN分類器不能識別訓(xùn)練樣本類別(已知類別)以外的新類別樣本.

表2 拓片甲骨文字分類精度對比Table 2 Comparison of different oracle character recognition methods
本文進一步對實驗結(jié)果進行分析,發(fā)現(xiàn)基于常規(guī)的CNN分類難以準(zhǔn)確地對包含多種字形結(jié)構(gòu)的類別進行識別.如圖14所示,該類別包含的字形結(jié)構(gòu)差異很大,單模態(tài)CNN的識別精度僅達(dá)到66.6%,而基于跨模態(tài)最近鄰分類,可將精度提升至88.4%,由此可見我們提出的跨模態(tài)最近鄰分類方法的優(yōu)勢.

圖14 來自同一類別的多種字形結(jié)構(gòu)Fig.14 Different glyph images of the same character
基于本文所提出的跨模態(tài)最近鄰分類方法,可以實現(xiàn)新類別拓片甲骨文字的增量識別.將241類的拓片甲骨文字樣本分為兩部分,第一部分包括200類,作為已知類,用于訓(xùn)練拓片甲骨文字編碼器;其余41類數(shù)據(jù)作為新類識別的測試樣本.以度量學(xué)習(xí)訓(xùn)練臨摹甲骨文字編碼器得到的特征作為原型,并在已知類上使用第2.2.1節(jié)與第2.2.2節(jié)的方法訓(xùn)練拓片甲骨文字編碼器,然后在41個新類上進行跨模態(tài)最近鄰識別(度量學(xué)習(xí)+領(lǐng)域自適應(yīng)+特征修正).同時本文設(shè)置了一個對比實驗,只使用第2.2.1節(jié)的領(lǐng)域自適應(yīng)方法訓(xùn)練拓片甲骨文(度量學(xué)習(xí)+領(lǐng)域自適應(yīng)),驗證第2.2.2節(jié)特征修正的有效性.
如表3所示,利用第2.1.2節(jié)提出的方法訓(xùn)練臨摹甲骨文字編碼器,而后基于第2.2.1節(jié)提出的領(lǐng)域自適應(yīng)方法訓(xùn)練拓片甲骨文字編碼器,新類別上的識別精度可以達(dá)到43.67%.基于第2.2.2節(jié)提出的方法對拓片甲骨文字編碼器進一步進行特征修正,識別精度便可提升到62.1%.由此可見,本文提出的跨模態(tài)最近鄰分類方法可以對新類別進行較好的識別,從而輔助語言學(xué)專家進行甲骨文字鑒別.

表3 新類別拓片甲骨文字識別Table 3 Recognition performance of new oracle characters
本文提出了一種基于深度度量學(xué)習(xí)和最近鄰分類的跨模態(tài)甲骨文字識別框架,相對于傳統(tǒng)的CNN分類框架和單模態(tài)識別方法都具有明顯的優(yōu)勢.首先,基于領(lǐng)域自適應(yīng)的方式將拓片甲骨文字和臨摹甲骨文字映射到相同的特征空間,并保證來自同類的拓片甲骨文字與臨摹甲骨文字特征具有相近的分布;接著,通過基于深度度量學(xué)習(xí)的特征修正,增大拓片甲骨文字特征與異類臨摹甲骨文字特征的距離,同時減小拓片甲骨文字特征與同類臨摹甲骨文字特征的距離;最后,以臨摹甲骨文字特征為原型,使用最近鄰分類方法對拓片甲骨文字進行識別,并在已知類識別和新類增量識別中驗證了算法的有效性.
本文方法基于臨摹甲骨文字原型可以對沒有訓(xùn)練樣本的拓片甲骨文字類別進行增類識別,這對實際應(yīng)用場合的拓片甲骨文字解讀提供幫助.如果臨摹甲骨文字和拓片甲骨文字的訓(xùn)練樣本能提供細(xì)粒度的同類異形標(biāo)記,將有助于訓(xùn)練更好的模型,進一步提高識別精度.