?

基于編碼器-解碼器的離線手寫數學公式識別

2022-02-18 03:11杜永濤余元輝
關鍵詞:數學公式解碼器手寫

杜永濤,余元輝

(集美大學計算機工程學院,福建 廈門 361021)

0 引言

手寫數學公式識別可分為兩種類型:在線手寫數學公式識別和離線手寫數學公式識別[1]。在線識別處理的是觸摸屏設備中筆跡的點序列數學公式,而離線識別處理的是靜態數學圖像。由于公式圖像比計算機視覺中的普通圖像包含更復雜的二維結構和空間關系,離線手寫數學表達式識別通常被認為比在線手寫數學表達式識別困難得多。

已有許多與離線手寫數學公式識別相關的方法[2-8]。這些方法大致可以分為兩類:基于語法的和基于編解碼器的?;谡Z法的方法通常由三部分組成:符號分割、符號識別和結構分析[9]。Lee等[3]提出了一個手寫數學公式識別系統,系統的筆畫分割采用分割連通域的方法將公式分割成若干部分,單符號識別采用預訓練的分類器對分割符號進行分類識別,但該系統只對公式結構中根式、分式和上下標三種類型的結構可以有效識別,不能識別其他公式結構。Okamoto等[4]提出兩種手寫數學公式識別方法,一種是依據字符投影的輪廓信息進行筆畫分割,然后使用模板匹配法進行單符號識別的順序解決方法,另一種是采用自頂向下和自底向上結構分析的全局解決方法。這類基于語法的傳統方法需要依賴大量的數學公式語法知識,只能針對某些場景,泛用性不強,且在大數據集中不能受益。Zhang等[5]首次提出了一種基于編碼器-解碼器結構的WAP模型來解決離線手寫數學公式識別問題,該模型能夠自動學習數學公式語法和處理符號切分,并通過注意力機制解決對齊問題。Wu等[6-7]為了克服寫作風格的變化,提出了結合深度學習和對抗學習的PAL模型和PAL-v2模型,其中PAL-v2模型采用基于卷積神經網絡的解碼器解決了循環神經網絡中的梯度消失和梯度爆炸的問題。Le等[8]提出了基于注意力的編碼器-解碼器系統的數據生成策略,通過數據增強的方式證明了附加生成數據具有優越性。Anh[2]結合手寫數學公式和印刷體數學公式特點,提出了一種雙重損失注意法用于手寫數學公式識別。然而,這些基于編解碼器的方法沒有充分結合手寫數學公式中的尺度變化情況,會出現解析不足的情況,同時缺乏對長公式序列建模,對復雜數學公式結構更加解析不足。

基于此,本文在傳統編碼器-解碼器模型基礎上進行了改進,以多尺度密集卷積神經網絡作為編碼器提取多分辨率特征,用Transformer模型替代RNN模型作為解碼器進行長公式序列建模,同時設計了兩種相對位置編碼方式嵌入圖像位置信息和LaTeX符號位置信息。

1 網絡模型

本文提出的編碼器-解碼器模型如圖1所示。

1.1 編碼器

本研究在密集卷積神經網絡(DenseNet)的基礎上進行了編碼器的改進。DenseNet[10]由黃高于2017年提出,它的主要思想是通過在每一層和所有后續層之間建立密集連接來促進層與層之間的信息交換。第l層的輸出特征為:

x1=H((x0;x1;…;xi-1))。

(1)

其中:(x0;x1;…;xi-1)表示所有輸出特征的串聯操作;Hi(·)表示三個連續層的復合函數——批量標準化(BN)層[11]、ReLU層[12]和3×3卷積(Conv)層。通過通道維度的級聯操作,DenseNet能夠更好地傳播梯度。

為了進一步提取輸入圖像的多尺度特征,本研究在DenseNet的基礎上增加了多尺度結構。如圖1所示,編碼器采用的多尺度DenseNet包含了4個密集塊(DenseBlock),每個密集塊都使用瓶頸層來提高計算效率,即在每個(3×3)卷積之前引入(1×1)卷積,以減少特征圖的輸入。在進入第一個密集塊之前先對輸入圖像進行核大小為(7×7)、步長為(2×2)的卷積操作,然后進行核大小為(2×2)、步長為(2×2)的最大池化層操作。使用核大小和步長都是(1×1)的卷積以及核大小和步長都是(2×2)的平均池化作為第一和第二密集塊與第二和第三密集塊之間的過渡層,該過渡層將每個塊的特征圖的數量和大小減少一半。第二和第四密集塊之間只使用核大小和步長都是(1×1)的卷積作為過渡層,該過渡層只將第二個密集塊的特征圖數量減少一半,而特征圖大小不變。第三和第四密集塊后輸出特征圖大小不同,兩個分支經過(1×1)卷積層降低圖像特征圖數量,同時統一兩個分支的特征圖數量。最后兩個分支輸出特征分別作為多尺度DenseNet模型的高分辨率特征和低分辨率特征。低分辨率特征可以捕獲更大的感受視野,高分辨率特征可以捕獲更細粒度的視覺信息。

