當前位置:
首頁 > 知識 > 深度學習碰上古文獻,西南大學提出基於CNN的古彝文識別方法

深度學習碰上古文獻,西南大學提出基於CNN的古彝文識別方法

機器之心發布

作者:西南大學計算機與信息科學學院 陳善雄

在論文《A Recognition Method of Ancient Yi Character Based on Deep Learning》中,西南大學計算機與信息科學學院陳善雄副教授聯合貴州工程應用技術學院彝學研究院的專家,提出了使用深度學習技術識別古彝文的方法。

摘要:作為世界六大古文字之一的古彝文記錄下幾千年來人類發展歷史。針對古彝文的識別能夠將這些珍貴文獻材料轉換為電子文檔,便於保存和傳播。由於歷史發展,區域限制等多方面原因,針對古彝文識別的研究鮮有成果。本文把當前新穎的深度學習技術,應用到古老的文字識別中去。在四層卷積神經網路(Convolutional Neural Network, CNN)的基礎上擴展出 5 個模型,然後再利用 Alpha-Beta 散度作為懲罰項對 5 個模型的輸出神經元重新進行自編碼,接著用兩個全連接層完成特徵壓縮,最後在 softmax 層對古彝文字元特徵進行重新評分,得到其概率分布,選擇對應的最高概率作為識別的字元。實驗表明本文所提方法相對於傳統 CNN 模型而言對古彝文手寫體的識別具有較高的精度。

1 引言

古彝文作為一種重要的少數民族文字,距今有八千多年歷史,可與甲骨、蘇美爾、埃及、瑪雅、哈拉般 5 種文字並列,是世界六大古文字之一,一直沿用至今,並在歷史上留下了許多珍貴的典籍,這些用古彝文書寫的典籍具有重要的歷史意義和社會價值 [1, 2]。而作為彝文古籍的載體,石刻、崖畫、木牘和紙書由於年代久遠,往往模糊不清,或者殘缺不全,這給古彝文的識別帶來了極大的挑戰。

圖 1:從左至右分別為石刻、木犢、羊皮書寫的古彝文。

當前,在古彝文識別方面成果相對較少,主要是國內民族類高校和研究所開展了部分研究。雲南民族大學王嘉梅等人曾使用圖像分割的方法進行彝文識別,首先在預處理過程中對彝文字元進行細化、歸一化、二值化等處理,之後使用模板匹配法進行彝文識別 [3]。朱龍華等人使用組合特徵分類的方法進行彝文識別,他們使用的特徵有:方向線素特徵、筆畫密度特徵和投影特徵,在分類過程中,使用多個分類器投票的方式來確定最終的類別,最終獲得了接近 96%的識別率,是典型的特徵提取外加分類的方法 [4]。朱宗曉、吳顯禮在印刷體規範彝文識別中首先提取周邊方向貢獻度的特徵,並將特徵壓縮為 128 維,之後使用基於單一特徵的三級距離字典匹配演算法進行識別,最終在包含 10 種彝文文字的測試集中達到了 99.21%的一次識別率 [5]。在彝文識別研究中,值得一提的是 2017 年 3 月西南民族大學沙馬拉毅教授與中央民族語文翻譯局共同研製出了彝文手寫體識別技術,並開發出相關彝文識別軟體,有力地推動彝族文字和文化的保護和發展。

相對於其他文字識別而言,古彝文的書寫隨意性較大,沒有統一的規範,其識別複雜性也隨之增加。雖然現有的中英文識別技術獲得的較大的發展,但由於歷史、區域發展的不平衡,古彝文識別當前研究甚少。而現存的古彝文基本都為手寫體,手寫體的多樣性無疑加大了識別的難度 [3, 6, 7]。因此,古彝文識別是一個極具挑戰性的模式識別問題,其主要表現在:

缺乏成熟的手寫樣本庫。手寫樣本庫是古彝文識別成功的關鍵因素,直接決定著識別的效果。當前的古彝文研究仍然主要集中在對古彝文文獻的整理,沒有人專門對古彝文識別進行研究,找不到可用的古彝文手寫樣本庫。

