一文帶你瞭解兩種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識別方法彙總簡介》,原文作者:穀雨潤一麥 。

 

點擊關注,第一時間瞭解華爲雲新鮮技術~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章