1.2 解碼器

Transformer[13]是一個完全基于注意機制的神經網絡架構。相比于傳統解碼器的循環神經網絡(RNN)[14],其內部的自注意機制從根本上解決了RNN的梯度消失問題,同時還能通過多頭機制實現良好的并行化訓練,大量節約訓練時間。本文采用的Transformer解碼器如圖1所示,每個解碼器模塊(decoder block)由四個部分組成。

2)MS-MHA,多尺度多頭注意力模塊。該模塊采用兩個不同維度的多頭注意力層構成,其計算公式為:Zl=MultiHeadl(Q,K,V),Zh=MultiHeadh(Q,K,V)。其中的K、V是編碼器輸出的低分辨率特征編碼矩陣;Q是輸出矩陣。

3)Add&Norm,由殘差連接和歸一化兩部分組成。計算公式為:LayerNorm(X=F(X)),其中F(·)表示X經過M-MHA、MS-MHA或者FFN模塊的函數轉換。

4)FFN,一個兩層的全連接層。第一層的激活函數為Relu,第二層不使用激活函數。其計算公式為:FNN=(X)=max(0,XW1+b1)W2+b2。

1.3 相對位置編碼

圖像特征和詞向量的位置信息可以有效地幫助模型識別需要關注的區域。本文使用圖像位置編碼和詞向量位置編碼兩種編碼方式,在編碼器和解碼器嵌入圖像特征位置信息和詞向量位置信息。

1.3.1 詞向量相對位置編碼

其中θi=10 000-2i/d,i表示維數下標。

1.3.2 二維圖像相對位置編碼

(2)

(3)

對于每個二維圖像像素點坐標(x,y),通過公式(2)先對其進行歸一化,然后分別對二維歸一化位置進行旋轉式位置編碼,最后將它們連接在一起。

2 訓練和預測

2.1 訓練

在圖像x和模型參數θ的條件下,傳統的自回歸模型概率分布可以表示為:p(yj|y1,K,yj-1,x,θ)。其中j為目標序列中的索引。

2.2 預測

與訓練過程不同,模型在預測過程中沒有目標LaTeX 序列真實標簽輸入,因此只能根據上一個LaTeX預測符號預測下一個LaTeX符號,直到結束符號出現或達到預定義的最大長度。對此,為了生成全局最優LaTeX序列,本研究采用波束搜索算法[18]在每個時間步生成多個候選的輸出序列,最終選擇最優的LaTeX序列。

3 實驗結果與分析

3.1 實驗環境

實驗模型均基于云服務器深度學習環境下進行部署。云服務器環境配置單塊NVIDIA Tesla V100 32 GB顯卡,基于Linux操作系統搭建PyTorch深度學習平臺,其中CUDA版本為11.0,cuDNN版本為8.0,Python版本為3.7,PyTorch版本為1.7。

3.2 數據集

本文使用的數據集是CROHME 2014。它的訓練集包含8836個手寫數學公式,測試集包含986個手寫數學公式。每個手寫數學公式樣本單獨保存在一個InkML文件中,其中包含了筆跡信息、符號級別的標簽信息、表達式級別的標簽信息、書寫人的相關信息、筆跡標識信息等。本文先將InkML文件中的筆跡信息轉換為離線手寫數學公式圖像用于訓練和測試,離線手寫數學公式圖像如圖2所示。

3.3 評價指標

為了測量本系統的性能,使用字錯誤率(RW)和公式識別準確率(RE)作為度量標準。公式表示為:RW=(Nsub+Ndet+Nins)/NY,RE=NCOR/Y。其中:Nsub、Ndet、Nins是取代、缺失和插入的LaTeX公式符號數量;NY是LaTeX公式訓練集中的符號數;NCOR是正確識別的LaTeX公式數量;Y是LaTeX公式訓練集中的公式數量。

3.4 實驗結果