字符集龐大。古彝文擁有龐大的字符集,2004 年出版的《滇川黔桂彝文字集》就包含著 87000 多個字 [8]。對如此龐大的字符集進行分類是一個比較困難的任務。

古彝文字體字形變化較多,且沒有統一標準,不同地區書寫規則不同,體例和格式變化較多,增加了識別難度。

本文採用深度學習中的卷積神經網路對古彝文字元進行識別。在四層卷積神經網路基礎上擴展出 5 個模型,然後再利用 Alpha-Beta 散度作為懲罰項對 5 個模型的輸出神經元重新進行自編碼,接著用兩個全連接層完成特徵壓縮,最後用 softmax 層對古彝文字元進行重新評分,得到其概率分布,選擇對應概率最高者作為識別的字元。

2 基礎網路結構

本文構造一個四層卷積神經網路用於古彝文字元識別 [9-11],稱為模型 M0,如圖 2 所示。M0 由 4 個卷積層、2 個全連接層、1 個 softmax 層構成。其符號化描述為如下:

Conv:卷積層 (Convolutional layer)

MP:最大池化層(Max Pooling layer)

Drop:隨機失活層(Dropout layer)

Softmax:Softmax 層

FC :全連接層 (Fully Connected layer)

例如,Conv(3x3, 64, S2, P1) 其表示大小為 3×3,輸出通道數位 64,步長為 2,填充為 1,的卷積層。默認情況下 Conv 的步長為 1,填充為 1,這裡主要是為了使得卷積前後特徵圖大小相等。而 MP 的在默認情況下大小 2×2,步長為 1,填充為 0,此時特徵圖大小變為前一層的 1/4。

對於模型 M0 而言,符號化描述為:

Input(64x64x1) – Conv(3x3, 100) - MP – Conv(3x3, 200) – MP - Conv(3x3, 300) – MP - Conv(3x3, 400) – MP – FC(2048) – Drop(0.5) – FC(1024) – Softmax(2162)

圖 2:模型 M0

本文以模型 M0 為基礎,分別在其各卷積層的前方再額外添加一個 3×3 的卷積層,得到了 4 個模型:M1,M2,M3,M4。所有模型的符號化描述如表 1 所示。M1 在第一個卷積層前添加了一個通道數為 50 的卷積層;M2 在第二個卷積層前添加了一個通道數為 150 的卷積層;M3 在第三個卷積層前添加了一個通道數為 250 的卷積層;M4 在第四個卷積層前添加了一個通道數為 350 的卷積層;而 M5 則將 M1-M4 所有的操作都應用到模型 M0 上,並同時在所有卷積層的前方添加一個 3×3 的卷積層,得到模型 M5,如圖 2 所示。

表 1:M0-M5 模型的符號化描述。

圖 3:模型 M5:紅色為額外添加的卷積層。

模型 M5 結構如圖 3 所示,網路由 4 個大卷積層、2 個全連接層、1 個 softmax 層構成,並對除 softmax 的其他層的輸出使用 ReLU 函數進行激活。其中每個大卷積層由兩個連續的 3×3 卷積層以及一個 2×2 最大池化層構成,卷積核的輸出通道數以 50 為基數進行遞增。為了進一步規範模型描述,我們對 M5 模型包含的四個卷積層進行形式化描述如下:

層次 1: 模型描述

Conv1: Conv1_1(參數量 4K),Conv1_2(參數量 405K),Pool1

通道數: 50,100,100

輸出尺寸:32×32

總量: 100

對於第一個卷積層 Conv1,其由卷積層 Conv1_1,Conv1_2,池化層 Pool1 構成,其通道數分別為 50,100,100,該層的輸出為 100 張大小為 32×32 的特徵圖,卷積層 Conv1_1,Conv1_2 的參數數目分別為 4k,405k,整個卷積層 Conv1 的參數數目為 409k。

層次 2 模型描述

Conv2: Conv2_1(參數量 1215K),Conv2_2(參數量 2430K),Pool2

