1. 程式人生 > 實用技巧 >一文帶你瞭解兩種Transformer文字識別方法

一文帶你瞭解兩種Transformer文字識別方法

一文帶你瞭解兩種Transformer文字識別方法

由堅強是說給別人聽的謊言提交於2020-11-27 12:47:35
摘要:受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識別方法彙總簡介》,原文作者:穀雨潤一麥 。

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

來源:oschina

連結:https://my.oschina.net/u/4526289/blog/4753322