CROHME 2014數據集上一些模型的結果如表1所示。為了確保性能比較的公平性,各方法都只使用官方提供的8836個培訓樣本,沒有使用數據擴充。本研究以WAP模型[5]作為基準模型,首次采用編碼器-解碼器結構,其中編碼器基于全卷積網絡模型,解碼器基于RNN模型。與其他方法相比,本模型明顯優于WAP[5]、End-to-End[8]、PAL-v2[7]和Dual Loss Attention Network[2]。

表1 本模型與其他四種模型的比較結果

本模型采用雙向語言建模方法替代單向語言建模方法,同時用Transformer模型解碼器替代RNN的解碼器,不采用額外的印刷體數學公式圖像進行訓練,獲得了15.03%的公式識別準確率提升。PAL-v2模型采用了統計語言模型作為后處理(本模型不采用任何后處理),公式識別準確率提高了6.55%。Dual Loss Attention Network模型采用手寫數學公式圖像和印刷體數學公式圖像結合的雙重損失注意網絡,字錯誤率降低了1.41%,公式識別準確率提高了3.55%。

表2顯示了中多尺度結構(muti-scale)、相對位置編碼(RPE)、雙向語言建模(bi-trained)以及波束搜索算法(beam search)對字錯誤率和公式識別準確率的影響。從表2中可以看出,以標準密集卷積神經網絡(DenseNet)作為編碼器的基準模型,多尺度結構訓練模型在公式識別正確率上提升了約2.25%,表明多尺度結構有助于模型捕捉圖像中不同尺度的圖像特征信息;相對位置編碼約提升公式識別正確率3.91%,表明嵌入圖像特征位置信息和詞向量位置信息有效提高了模型的泛化能力;雙向語言建模在公式識別準確率上也比單向語言建模方法訓練的模型高出約2.49%,表明雙向語言建模方法有助于克服單向語言建模方法不平衡輸出的問題,提高模型泛化能力。此外,采用波束搜索算法對解碼結果進行評估也使公式識別正確率提高了約1.65%,表明波束搜索算法有助于生成最優LaTeX序列。

表2 CROHME 2014測試集的消融實驗

圖 3 展示了本模型的幾個識別示例。從圖3可以看出,對于數學公式中的上下標、括號、求和、極限、積分、分式、根式等結構,本模型成功學習到了這些數學公式結構語法。通常情況下,這些公式結構都會被保留下來,但會有一兩個符號識別錯誤。這些符號識別的錯誤主要來自于手寫數學符號的模糊性引起的歧義。

圖 4展示了幾個錯誤識別的例子,從中可以看出大寫字母與小寫字母、字母與數字之間的相似性會給模型識別帶來困難,比如公式“S/V”和“-P(V1-V1)”中就將大寫字母“V”和“P”識別成了小寫字母“v”和“p”,公式“60o”中將符號“°”識別成了數字“0”。同時對于一些由英文字母構成的特殊運算符號,模型將難以區分特殊運算符號和英文字符,比如公式“cos 2α”中將“cos”識別成了“c”、“0”、“5”。

4 結語

本文的主要工作是針對離線手寫數學公式識別任務提出了一種新的編碼器-解碼器模型。用多尺度密集卷積神經網絡作為編碼器對手寫數學公式圖像進行多分辨率特征提??;用Transformer模型替代傳統RNN模型作為解碼器解碼預測手寫數學公式圖像的LaTeX序列;通過兩種相對位置編碼,可以捕獲圖像特征位置信息和詞向量位置信息,幫助模型關注有效的圖像區域。實驗結果表明,本文提出的模型在CROHME 2014數據集上取得了55.43%的公式識別準確率和10.75%的字錯誤率,相比于當前最先進的Dual Loss Attention Network方法[2],公式識別準確率提高了3.55%,字錯誤率降低了1.41%,證明了所提出模型的有效性。在接下來的研究工作中,提升模型在多層嵌套結構和區分相似符號的數學公式上的識別準確率仍需進一步探索。

猜你喜歡
數學公式解碼器手寫
形神兼備,聚焦小學數學公式定律教學策略
科學解碼器(一)
我手寫我心
科學解碼器(二)
科學解碼器(三)
抓住身邊事吾手寫吾心
線圣AudioQuest 發布第三代Dragonfly Cobalt藍蜻蜓解碼器
數學難題解開啦
基于集成學習的MINIST手寫數字識別
深度學習在手寫漢字識別中的應用綜述
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合