通道數: 150,200,200

輸出尺寸:16×16

總量: 200

層次 3 模型描述

Conv3: Conv3_1(參數量 4050K),Conv3_2(參數量 6075K),Pool3

通道數: 250,300,300

輸出尺寸:8×8

總量: 300

層次 4 模型描述

Conv4: Conv4_1(參數量 8505K),Conv4_2(參數量 11340K),Pool4

通道數: 350,400,400

輸出尺寸:4×4

總量: 400

而對於全連接層與 softmax 層而言,其參數分別為 13107k,2097k,2214k。其中第一個全連接層的隨機失活概率為 0.5。整個網路的參數共計約 51442k。

3 Alpha-Beta 散度的自編碼結構

單個 CNN 模型的表達能力往往是有限的,不同的模型對於同一個問題的解決能力也不盡相同,有著自己特有的偏好,既要考慮不同模型對於局部類別識別的可信度,又要考慮模型對於整體的分類效果 [12, 13]。本文構建出一種泛化的散度,用 Alpha-Beta 散度作為懲罰項對模型 M0-M5 的輸出神經元重新進行自編碼 [14, 15],之後利用兩個全連接層進行特徵壓縮,最後使用一個 Softmax 層對古彝文字元進行重新評分 [16],得到其概率分布。

假設對於 P 和 Q 是同一個空間中的兩個概率密度函數,它們之間的 Alpha-Beta 散度可以表示如下 [15]:

(1)

其中

上式滿足如下約束條件

(2)

其中

為了能夠避免在某一值下存在不確定性和奇異性,Alpha-Beta 散度被擴展到覆蓋所有的實數集,因此 Alpha-Beta 能更直接地表示為:

(3)

其中

(4)

本文對 M0-M5 輸出神經元採用 Alpha-Beta 散度作為懲罰項重新進行自編碼的學習(如圖 4 所示),再通過兩次全連接進行特徵抽取,目的在於把 M0-M5 模型進行全局優化,提升對古彝文識別的精度。

根據自編碼神經網路原理 [17, 18],學習一個函數,使得,即,使用來表示在給定輸入為 x 情況下,自編碼神經網路中隱藏神經元 j 的激活度。進一步,使

(5)

一般強制約束為,p 是一個稀疏參數,一般取接近於 0 的值,比如 0.05,也就是說,每個隱藏單元 j 的平均激活值接近於 0.05。這裡,為隱藏單元 j 的平均激活值,本文添加一個額外的懲罰項來最優化目標函數,及 Alpha-Beta 散度 [15]。

(6)

因此,全局損失函數為:

(7)

其中,

(8)

這裡,控制稀疏性懲罰因子的權重,則也(間接地)取決於 W,b,因為它是 M0-M5 作為輸入層的下一隱藏層神經元 j 的平均激活度,而隱藏層神經元的激活度取決於 W,b。至此,完成對 M0-M5 層神經元的重新編碼。

圖 4:基於 Alpha-Beta 散度自編碼融合模型 M6。

4 模型訓練及樣本採集

(1)模型訓練

本文將模型的激活函數設置為 ReLU[19],優化演算法選擇 Adam[20, 21],同時對訓練集進行了增量,擴大訓練集容量,使模型能夠更加充分地學習到圖像中的特徵。此外為了使模型能夠順利的收斂,這裡為每一個卷積層都附加了一個 Batch Norm 層。

雖然 Adam 演算法計算高效,方便實現,內存佔用少;更新步長和梯度大小無關初始學習率。但在增量後的數據集上其優化效果不明顯。當學習率為 0.001 時,損失函數基本無法收斂,而將學習率設置為 0.0001 時,損失函數開始下降,如圖 5 所示,因此本文將初始學習率設置為 0.0001。

圖 5:模型 M0 不同學習率下的損失函數。

(2)樣本採集

