Please enable JavaScript.
Coggle requires JavaScript to display documents.
A Transformer-based Radical Analysis Network for Chinese Character…
A Transformer-based Radical Analysis Network for Chinese Character Recognition
大綱
部首分析網絡(radical analysis network ,RAN)
通過將漢字視為部首的分層組合而不是單個字符類,具有有效識別看不見的漢字類別的能力,並在很大程度上減少了對訓練數據的要求
在處理更具挑戰性的問題(例如,複雜字符的識別,低頻字符類別和自然場景中的字符)時,RAN仍有很大的改進空間
本論文
探索了使用Transformer 架構進一步提高 RAN 的結構泛化和健壯性能力的選項
Transformer
該架構已在許多序列到序列任務中取得了一流的結果
我們建議使用變壓器解碼器替換RAN中的原始關注模塊,該模塊稱為基於變壓器的基本分析網絡(RTN)
RTN可以更好地泛化複雜樣本和低頻字符,在識別不同屬性的漢字時具有更好的健壯性
介紹
最近的研究
基於字符的方法
將字符輸入作為單個圖像,並嘗試學習輸入圖像與預定義類之間的一致關係,不考慮不同字符之間的相似性和內部結構
因此,這些方法只能在普通漢字上表現良好,但在處理部首之間具有復雜二維結構的複雜字符時表現不佳
基於部首的方法
將漢字分解為部首和空間結構的組合,這更類似於人類識別字符的學習行為,並使模型更俱生成性和靈活性
這些方法在處理看不見的或新創建的字符時仍然有困難,因為它們沒有充分利用漢字的層次信息
為了解決上述問題,[6] 在編碼器-解碼器架構 [7] 下採用基於覆蓋的空間注意力模型,提出了一種新穎的激進分析網絡
得益於有效的注意力機制,RAN 可以自適應地關注漢字中最相關的部分來描述部首。 同時,它還可以檢測部首之間的相對空間關係。 因此,RAN具有識別看不見的漢字的能力,並大大減少了詞彙量
然而,在識別更複雜的部首結構或學習低頻樣本的組成規則方面,RAN仍有很大的改進空間
直觀上,作為完全基於自我關注的第一序列轉導模型的Transformer體系結構[8]有可能進一步提高RAN的能力
最近,一些研究 [9]、[10] 被提出通過採用 Transformer 網絡來進行場景文本識別任務
與它們不同的是,我們的工作重點是識別漢字,漢字比英文單詞包含更複雜的空間結構和更多的多樣性。 此外,我們試圖找出用於漢字識別的 Transformer 的不同特性
與 RAN 中使用的基於 RNN 的注意力模型相比,我們認為 Transformer 架構可以為漢字識別產生雙重效果
不同於 RNN 依賴從前一個隱藏狀態到當前隱藏狀態的循環連接來傳播上下文信息,基於自註意力的 Transformer 允許輸入序列中的每個元素進行連接並找出 他們應該更關注哪裡,這意味著可以輕鬆捕獲序列中詳細的內部模式和遠程依賴關係
Transformer 可以比 RAN 更好地學習內部組成規則,因為許多內部部首結構在不同的漢字之間共享
另一方面,基於 RNN 的注意力模型通常只學習一次源輸入和目標輸出之間的對齊,這導致缺乏深度交互的問題
然而,Transformer 由堆疊的塊組成,並聚合每個塊的輸入上下文,這自然為我們提供了與漢字中的層次部首結構相對應的更多層次表示。 因此,Transformer 有可能改善注意力的一致性
我們提出了一種簡單而有效的基於 Transformer 的激進分析網絡(RTN)
對於編碼器,我們採用全卷積網絡來提取高級視覺特徵
對於解碼器,我們用 Transformer 解碼器代替了 RAN 基於覆蓋的注意力模型
貢獻
我們探索通過採用Transformer架構來提高RAN功能的選項
所提出的模型在印刷漢字數據庫和自然場景漢字數據庫上均實現了顯著的性能改進
進一步分析證明,RTN 在識別複雜和低頻樣本方面比 RAN 更有效、更穩健
所提出模型的注意力分析顯示了 RTN 在學習輸入圖像和輸出符號之間的對齊方面的優勢
方法
我們將詳細描述我們的 RTN 模型的架構。 如圖 1 所示,它包含兩個組件:(1)一個密集編碼器,它以圖像為輸入來產生一個固定長度的上下文向量; (2) 一個transformer 解碼器,它將上下文向量作為輸入來生成一個可變長度的符號序列。
Dense encoder
採用密集卷積網絡 (DenseNet) [11] 作為編碼器從圖像中提取高級視覺特徵,這被廣泛應用於各種計算機視覺任務
儘管一些工作 [12]、[13] 探索了應用自註意力來處理像素級輸入的能力,但實際性能和計算效率並不能大大超過先進的基於 CNN 的網絡
密集編碼器沒有在最終卷積層之後添加全連接層,而是僅包含卷積、池化和激活層。 因此,我們可以獲得尺寸為D×H×W的三維張量。然後,將數組重塑為尺寸為D×L的二維張量,其中L = H×W,然後進行線性變換。 array 中的每個元素都是一個 D 維向量,對應於圖像的一個局部區域:
Transformer-based decoder
Multi-Head Attention
基於縮放點積函數的多頭注意力機制
這是 Transformer 的核心思想之一
通常,我們可以將注意力函數描述為將查詢和一組鍵值對映射到輸出,其中查詢、鍵、值和輸出都是向量。 特別地,縮放點積函數定義為:(2)
我們用 m 個鍵計算每個查詢的點積,將每個鍵除以 √ dk 並應用 softmax 函數來獲得值的注意力權重作為註意特徵。 為簡單起見,dk 和 dv 通常設置為相同的數字 d。
為了進一步增強參與特徵的表示能力,引入了多頭注意力(MA)作為單個自註意力的擴展,它由 h 個平行的“頭”組成。 每個頭部對應一個獨立的縮放點積注意力函數。 所以。 多頭注意力可以用與等式 2 相同的符號表示:(3)
其中 Wq j ,WK j ,WV j ∈ R d×dh 是第 j 個頭部的投影矩陣,WO ∈ R h∗dh×d 。 dh 是每個頭部的輸出特徵的維度,通常設置為 dh = d/h,[*] 是連接操作。
Decoder
transformer 解碼器由堆疊的相同塊組成。 每個塊包含三層
(a)解碼器自我關注層decoder self-attention layer
(b) 編碼器解碼器注意層encoderdecoder attention layer
(c) 前饋層feed-forward layer.
這種混合神經網絡將分析漢字的內部層次部首結構,並生成相應的空間結構和部首序列。 我們可以將目標序列表示為 Y,它是一個one-hot向量序列。
(5)其中 K 是詞彙表中的總詞數,包括基本部首和空間結構,T 是目標序列的長度。
給定源圖像 X 和目標序列 Y,我們的模型可以定義為以下條件概率:(6)
其中 Y<i = {y1, . . . , yi−1} 表示長度為 i − 1 的 Y 前綴, c N i 表示解碼器中的第 N 個塊上下文,從 Y<i 和 A 的表示中獲得 N 個塊。然後,我們將描述如何 通過上述層為每個塊生成輸出 cni
(a)前兩層都依賴於多頭注意力機制。 在解碼器自註意力中,所有的鍵、值和查詢都來自前一個解碼器層的輸出。 它在目標序列的內部元素之間執行相關計算 (7)
其中 c n-1 i ∈ R 1×d 和 C n-1 <i = c n-1 1 , c n-1 2 , · · · , c n-1 i-1 分別對應於 q, K/V。 特別地,C0 <i 是 Y<i 的詞嵌入。 一個三角形掩碼矩陣在禁用位置上具有 -∞ 條目,否則為 0,用於保留自回歸屬性
(b)與解碼器自註意力不同,編碼器-解碼器注意力接收編碼器的輸出,即固定長度的上下文向量 A 作為鍵/值,而查詢是 s n i 。 它旨在捕獲源和目標序列之間的複雜關係和依賴關係(8)
(c)前饋層將輸入維度 d 投影到另一個特徵空間 df f ,然後返回到 d 以學習更好的特徵表示(9)
此外,由於self-attention忽略了序列的順序信息,所以使用位置嵌入PE來表示位置信息(10)
為了更好地優化深度網絡,整個網絡使用殘差連接,並對層[14]、[15]應用“Add & Norm”
最後,我們還應用了一個全連接層和一個 softmax 激活來預測目標符號
實驗
為了對 RAN 和 RTN 進行全面比較,我們通過回答以下問題在印刷漢字數據集和自然場景數據集上進行實驗
RTN 在識別看不見的印刷漢字方面是否更有效和穩健?
RTN 在識別野外漢字方面是否更有效和更穩健?
RTN的Attention機制有哪些優勢?
訓練和測試細節
dense encoder
首先使用具有48 個輸出通道的 7×7 卷積層
每個 DenseBlock 包含 22 個 1×1 卷積層和 22 個 3×3 卷積層
然後,我們使用 1 × 1 卷積,然後是 2 × 2 平均池化作為過渡層
以將每兩個 DenseBlocks 之間的特徵圖減少一半
growth rate is 24
我們還在每個卷積層之後使用批歸一化,激活函數為ReLU
Transformer decoder
它由 6 層組成,具有 256 個嵌入/隱藏大小和 512 個前饋中間大小
d = 256, df f = 512
解碼器自身中的多頭數均設置為 8 注意塊和編碼器-解碼器注意塊
優化器,我們使用交叉熵損失(cross entropy loss)和 AdaDelta 算法
lrate = 0.1、ρ = 0.95 和 ε = 10−4
在執行tensor2tensor1之後,我們在實踐中將層歸一化放置在殘差連接中,更有利於模型收斂
單字印刷漢字實驗
我們選取 GB18030 標準中的 27,533 個漢字作為數據集
使用四種常用字體(宋、方松、黑和開提)作為數據集
由 500 個部首和 12 個空間結構組成
並且所有字符都是表意描述序列(IDS)格式的註釋
對於數據集拆分,我們選擇 10,000 個字符作為訓練集,2,000 個字符作為驗證集,其餘 15,533 個字符作為測試集
只有當其預測的標題與真實情況完全匹配時,才認為測試字符被成功識別
輸入圖像大小設置為 32 × 32。請注意,我們的字典和數據集拆分與 [6] 不同,這導致結果不完全具有可比性
準確性與字幕長度
為了確定RTN模型在識別複雜樣本方面是否比RAN更健壯,我們將原始測試集按標題的長度分為三部分,即IDS序列的長度(表 I )
ALL
包括測試集中的所有字符
≤ 6
表示字符的字幕長度小於或等於 6
大於6
表示字符的字幕長度大於 6
我們選擇 6 作為邊界,這樣兩個部分都包含大約 7,760 個樣本
但是,對於具有不同字體樣式的所有數據集,我們在 > 6 個子集上實現了最高的準確度改進
同時,RTN 還可以在其他兩個子集上始終優於 RAN。 在這裡,我們採用集成方法在測試過程中保持穩定的性能,然後是 [6]
低頻字符類別實驗
儘管RAN通過訓練階段學習的一組緊湊的部首和空間結構有效地緩解了識別低頻漢字的問題,但一些低頻部首仍然導致少/零鏡頭學習的識別精度急劇下降
因此,為了評估識別低頻部首字符的泛化能力,我們根據某個部首在訓練集中出現的次數生成五個測試子集
每個子集包含大約 100 個部首類別
如圖2所示,當部首出現頻率大於10次時,RTN和RAN的識別準確率差距分別為1.35%、1.67%、2.42%、2.44%
當字根出現頻率低於10次時,RTN的性能仍然保持較高的準確率(92.27%),而RAN的準確率下降到82.60%
因此,我們可以相信,自我注意機制可以提高模型在訓練階段學習由低頻部首組成字符的規則的能力。
自然場景漢字實驗
我們在自然場景數據集(即野外中文文本(CTW)[18])中評估我們的模型
印刷漢字數據集相比,CTW數據集由於其多樣性和復雜性更具挑戰性,有利於體現RAN和RTN在健壯性上的差異
該數據集包含 30,000 多張街景圖像中約 100 萬個漢字
在官方數據集拆分之後,我們使用 3,580 個漢字類別,其中 760,107 個實例用於訓練,2,015 個漢字類別,其中 52,765 個實例用於驗證,103,519 個實例用於測試。 由於官方沒有發布測試集,所以對驗證集進行了一些分析。 請注意,首先將所有輸入圖像調整為32×32分辨率。
準確度與字幕長度
我們將原始測試集按標題的長度分為三部分
ALL
<=4
至於字幕長度低於4,提升只有0.69%
大於4
部分性能提升來自 > 4 部分
這表明 RTN 在識別自然場景中的複雜字符方面也比 RAN 更有效。
低頻字符類別實驗
我們比較了 RTN 和 RAN 在克服樣本稀疏問題方面的性能。
與第 III-B2 節不同,這裡我們關注的是字符級頻率對識別的影響
我們根據訓練集中的出現頻率將所有測試漢字類別分為 4 個子集
<20
出現次數少於20次的字符類別
<50
出現次數少於50次
<100
100次
HF
HF表示高頻,包括出現超過100次的字符類別
ALL
包括測試集中的所有字符類別
結果表明,RTN 在處理低頻字符(< 20 和 < 50)方面比 RAN 好得多,兩者在識別準確率上都實現了 14% 以上的絕對提升
相比之下,高頻字符集的提升只有0.75%。 該實驗的結果支持了 RTN 可以進一步增強 RAN 在自然場景中的少/零樣本學習能力的想法。
穩健性分析
表 IV 顯示了 RTN 和 RAN 在 6 個屬性方面的性能
遮擋
表示字元是否被其他物體遮擋。為了成功識別具有遮擋屬性的字符,需要能夠僅依靠潛在的語言模型來預測丟失的部首
為了成功識別具有遮擋屬性的字符,需要能夠僅依靠潛在的語言模型來預測丟失的部首。我們可以相信,解碼器自我注意關注每個可用字幕符號的能力提供了改進
複雜背景
失真
表示字元是否扭曲、旋轉或正面
儘管與[19]不同,網絡中沒有配備明確的空間變換器模塊,但在識別失真字符方面的顯著改進表明變換器解碼器在實現空間注意力方面是強大的
3D 凸起
藝術字
手寫字符
由於相似字符,獨特的筆跡樣式和缺少的內部結構之間的混淆,手寫屬性是最難識別的類別之一
儘管如此,RTN 可以將手寫字符的識別準確率提高近 12%。從而證明了RTN具有更強的結構泛化能力和魯棒性。
每個屬性的字符示例如圖 3 所示。
我們可以觀察到對於所有屬性,RTN 的識別精度都比 RAN 好得多,尤其是在被遮擋、失真和手寫的情況下
可視化分析
儘管RAN中使用的基於覆蓋的注意力模型[20]-[22]對於解決漢字識別的過度解析和解析不足問題已經非常有效,但仍然難以正確解析某些極端情況下的所有部首。複雜的字符
在圖 4 中,我們展示了 RAN 和 RTN 逐步識別複雜的看不見的漢字的學習過程
其中紅色代表注意力圖中的編碼器-解碼器注意力概率。我們可以觀察到 RAN 僅在步驟 7-8 中錯誤預測了兩個部首
其中兩個相同的部首具有不同的空間位置,但實際上,圖像和內部部首之間還存在其他幾個對齊錯誤。得益於 Transformer 強大的注意力機制,RTN 可以完全識別正確的字符標題,並準確對齊最相關的視覺區域。
此外,對部首內部空間結構的誤判也是RAN在處理複雜樣本時無法準確預測標題的主要原因之一。我們還使用案例研究在圖 5 中展示了這種現象。為了檢測詳細的空間結構,例如左上環繞結構,RTN 的性能優於 RAN
結論
在本文中,我們提出了一種基於變換器的部首分析網絡來識別漢字
從定量結果來看,與 RAN 相比,我們在印刷漢字數據庫和自然場景數據庫上都取得了顯著的改進。
此外,通過分析複雜和低頻字符類別的識別準確度的變化,我們證明RTN具有更強的泛化性和魯棒性
在未來的工作中,我們計劃評估識別場景文本或手寫字符的零樣本能力,並研究 RTN 的中文文本行識別能力。 我們還將探索設計更多任務特定的基於轉換器的模型的選項,並為註意力機制提供更多的可解釋性。