高奕星,施 霖
(昆明理工大學(xué)信息工程與自動化學(xué)院,云南 昆明 650500)
漢字的結(jié)構(gòu)復(fù)雜、形態(tài)多樣,每個漢字都具有結(jié)構(gòu)的唯一性,漢字骨架作為漢字字形的重要拓?fù)涿枋鼍哂兄匾饬x。漢字骨架生成廣泛應(yīng)用于字形技術(shù)[1]、漢字識別[2]、漢字生成[3]等漢字信息處理領(lǐng)域。
漢字骨架可由一段書寫序列進(jìn)行表示,與圖像表示相比,序列格式的漢字骨架包含更多的動態(tài)信息,如時間順序、軌跡等,這些信息對漢字的筆畫連接、拓?fù)浣Y(jié)構(gòu)等有更為清晰的描述,同時書寫序列可以很容易地轉(zhuǎn)換為圖像[4]。循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)廣泛應(yīng)用于序列建模,如自然語言處理[5]、語音處理[6]等領(lǐng)域。目前基于RNN已經(jīng)提出了生成英文字符骨架的方法。文獻(xiàn)[7]利用帶有長短期記憶[8](LSTM)的RNN 結(jié)合遞歸混合密度網(wǎng)絡(luò)[9](RMDNs)能夠?qū)W習(xí)并生成可辨識的書寫軌跡序列。文獻(xiàn)[10]提出了一種條件變分遞歸神經(jīng)網(wǎng)絡(luò)(C-VRNN),將字符的風(fēng)格樣式和骨架分離,對兩者的分布進(jìn)行建模,實(shí)現(xiàn)對字符骨架的編輯或生成全新的字符骨架。文獻(xiàn)[11]在VRNN 的基礎(chǔ)上引入了解耦樣式描述符(DSD)模型,提高了模型從不同風(fēng)格樣式的字符中學(xué)習(xí)字符骨架的能力。
相較于英文這種僅有幾十個字母的文字,漢字不僅具有數(shù)萬種字形且具有高層次的信息和復(fù)雜的形狀結(jié)構(gòu),因此漢字骨架的生成難度更大。文獻(xiàn)[12]首次嘗試使用RNN 生成漢字骨架,在帶有LSTM 的RNN 框架下生成了無寬度信息的漢字,即漢字骨架,但其合成結(jié)果的質(zhì)量較差,會生成不存在的漢字或生成結(jié)果不可讀。文獻(xiàn)[13]在Graves 的框架上進(jìn)行擴(kuò)展,提出了一種帶有字符嵌入的條件生成模型,對手寫漢字的分布進(jìn)行建模,模型從與RNN 相關(guān)的概率分布中采樣來生成新的漢字骨架,但會出現(xiàn)部分漢字骨架筆畫缺失的問題,同時字符嵌入的聯(lián)合訓(xùn)練模型需要數(shù)百萬個訓(xùn)練樣本。文獻(xiàn)[14]提出了一種帶有單調(diào)注意機(jī)制[15]的用于序列樣式轉(zhuǎn)換任務(wù)的序列到序列[16](Seq2Seq)模型FontRNN,能夠從少量的輸入樣本中學(xué)習(xí)并生成大規(guī)模的漢字骨架。FontRNN 有效改善了文獻(xiàn)[13]方法中筆畫缺失的問題,但對于序列長度極短的筆畫,筆畫缺失的問題仍然存在。
盡管上述方法已經(jīng)表現(xiàn)出了良好的效果,但正如文獻(xiàn)[13]所證明的那樣,生成性RNN 模型無法捕獲小但重要的細(xì)節(jié)以進(jìn)行精確繪制,這主要是由于缺乏對漢字高級信息的理解,如筆畫的構(gòu)成和布局。
本文將漢字的結(jié)構(gòu)信息與神經(jīng)網(wǎng)絡(luò)相結(jié)合,將漢字骨架拆分為兩層序列數(shù)據(jù):筆畫序列和筆畫點(diǎn)序列。筆畫序列包含了漢字的框架結(jié)構(gòu)信息,增強(qiáng)了漢字字形的描述。文中使用RRN 作為生成模型,RRN 沒有使用梯度下降訓(xùn)練方法,而是采用固有算法[17]來更新權(quán)重,避免了梯度消失或爆炸的問題。同時,RRN 對生成長序列具有很強(qiáng)的魯棒性,這使得本文模型能夠生成具有更豐富書寫細(xì)節(jié)的漢字骨架。
在RRN 的框架下,生成模型不依賴于大量的訓(xùn)練數(shù)據(jù),因此本文使用多個RRN 組成的分布式網(wǎng)絡(luò)來生成漢字骨架。根據(jù)漢字的筆畫數(shù)量和筆畫類型對數(shù)據(jù)集進(jìn)行細(xì)分,采用分布式訓(xùn)練方法,利用間架結(jié)構(gòu)對筆畫進(jìn)行縮放和重組來生成漢字骨架。通過分布式訓(xùn)練,生成模型可以較少地依賴硬件性能并快速完成訓(xùn)練。
由于漢字的字形和字體多樣,本文著眼于規(guī)范漢字,后文中所表述的漢字均為手寫的規(guī)范漢字。
本節(jié)介紹了提出的漢字骨架生成方法。首先,簡要說明了序列格式的漢字骨架表示;然后,詳細(xì)描述了基于多個RRN 構(gòu)建的漢字骨架生成模型。
漢字骨架可由書寫序列進(jìn)行表示,書寫序列為可變長的點(diǎn)序列數(shù)據(jù),通常由在線方法記錄書寫時筆尖的運(yùn)動軌跡獲得,可表示為:
式中:Xi和Yi為筆尖水平運(yùn)動的XY軸坐標(biāo);Pi為書寫時的壓力值。漢字由順序書寫的筆畫組成,而筆畫又由一段序列點(diǎn)構(gòu)成。根據(jù)書寫壓力Pi可以將漢字拆解為多個筆畫,筆畫序列表示為:
式中:Si表示漢字第i個筆畫的類型;n為漢字的筆畫數(shù);(Δxi,Δyi,Lxi,Lyi)為筆畫序列中蘊(yùn)含的漢字結(jié)構(gòu)信息,用于表示每個漢字筆畫的放縮比例和相對位置,Δxi和Δyi表示第i個筆畫的第一個序列點(diǎn)與規(guī)范化區(qū)間的中心點(diǎn)間在XY軸的相對距離;Lxi和Lyi表示第i個筆畫相較于整個字在XY軸的比例關(guān)系。筆畫點(diǎn)序列表示為:
式中:ΔXi和ΔYi表示第i個序列點(diǎn)與第i- 1 個序列點(diǎn)之間XY軸的相對偏移,其中(ΔX1,ΔY1)為(0,0);m為筆畫的序列點(diǎn)數(shù);ΔPi表示第i個序列點(diǎn)相較于第i- 1 個序列點(diǎn)書寫壓力值的變化,其中ΔP1表示第一個序列點(diǎn)的書寫壓力值。
如圖1 所示,本文提出的漢字骨架生成模型包含兩個部分:筆畫序列生成模型和筆畫生成模型。以下將詳細(xì)敘述這兩部分模型。
圖1 漢字骨架生成模型示例
1.2.1 筆畫序列生成模型
筆畫序列生成模型由若干個RRN 構(gòu)成(圖1 中僅展示出一個),每個RRN 生成部分漢字的筆畫序列。RRN的隱層由大量稀疏且隨機(jī)連接的神經(jīng)元組成,從可變數(shù)量的神經(jīng)元Nin接收輸入,網(wǎng)絡(luò)活動演化可由一階微分方程表示[18-19]:
式中:ri= tanh(xi)為網(wǎng)絡(luò)的活動水平,表示神經(jīng)元xi的放電率;y表示輸入脈沖信號;τ表示單位時間常數(shù);WRec為N×N的稀疏循環(huán)權(quán)重,非0 初始值隨機(jī)取自均值為0、標(biāo)準(zhǔn)差為的高斯分布,g是突觸強(qiáng)度縮放系數(shù),pc是神經(jīng)元之間的連接概率;WIn為輸入權(quán)重,由均值為0、單位標(biāo)準(zhǔn)差的高斯分布初始化;網(wǎng)絡(luò)活動由z讀出;WOut為Nout×N的讀出權(quán)重,Nout表示期望目標(biāo)活動的維度,初始值來自均值為0、方差為的高斯分布;Inoise為N× 1 隨機(jī)向量噪聲,取自均值為0、標(biāo)準(zhǔn)差為I0的高斯分布。
RRN 的訓(xùn)練需對循環(huán)權(quán)重WRec和WOut進(jìn)行更新,更新方法為固有算法[17],通過基于FORCE 算法[20]的遞歸最小二乘法RLS 實(shí)現(xiàn)。循環(huán)權(quán)重WRec的更新定義為:
其中60%的神經(jīng)元上的突觸是可塑的,B(i)是神經(jīng)元i突觸前循環(huán)單位的子集,ei表示神經(jīng)i的個體誤差,定義如下:
式中:ri(t)是權(quán)重更新之前神經(jīng)元i的活動;Ri(t)則是該神經(jīng)元的固有軌跡活動。固有軌跡活動為權(quán)重更新前隨機(jī)獲取的網(wǎng)絡(luò)活動。
Pi(每個神經(jīng)元i一個)用于估計突觸前輸入到神經(jīng)元i(B(i))的相關(guān)矩陣的逆,由式(8)進(jìn)行更新:
讀出權(quán)重WOut的更新定義為:
式(10)為定義的誤差,f(t) 為目標(biāo)漢字的筆畫序列。
P是網(wǎng)絡(luò)活動水平r的相關(guān)矩陣的逆加上正則化項(xiàng)的運(yùn)行估計,其表達(dá)式為:
筆畫序列生成模型中,每條脈沖輸入對應(yīng)一個漢字的筆畫序列,即當(dāng)模型訓(xùn)練完成后,特定的脈沖輸入將激活RRN 生成目標(biāo)漢字的筆畫序列。
1.2.2 筆畫生成模型
筆畫生成模型同樣由若干個RRN 構(gòu)成,每個RRN生成一類筆畫的點(diǎn)序列。筆畫生成模型的訓(xùn)練過程與筆畫序列生成模型基本一致,區(qū)別之處在于期望輸出的數(shù)據(jù)維度不同。由1.1 節(jié)中可知,筆畫點(diǎn)序列為三維數(shù)據(jù),通常序列的長度不一,因此通過增加一個維度Di來判斷RRN 何時停止輸出,此時筆畫點(diǎn)序列表示為:
式中:Di為序列點(diǎn)是否為結(jié)束的標(biāo)記,D1~Dm-1均為0,Dm為1,當(dāng)Di為1 時表示序列結(jié)束。其余變量與公式(3)中一致。
一般來說,本文方法是按如下步驟實(shí)現(xiàn)漢字骨架的生成:首先通過脈沖信號激活RRN 生成期望漢字的筆畫序列,根據(jù)筆畫序列確定目標(biāo)漢字包含的筆畫和間架結(jié)構(gòu);然后再次通過脈沖信號激活RRN 生成相應(yīng)筆畫的點(diǎn)序列;最后根據(jù)間架結(jié)構(gòu)將筆畫按序重組生成目標(biāo)漢字的骨架。
本節(jié)介紹了漢字骨架生成模型上進(jìn)行的實(shí)驗(yàn),對數(shù)據(jù)集、超參數(shù)配置和RRN 分布式訓(xùn)練方法進(jìn)行了說明。實(shí)驗(yàn)均通過Matlab 程序在一臺2.9 GHz AMD Ryzen 7 4800H CPU 和16.0 GB RAM 的PC 上實(shí)現(xiàn)。
訓(xùn)練RRN 生成模型僅需一個小規(guī)模的漢字?jǐn)?shù)據(jù)集,該數(shù)據(jù)集需滿足兩個條件:其一,漢字樣本為規(guī)范漢字,即正體字,書寫標(biāo)準(zhǔn)且不存在連筆潦草等情況;其二,漢字樣本為序列格式且具有大量的特征序列點(diǎn)。
由于并未發(fā)現(xiàn)同時滿足上述兩個條件的公開數(shù)據(jù)集,所以選擇了自建數(shù)據(jù)集。通過電子手寫板采集手寫漢字?jǐn)?shù)據(jù),記錄下漢字的書寫序列。為了保證書寫的準(zhǔn)確性及規(guī)范性,采集的漢字根據(jù)《GB 13000.1 字符集漢字筆順規(guī)范》(GF 3002—1999)中規(guī)定的筆畫數(shù)和筆順進(jìn)行書寫。一共采集了3 755 個手寫漢字樣本,樣本字符來自GB 2312-80 中全部一級常用漢字。每個漢字樣本的序列點(diǎn)數(shù)一般為數(shù)百個,根據(jù)2.1 節(jié)中描述的方法將3 755 個漢字樣本處理為兩類數(shù)據(jù):3 755 個漢字的筆畫序列數(shù)據(jù)和36 670 條筆畫的點(diǎn)序列數(shù)據(jù)。經(jīng)過預(yù)處理后,每條筆畫數(shù)據(jù)的序列點(diǎn)數(shù)m在10 個左右。
RRN 模型的部分超參數(shù)設(shè)置為:突觸強(qiáng)度縮放系數(shù)g= 1.5,神經(jīng)元間連接概率pc= 0.1,時間常數(shù)τ=10 ms,輸入脈沖的振幅為4,輸入持續(xù)時間為100 ms 或200 ms(筆畫序列生成模型中為100 ms,筆畫生成模型中為200 ms),噪聲Inoise的振幅I0= 0.001。
除上述超參數(shù)外,還需配置RRN 模型的神經(jīng)元數(shù)N。神經(jīng)元數(shù)決定了RRN 的記憶容量,訓(xùn)練數(shù)據(jù)規(guī)模越大,N也需越大,同時訓(xùn)練數(shù)據(jù)的序列長度不同,兩者之間的對應(yīng)關(guān)系也會發(fā)生變化。由于沒有現(xiàn)存的經(jīng)驗(yàn)指明兩者之間的準(zhǔn)確關(guān)系,所以本文通過實(shí)驗(yàn)的方法對RRN 的記憶容量進(jìn)行量化,以探究RRN 的記憶容量與神經(jīng)元數(shù)之間的關(guān)系。實(shí)驗(yàn)分別在兩類生成模型上進(jìn)行。
筆畫序列為五維數(shù)據(jù),因此WOut的維度為5 ×N。將筆畫序列生成模型中WRec和WOut的更新次數(shù)設(shè)置為1和5。通過計算RRN 生成的筆畫序列與訓(xùn)練數(shù)據(jù)之間的平均歐幾里德距離來判斷網(wǎng)絡(luò)的訓(xùn)練誤差。對筆畫序列中Si、(Δxi,Δyi)和(Lxi,Lyi)三個類別的數(shù)據(jù)分別計算誤差,其中Si進(jìn)行四舍五入后再計算歐氏距離,當(dāng)Si的誤差為0 時,記錄下此時的神經(jīng)元數(shù)。由于當(dāng)Si的誤差為0 時,(Δxi,Δyi)和(Lxi,Lyi)的平均歐氏距離通常小于0.005,因此以Si的平均歐氏距離作為精度判斷標(biāo)準(zhǔn)。從數(shù)據(jù)集中選取不同規(guī)模的筆畫序列數(shù)據(jù),用來訓(xùn)練不同神經(jīng)元數(shù)的RRN 模型,如圖2a)所示,將實(shí)驗(yàn)得出的數(shù)據(jù)進(jìn)行曲線擬合,在95%置信區(qū)間,擬合曲線的公式為:
圖2 RRN 神經(jīng)元數(shù)與訓(xùn)練數(shù)據(jù)規(guī)模關(guān)系圖
擬合優(yōu)度R2為0.999 5。
筆畫點(diǎn)序列為四維數(shù)據(jù),因此WOut的維度為4 ×N,將筆畫生成模型中WRec和WOut的更新次數(shù)設(shè)置為1 和10。同樣采用歐氏距離來判斷RRN 的訓(xùn)練精度,對筆畫中(ΔXi,ΔYi,ΔPi)計算平均歐氏距離。當(dāng)歐氏距離剛小于0.17 時記錄下此時的神經(jīng)元數(shù)。從數(shù)據(jù)集中選取了不同規(guī)模的筆畫點(diǎn)序列數(shù)據(jù),用于訓(xùn)練不同神經(jīng)元數(shù)的RRN 模型。如圖2b)所示,將實(shí)驗(yàn)得出的數(shù)據(jù)進(jìn)行曲線擬合,在95%置信區(qū)間,擬合曲線的公式為:
擬合優(yōu)度R2為0.986 8。
通過上述兩組實(shí)驗(yàn),對于自建數(shù)據(jù)集,得出RRN 的神經(jīng)元數(shù)與訓(xùn)練數(shù)據(jù)規(guī)模之間大致的量化關(guān)系,在后續(xù)訓(xùn)練漢字骨架生成模型時,以此為標(biāo)準(zhǔn)來設(shè)置神經(jīng)元數(shù)N。
筆畫序列生成模型和筆畫生成模型均采用分布式的訓(xùn)練方法,即運(yùn)用多個小規(guī)模的RRN 組成分布式的網(wǎng)絡(luò)構(gòu)建生成模型,同時將數(shù)據(jù)集拆分為若干個細(xì)分?jǐn)?shù)據(jù)集,使用細(xì)分?jǐn)?shù)據(jù)集訓(xùn)練單個RRN。
將不同規(guī)模訓(xùn)練數(shù)據(jù)所需的訓(xùn)練時長作為細(xì)分?jǐn)?shù)據(jù)集的依據(jù),為此記錄了2.2 節(jié)中兩組實(shí)驗(yàn)所用的訓(xùn)練時間。
圖3a)為RRN 訓(xùn)練時長與筆畫序列數(shù)據(jù)規(guī)模的關(guān)系圖。對于筆畫序列數(shù)據(jù),首先將筆畫序列按漢字的筆畫數(shù)分為24 組(自建數(shù)據(jù)集中漢字的筆畫數(shù)為1~24),接著將24 組數(shù)據(jù)以500 條左右為一組繼續(xù)進(jìn)行細(xì)分,不足500 條的單獨(dú)作為1 組,最終得到了84 個細(xì)分的筆畫序列數(shù)據(jù)集,每個細(xì)分?jǐn)?shù)據(jù)集訓(xùn)練一個RRN。對于數(shù)據(jù)規(guī)模在500 條左右的細(xì)分?jǐn)?shù)據(jù)集,RRN 的神經(jīng)元數(shù)N設(shè)置在550~600,訓(xùn)練數(shù)量規(guī)模遠(yuǎn)不足500 條的RRN,神經(jīng)元數(shù)按照2.2 節(jié)中得出的量化關(guān)系進(jìn)行設(shè)置。
圖3 RRN 訓(xùn)練時長與訓(xùn)練數(shù)據(jù)規(guī)模關(guān)系圖
圖3b)為RRN 訓(xùn)練時長與筆畫點(diǎn)序列數(shù)據(jù)規(guī)模的關(guān)系圖,對于筆畫點(diǎn)序列數(shù)據(jù),首先將36 670 條漢字筆畫數(shù)據(jù)以漢字筆畫類型數(shù)分為32組(通常漢字包含32 種筆畫類型),接著將32 組數(shù)據(jù)以50 條數(shù)據(jù)為一組繼續(xù)進(jìn)行拆分,不足100 條的單獨(dú)作為1 組,最終得到了731 個細(xì)分的筆畫數(shù)據(jù)集,每個細(xì)分?jǐn)?shù)據(jù)集訓(xùn)練一個RRN。對于數(shù)據(jù)規(guī)模為50 條的細(xì)分?jǐn)?shù)據(jù)集,對應(yīng)RRN 的神經(jīng)元數(shù)N設(shè)置為300,訓(xùn)練數(shù)據(jù)規(guī)模大于50 條的RRN,神經(jīng)元數(shù)N按照2.2 節(jié)中得出的量化關(guān)系進(jìn)行設(shè)置。
本節(jié)展示了漢字骨架生成的結(jié)果,包括生成筆畫的不同變體、不同漢字字符類型的漢字骨架和訓(xùn)練時長,并與相關(guān)工作進(jìn)行了對比。
訓(xùn)練完成后漢字骨架生成模型可以生成3 755 個不同漢字字符的骨架。圖4 展示了漢字“字”骨架的生成示例,圖中每列表示生成“字”的筆畫序列,每行為生成的筆畫序列中對應(yīng)的每個筆畫類型的變體,最后一行為筆畫按間架結(jié)構(gòu)進(jìn)行放縮拼接形成的“字”的骨架。將GF 2001—2001 規(guī)范中規(guī)定的筆形、折點(diǎn)、折數(shù)等作為評估筆畫的標(biāo)準(zhǔn)?!白帧本哂? 個筆畫,圖中每個筆畫都生成了10 個變體,為了便于觀察,圖中將每個筆畫都放縮至相似的大小,可以看出生成的所有筆畫都各不相同,每個相同類型的筆畫具有的特征點(diǎn)數(shù)不盡相同,筆畫的特征清晰可辨。從最后一行10 個“字”的骨架可以看出每個骨架對字形的描述都較為準(zhǔn)確,肉眼可輕易識別出字形,沒有出現(xiàn)錯漏筆畫和結(jié)構(gòu)異常的情況。
圖4 漢字“字”骨架生成圖示
為了驗(yàn)證本文提出的方法生成不同漢字骨架的能力,在圖5 中展示了9 個不同漢字字符的骨架生成示例。由圖中可以看出所有生成的漢字骨架都是可讀的且均不相同,肉眼可輕易識別出字符類型。根據(jù)GF 2001—2001 規(guī)范,每個漢字骨架對筆畫的描述都較為準(zhǔn)確,且具有較為豐富的書寫細(xì)節(jié)(每個筆畫包含的序列段數(shù)),水平或豎直的筆畫軌跡具有一定的弧度,這與人類真實(shí)書寫的漢字類似。這些結(jié)果驗(yàn)證了本文提出的方法可以生成可識別且書寫細(xì)節(jié)特征豐富的漢字骨架。
本節(jié)記錄了訓(xùn)練分布式RRN 網(wǎng)絡(luò)的訓(xùn)練時間,由于RRN 的數(shù)量較多,在表1 中統(tǒng)計了兩類生成模型的訓(xùn)練總時長。筆畫序列生成模型由84 個RRN 組成,訓(xùn)練用時73.3 min。筆畫生成模型由731 個RRN 組成,訓(xùn)練用時309.2 min。漢字骨架生成模型由筆畫序列生成模型和筆畫生成模型組成,共包含815 個RRN,總訓(xùn)練時長為382.5 min,不到6.5 h。
表1 不同生成模型RRN 的數(shù)量和總訓(xùn)練時間
上述訓(xùn)練均在一臺PC 上完成,通過分布式的訓(xùn)練方法,多個RRN 可以在不同的計算機(jī)上同時進(jìn)行訓(xùn)練,這樣訓(xùn)練時間將進(jìn)一步縮短。
圖6 為本文方法與基于RNN 的方法(文獻(xiàn)[13]提出的方法)和FontRNN 的對比圖。這是與本文的方法最相關(guān)的兩種方法。本節(jié)結(jié)合GF 2001—2001 規(guī)范,從以下五個方面來進(jìn)行對比:
圖6 不同方法生成漢字骨架對比圖
1)能否通過肉眼辨別漢字。
2)是否存在額外筆畫或筆畫缺失的情況。
3)漢字骨架蘊(yùn)含書寫細(xì)節(jié)的豐富度。
4)訓(xùn)練數(shù)據(jù)規(guī)模。
5)訓(xùn)練時長。
從圖6 可以看出,三種方法生成的漢字骨架相同字符并不完全相同,且均能通過肉眼進(jìn)行辨別。筆畫層面,如圖6b)中圈出部分所示,基于RNN 的方法生成的漢字骨架并不總是準(zhǔn)確的,存在部分筆畫缺失的情況,而本文方法和FontRNN 的生成結(jié)果中則未出現(xiàn)缺失的情況,三種方法均未出現(xiàn)添加額外筆畫的情況。圖中漢字筆畫的不同序列段為相鄰序列點(diǎn)相連得到的,序列段越多表示漢字骨架包含的序列點(diǎn)越多,即書寫細(xì)節(jié)特征越豐富。據(jù)此可知,本文方法生成的漢字骨架蘊(yùn)含的書寫細(xì)節(jié)特征最豐富,F(xiàn)ontRNN 次之,基于RNN 的方法最少。本文方法與FontRNN 生成的漢字骨架具有類似人類正常書寫的弧度,而基于RNN 的方法則明顯有別于人類書寫。除此之外,根據(jù)每個筆畫的序列段數(shù)可知,本文方法與RNN 生成相同類型的漢字骨架時,骨架所包含的特征點(diǎn)數(shù)并不總是相同的,表明這兩類方法生成的漢字骨架具有更大的隨機(jī)性,而FontRNN 生成相同漢字的骨架時,特征點(diǎn)數(shù)是一致的。上述與訓(xùn)練數(shù)據(jù)的規(guī)模相關(guān),基于RNN 的方法采用了字符嵌入的聯(lián)合訓(xùn)練,訓(xùn)練數(shù)據(jù)的規(guī)模超過了200 萬,而本文方法使用了一個小得多的數(shù)據(jù)集,僅包含3 755 個樣本。FontRNN 則是采用了遷移學(xué)習(xí)的策略,使用了更小的訓(xùn)練集(僅2 000 個樣本)。訓(xùn)練時長層面,RNN 方法的訓(xùn)練時長大概需要50 h,而FontRNN 在處理775 個樣本時耗時近3 h,本文方法則需要不到6.5 h。上述三個方法使用的訓(xùn)練數(shù)據(jù)規(guī)模及設(shè)備的性能均不相同,因此訓(xùn)練時長僅作為一個直觀的參考,無法直接體現(xiàn)出方法的性能優(yōu)勢。
本文將漢字的結(jié)構(gòu)信息與神經(jīng)網(wǎng)絡(luò)相結(jié)合,提出了一種基于多個并行的RRN 構(gòu)成的分布式網(wǎng)絡(luò)用于生成漢字骨架,該網(wǎng)絡(luò)可用于快速生成大規(guī)模且高質(zhì)量的漢字骨架。相較于現(xiàn)有大多利用RNN 的方法,本文方法只需小規(guī)模的訓(xùn)練數(shù)據(jù)即可完成訓(xùn)練,同時可以保留更多的骨架特征點(diǎn),增強(qiáng)了對漢字結(jié)構(gòu)的描述。此外,生成模型采用了分布式的訓(xùn)練方法,可快速完成訓(xùn)練。實(shí)驗(yàn)結(jié)果表明,本文提出的方法可以快速生成具有更豐富書寫細(xì)節(jié)特征的漢字骨架,這體現(xiàn)了本文方法在漢字骨架生成方面的優(yōu)勢。