樣本來源於 37 萬字的《西南彝志》中選取的 2142 個常用古彝文字元 [22],並邀請彝族老師和學生進行臨摹,發放了 1200 份採集表(如圖 6 所示),其中彝文正體採集表 800 份、軟筆風格採集表 200 份、硬筆風格採集表 200 份,如圖 7 所示,共得到了 151200 個字體樣本。同時,考慮便於後期處理分析,設計了相應的字體庫(如圖 8 所示)和古彝文輸入法。

圖 6:採集表掃描樣本。

圖 7:古彝文硬筆(上)軟筆(下)。

圖 8:古彝文字體庫。

圖 9:樣本增量。

為了確保模型能夠學習到足夠多的特徵,這裡對樣本進行增量處理。樣本增量流程如圖 9 所示,首先對原始樣本進行寬度變化和彈性形變,然後進行旋轉、縮放、平移的仿射變換,接下來是模糊加噪,最後則是亮度及對比度變換。增量後的樣本示例如圖 10 所示。

圖 10:增量後的樣本。

經過以上處理我們得到了訓練集 A,為了更真實地驗證本文所提方法的效果,我們從貴州彝學研究院提供的出版物「彝學經書」之「布斗布周數」影印文件中選取了 20 份文件,每份約 150 個字元,作為測試數據。此外本文運用增量技術對訓練集 A 進行了樣本增量得到了訓練集 A2。

實驗及分析

本文使用訓練集 A2,對 M0-M5 進行了訓練,並在測試集 B 上進行了測試。其結果如表 2 所示,模型在測試集 B 上的準確率遠高於訓練集 A2 的準確率,這表明本文使用的模型通過增量後的訓練集學習到了足夠多的手寫風格,同時表明本文所提出的增量方法是可行且有效的。但在另一方面,在經過了足夠多的訓練次數後,訓練集的準確率仍然沒有超過 90%,這表明本文所使用的訓練數據集可能存在某些難以識別的樣本。對訓練數據集進行人工排查後,發現由於原始樣本的解析度過低,在增量變形的過程中,部分樣本出現了筆跡丟失,粘連以及過度模糊的情況。如圖 11 所示,對於同一個字元,由於過度變形,其幾乎完全偏離了這個字的正常書寫風格。正是這些過度變形後的樣本為模型帶入了額外的雜訊,使得模型在訓練集上表現不佳。

表 2:模型 M0-M5 準確率。

圖 11:過度變形後的數據。

由表 2 可知,模型 M1 的性能最優,其在測試集 B 上的準確率達到了 92.84%,最差的則為 M5,僅有 90.06%。相對於最簡單的模型 M0,在其各層分別添加額外的卷積層,顯然有利於模型性能的提升,但隨著模型插入位置的向後遷移,其提升幅度逐漸下降。而模型 M5 在每個卷積層前都添加了額外的卷積層,期望達到更好的效果,現實情況卻是整個模型性能明顯下降。

此外,表 4 展示了不同模型迭代 100 次所消耗的時間,毫無疑問,最簡單的模型 M0 所消耗的時間是最少的,僅為 237.27s。而模型 M5 所消耗時間高達 563.40s。同時隨著插入卷積層位置的增高,參數也隨之增多,相應需要的時間也開始急劇增加。但在 M3 和 M4 與 M2 相比,卻出現了時間減少的情況,這主要是由於隨著層數的增加,特徵圖尺寸縮小,其計算量也隨之變小。如表 3 所示,與模型 M0 相比,模型 M2 增加的連接數量最多達到了 2.07e9,而模型 M3 與 M4 的增加的連接數量卻開始降低,其中模型 M4 增加的連接數量最小僅為 0.65e9。

表 3:模型 M1-M4 與 M0 相比增加的連接數量。

從表 2 和表 4 中可以看出 M1 綜合性能最佳,其在僅帶入了極少計算量的同時,最大限度提高了模型性能。而 M5 顯然是最得不償失的選擇,佔用了幾乎兩倍於 M0 的計算時間,性能不升反降。

表 4:模型 M0-M5 迭代 100 次所消耗的時間(秒)。

