一文带你了解两种Transformer文字识别方法
摘要:受Transformer模型的啟發,目前一些學者將該結構應用到文本行識別中,以替代RNN,取得了良好的效果,如在HGA-STR和 SRN。
當前的文本行識別器為擁有更強的序列語義能力,模型多采用CNN + RNN的結構,如目前使用十分廣泛的兩個識別器CRNN和Aster,這些模型取得了非常好的效果。然而由于RNN只能采用串行計算,在目前大量采用并行計算設備的前提下,RNN面臨著明顯的速度瓶頸。若棄用RNN只使用CNN,性能往往不盡如人意。在NLP領域,Ashish Vaswan[1]等人提出的Transformer模型在語言理解相關任務上十分成功,并優于CNN和RNN效果,展現出Transformer強大的序列建模能力。Transformer模型基于Attention實現,該操作可并行實現,因此該模型具有良好的并行性。
受Transformer模型的啟發,目前一些學者將該結構應用到文本行識別中,以替代RNN,取得了良好的效果,如在HGA-STR[2]和 SRN[3]。下面對兩種方法進行介紹,總體上,HGA-STR更接近原有的Transformer的結構,使用了和Transformer類似的解碼結構,而SRN則是使用了Transformer unit進行特征提取,并采用該文作者提出的并行解碼器,整個模型擁有更好的可并行性。為較好理解下面兩篇文章,請參閱相關資料以了解Transformer的原理。
HGA-STR 簡介
對于不規則文本,文本分布在二維空間上,將其轉換成一維有一定難度,同時基于RNN的編碼解碼器無法做到并行,本文直接將2D的特征輸入到attention-based 1D序列解碼器,解碼器采用Transformer中的解碼器同樣的結構。同時,在編碼器部分,提取一個全局語義向量,與解碼器的輸入embedding向量合并,為解碼器提供全局語義信息。該模型結構如圖1所示。
圖 1. 模型的基本結構
編碼器介紹:該模型使用CNN進行特征提取,并保持輸出的特征為二維。并使用池化操作得到一維向量,作為全局信息表示。
解碼器介紹:編碼器主要組件有:masked self-attention用來建模預測結果的依賴性;2D-attention用來連接編碼器和解碼器;以及一個前饋層。具體實現和Transformer文中的結構相同。同時為了更好的性能作者使用兩個方向進行解碼,結構如圖2所示。
圖 2.該方法使用雙向解碼器
該方法在多個英文基準數據集取得了較好的結果,具體結果可參見論文。在速度上作者和兩種基于attention的方法進行對比有一定的優勢,如表1所示。
表 1. 速度對比
在作者進行的對比試驗中,一個比較有意思的現象是,在編碼器里面添加Self-attention模塊并不能提升模型性能,在解碼器中添加才會對結果有提升,如表2所示。這表明原本的Transformer結構直接應用到文字識別任務上是不可行的,需要做相應的調整。
表 2. Self-attention性能對比
SRN簡介
與上一方法不同的是,SRN采用完全不同的解碼方式,并引入全局語義推理模塊。就獲取語義信息的方式而言,主流的Attention-based方法基于RNN來實現,是一種采用單向串行方式進行建模的方法,如圖 3.(a)所示。這種方式有明顯的不足:
1)僅僅感知了歷史時刻的語義信息,而無法獲取未來時刻的語義信息;
2)如果較早時刻解碼出的錯誤字符,會為余下時刻的解碼傳遞錯誤的語義信息,導致誤差積累效應;
3)串行的解碼模式是相對低效的,特別是在模型預測的環節。
圖 3. 兩種不同的傳遞語義信息的方法
如圖4所示,SRN由四部分組成:基礎網絡Backbone、并行的視覺特診提取模塊(PVAM)、全局語義推理模塊(GSRM) 和視覺語義融合的解碼器(VSFD)。給定一張輸入的文本圖像,基于ResNet50 + Transformer unit的Backbone從中提取出視覺2D feature map V;之后PVAM會針對每個目標字符獲取其相應的視覺特征G;GSRM會基于視覺特征G獲取全局語義信息,并轉化為每個目標字符的語義特征S;最后VSFD融合對齊的視覺特征和語義特征,預測出相應字符。在訓練階段和推斷階段,每個序列中各個字符之間是并行。
圖 4. 方法的總體結構圖
PVAM模塊介紹:在Backbone輸出了2D的視覺特征圖之后,PVAM會針對文本行中的每個字符,計算出相應attention map, 通過將其與feature map 按像素加權求和,可得到每個目標字符對應的的視覺特征。另外,PVAM也用字符的閱讀順序取代上一時刻隱變量來引導計算當前時刻的attention map,實現了并行提取視覺特征的目的。
GSRM模塊介紹:GSRM會基于全局語義信息進行推理。具體過程為,首先將視覺過程轉換成語義特征,使用交叉熵損失進行監督,并對其概率分布取argmax得到初始的分類結果,同時通過分類結果獲取每個字符的embedding向量,通過多層Transformer unit后,得到經語義推理模塊修正的預測結果,同樣使用交叉熵損失進行監督。
VSFD 模塊介紹:對PVAM輸出的對齊的視覺特征和GSRM輸出的全局語義特征進行融合,最后基于融合后的特征進行預測輸出。
該方法在多個英文基準數據集上取得了SOTA的結果。對于中文長文本的識別,SRN相對于其他識別方法也有明顯優勢,如表3所示。
表 3.中文數據集結果(TRW-L為長文本)
速度上,得益于整個模型的并行設計,SRN擁有較小的推理時延,如表4所示。
表 4.推理速度介紹
Reference
[1]https://arxiv.org/pdf/1706.03762.pdf
[2]https://arxiv.org/abs/1904.01375
[3]https://arxiv.org/pdf/2003.12294.pdf
本文分享自華為云社區《技術綜述六:文字識別中基于Transformer識別方法匯總簡介》,原文作者:谷雨潤一麥 。
點擊關注,第一時間了解華為云新鮮技術~
總結
以上是生活随笔為你收集整理的一文带你了解两种Transformer文字识别方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第七十九,CSS3背景渐变效果
- 下一篇: word 修改tab键空格数和缩进标尺