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