通過進一步分析發現,在卷積層後再次進行卷積運算確實有助於模型性能的提升,但底層的效果遠遠好於高層,同時其在底層進行添加後的代價也是最小的(參數量偏小)。而高層添加卷積層往往效果不是特別明顯,但又帶來的龐大的計算量(引入了大量的參數)。而模型 M5 在各個層都直接添加卷積的做法,顯然在帶入大量計算量的同時,也引起了梯度彌散。

為了綜合各個模型優勢,實驗採用了圖 3 的模型 M6,以模型 M0-M5 的輸出概率分布作為輸入,在訓練集 A2 上進行訓練,並在測試集 B 上進行了測試。其在測試集 B 上的準確率達到了 93.97%,在訓練集 A2 上的準確率也達到了 90.63%。

圖 12:模型 M0-M6 在測試集 B 上的準確率變化。

進一步實驗分析了模型準確率變化情況,圖 12 所示為模型 M0-M6 在測試集上隨著迭代次數增加的準確率變化(多次實驗發現模型迭代次數在 100 到 150 之間準確率趨於穩定,再增加迭代次數準確率沒有明顯變化)。從圖中可以明顯的看出模型 M5 明顯劣於其他幾個模型,其上升最慢,在第 12 個周期才達到最佳準確率 91.06%。模型 M0,M1 在第 8 個周期達到最佳準確率,91.54%、92.84%,而模型 M6 則在第 7 個周期便達到了最佳準確率 92.97%。同時可以看到模型 M0、M1、M2、M6 上升速度較為接近,同時模型 M6 在第 7 個周期開始達到相對平穩的狀態,相比於其他模型更早達到平穩狀態。總體而言,模型 M6 優於其他模型,這正是 M6 對其他幾個模型的輸出神經元進行重新編碼優化的結果。

結論

本文對古彝文數據集利用深度學習的 CNN 網路進行識別,具有較高的識別精度。特別是採用了 Alpha-Beta 散度作為懲罰項對各個模型的輸出神經元重新進行自編碼生成的融合的方案,在帶入有限計算量的情況下提升整個識別網路的性能,同時能夠避免網路層數增加帶來的性能下降問題。當前,彝文的識別尚處於起步階段,其主要針對書寫規範的手寫體和印刷體進行文本提取,且由於字元庫有限,僅限於對常見的彝文進行處理。而針對彝文古籍中古彝文識別的相關研究就非常稀少,可以說這是當前國內外研究的空白。本文把深度學習技術結合到少數民族古文字處理,也對文化保護和發展做出一些有益的探索。另外,考慮到本文對各個模型輸出進行重新自編碼的融合方案採用了概率分布的方式進行度量,需要大量的樣本,而通過彝族同胞手寫樣本的代價較大,後續擬採用深度學習的生成對抗網路(GANs)生成更多的古彝文手寫體樣本。

參考文獻

[1]朱崇先, "彝文古籍整理與研究",民族出版社, 2008.

[2]高娟,劉家真, "中國大陸地區古籍數字化問題及對策",中國圖書館 學報, vol. 2013, pp. 110-119, 2013.

[3]王嘉梅, 文永華, 李燕青, 高雅莉, "基於圖像分割的古彝文字識別系統研究",雲南民族大學學報:自然科學版,, vol. 17, pp. 76-79, 2018.

[4]朱龍華,王嘉梅, "基於組合特徵的多分類器集成的離線手寫體彝文字識別",雲南民族大學學報:自然科學版, vol. 19, pp. 329-333, 2010.

[5]朱宗曉,吳顯禮, "離線印刷體彝族文字識別系統的原理與實現",計算機技術與發展, vol. 22, pp. 85-88, 2012.

[6]劉賽,李益東, "彝文文字識別中的文字切分演算法設計與實現",中南民族大學學報 (自然科學版), vol. 26, pp. 74-76, 2007.

[7]吳兵, "基於文字識別角度的規範彝文字分析研究",西南民族大學學報 (人文社科版), pp. 47-53, 2018.

[8]滇川黔桂彝文協作組, "滇川今注彝文字集",雲南民族出版社, 2004.

[9]X. H. Ren, Y. Zhou, J. H. He, K. Chen, X. K. Yang, J. Sun, "A Convolutional Neural Network-Based Chinese Text Detection Algorithm via Text Structure Modeling," Ieee Transactions on Multimedia, vol. 19, pp. 506-518, Mar 2017.

[10]M. A. H. Akhand, M. Ahmed, M. M. H. Rahman, aM. M. Islam, "Convolutional Neural Network Training incorporating Rotation-Based Generated Patterns and Handwritten Numeral Recognition of Major Indian Scripts," Iete Journal of Research, vol. 64, pp. 176-194, 2018.

[11]A. Nasee,K. Zafar, "Comparative Analysis of Raw Images and Meta Feature based Urdu OCR using CNN and LSTM," International Journal of Advanced Computer Science and Applications, vol. 9, pp. 419-424, Jan 2018.

[12]V. A. Sindagi,V. M. Patel, "A survey of recent advances in CNN-based single image crowd counting and density estimation," Pattern Recognition Letters, vol. 107, pp. 3-16, May 1 2018.

[13]X. M. Deng, Y. D. Zhang, S. Yang, P. Tan, L. Chang, Y. Yuan, and H. A. Wang, "Joint Hand Detection and Rotation Estimation Using CNN," Ieee Transactions on Image Processing, vol. 27, pp. 1888-1900, Apr 2018.

[14]C. A,A. S, " Families of Alpha- Beta- and Gamma- Divergences: Flexible and Robust Measures of Similarities," Entropy, vol. 12, pp. 1532-1568, 2010.

[15]C. A, C. S, and A. S, "Generalized Alpha-Beta Divergences and Their Application to Robust Nonnegative Matrix Factorization," Entropy, vol. 13, pp. 134-170, 2011.

[16]W. W. Shi, Y. H. Gong, X. Y. Tao, N. N. Zheng, "Training DCNN by Combining Max-Margin, Max-Correlation Objectives, and Correntropy Loss for Multilabel Image Classification," Ieee Transactions on Neural Networks and Learning Systems, vol. 29, pp. 2896-2908, Jul 2018.

[17]A. Sengupta, Y. Shim, K. Roy, "Proposal for an All-Spin Artificial Neural Network: Emulating Neural and Synaptic Functionalities Through Domain Wall Motion in Ferromagnets," Ieee Transactions on Biomedical Circuits and Systems, vol. 10, pp. 1152-1160, Dec 2016.

[18]P. Knag, J. K. Kim, T. Chen, Z. Y. Zhang, "A Sparse Coding Neural Network ASIC With On-Chip Learning for Feature Extraction and Encoding," Ieee Journal of Solid-State Circuits, vol. 50, pp. 1070-1079, Apr 2015.

[19]S. Qian, H. Liu, C. Liu, S. Wu, H. S. Wong, "Adaptive activation functions in convolutional neural networks," Neurocomputing, vol. 272, pp. 204-212, Jan 10 2018.

[20]A. Arcos-Garcia, J. A. Alvarez-Garcia, and L. M. Soria-Morillo, "Deep neural network for traffic sign recognition systems: An analysis of spatial transformers and stochastic optimisation methods," Neural Networks, vol. 99, pp. 158-165, Mar 2018.

[21]K. Gopalakrishnan, S. K. Khaitan, A. Choudhary, and A. Agrawal, "Deep Convolutional Neural Networks with transfer learning for computer vision-based data-driven pavement distress detection," Construction and Building Materials, vol. 157, pp. 322-330, Dec 30 2017.

[22]貴州省彝學研究會, "西南彝志," 貴州民族出版社, 2015.

本文為機器之心發布,轉載請聯繫本公眾號獲得授權。

------------------------------------------------


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

史上最強GAN圖像生成器,Inception分數提高兩倍
庫、教程、論文實現,這是一份超全的PyTorch資源列表(Github 2.2K星)

TAG:機器之心 |