Read Like Humans: Autonomous, Bidirectional and Iterative Language Modeling for Scene Text Recognition
摘要
語言知識對場景文字識別有很大的益處。然而,如何有效地在端對端深度網路上建模語言規則仍然是一個研究挑戰。在論文中,我們認為語言模型的有限來源於:1)隱性地語言建模;2)雙向的特徵表示;3)帶噪聲輸入的語言模型。相應地,我們為場景文字識別提出了一個獨立、雙向、迭代的 ABINet 。第一,獨立意味著阻止視覺模型和語言模型之間梯度流(gradient flow)來強制執行顯性的語言建模。第二,提出基於雙向特徵表示的語言模型 --- 一個新穎的、雙向完形填空網路(bidirectional cloze network,BCN)。第三,我們為語言模型提出了一個可迭代糾正的執行方式,它能夠有效地減輕噪聲輸入帶來的影響。另外,基於迭代預測的集合,我們提出了一個自訓練方法,它能夠有效地從無標籤資料中學習。大量的實驗證明ABINet在低質量影象中有優越性並在一些主流基準裡實現了最優的結果。經過整合自訓練的 ABINet 在人類級別的識別上展示了極大的提升。程式碼可在
1. 引言
考慮到當前方法在內部互動、特徵表示和執行方式的不足,受獨立、雙向、迭代原則的引導,我們提出了 ABINet 。首先,我們提出了一個通過阻斷視覺模型和語言模型之間梯度流的解耦方法,強制語言模型更詳細的學習語言規則。另外,語言模型和視覺模型都是獨立的單元,能夠分別通過文字和圖片進行預訓練。第二,我們設計一個新穎的雙向完形填空網路(BCN)作為語言模型,它消除了結合兩個單向模型的困境。BCN 通過指定注意力掩碼來控制兩邊字元的訪問,受左右兩邊上下文的共同條件約束。同時,跨步驟訪問不被允許,以防止資訊洩露。第三,我們提出了一個迭代糾正的執行方式作為語言模型。通過重複將 ABINet 的輸出喂入語言模型,預測結果逐步的糾正,未對齊的長度問題在一定程度上被減輕。另外,將迭代預測作為一個集合,基於自訓練的半監督方法被探索,它在人類層面的識別上得出一個新的解決方案。
文章的貢獻主要包括:1)我們提出了一個獨立、雙向、迭代的原則去引導場景文字識別領域語言模型的設計。在這種原則下,語言模型是一種功能性單元,它需要提取雙向表示和迭代糾正預測結果。2)提出新穎的BCN(雙向完形填空網路),它像完形填空任務一樣利用雙向語言消除了字元的概率分佈。3)提出的 ABINet 在主流基準上實現了最好的表現,經過整合自訓練的 ABINet 在實現人級識別方面有了良好的改進。
2. 相關工作
2.1 Language-free Methods(無語言方法)
無語言方法通常利用視覺特徵而不考慮字元間的關係,如基於 CTC 的方法和基於分割的方法。由於缺乏語言的資訊,無語言的方法不能解決低質量影象的識別。
2.2 Language-based Methods(基於語言的方法)
2.2.1 視覺和語言間的內部互動
基於attention 的方法採用encoder-decoder的結構,encoder處理影象,decoder通過從一維影象特徵或者二維影象特徵中集中相關資訊生成字元。不同於以上方法,我們的方法通過顯式語言建模致力於建立一個更強大的語言模型。為了提升語言表示,很多工作引入多損失,其中額外的損失來自於分割。SEED提出使用預訓練的 FastText 模型來引導RNN的訓練,它帶來了額外的語義資訊。
2.2.2 語言特徵的表示
基於attention的字元序列方法通常採用從左到右的方式建模。為了捕獲雙向資訊,很多工作集成了兩個單向語言模型。我們認為,整合的雙向模型本質上還是單向模型。
2.2.3 語言模型的執行方式
目前,語言模型的網路結構主要基於 RNN 和 Transformer。基於 RNN 的語言模型通常用自迴歸的方式執行,將上一個字元的預測作為輸入。GRU通過將上個時間步的預測向量和當前時間步的字元 特徵作為輸入來預測每個字元。基於Transformer的方 法並行執行,每個時間步的輸入是視覺特徵或來自視覺特徵預測的字元嵌入。我們的方法採用並行執行,但我們儘量在並行的語言模型上減輕噪聲輸入的問題。
3 提出的方法
3.1 視覺模型
如圖三,視覺模型由一個主幹網路和一個位置注意力模組組成。在先前的方法中,ResNet 和 Transformer 單元作為特徵提取網路和序列建模網路被使用。Fb=T(R(x)),x是輸入影象,R()表示 ResNet 網路,T()表示 Transformer 單元。
位置注意力模組將視覺特徵並行轉化為字元概率,基於正規化:
Q是字元順序的位置編碼,T是字元序列的長度,K=g(Fb),g()是對mini U-Net的完善。V=H(Fb),H()是標識對映。
3.2 語言模型
3.2.1 獨立策略
如圖二所示,獨立策略包含以下特徵:1)語言模型被視為一個拼寫糾正的獨立模型,它將字元的概率向量作為輸入,輸出期望字元的概率分佈。2)在輸入向量中訓練梯度流被阻斷(BGF)。3)語言模型能夠單獨從無標籤文字資料中訓練。
按照獨立策略,ABINet 能夠劃分為可解釋的單元。將概率作為輸入,語言模型是可替代的(例如,用更強大的模型直接替換)和靈活的(例如,像模組3.2.3中迭代執行)。另外,BGF(阻塞資料流)使得必須學習語言知識,這與隱式模型有根本的區別,即模型具體學習的東西是不可知的。更重要的是,獨立策略允許我們直接共享NLP 社群的先進成果。例如,預訓練的語言模型是提升效果的有效方式。
3.2.2 雙向表示
一種合理的方法是使用BERT[5]中的掩蔽語言模型(MLM),用令牌[MASK]替換字元。然而,我們注意到這是不可接受的,因為MLM應該對每個文字例項分別呼叫n次,導致極低的效率。我們建議通過指定注意力掩碼來遮蔽BCN,而不是遮蔽輸入字元。
通過以完形填空方式指定注意力掩碼,BCN 能夠優雅地學習比單向表示的整合更強大的雙向表示。此外,受益於類似 Transformer 的架構,BCN 可以獨立並行地執行計算。此外,它比整合模型更有效,因為只需要一半的計算和引數。
3.2.3 迭代糾正
Transformer 的並行預測採用噪聲輸入,這些輸入通常是視覺預測或視覺特徵的近似值。噪聲(即視覺模型中錯誤的預測) 的增加會對LM 造成巨大的干擾。
為了處理噪聲輸入的問題,我們提出了迭代語言模型。語言模型重複執行M次,每次對文字序列 y 對齊都不同。第一次迭代,y是視覺模型的概率預測。在之後的迭代中,y是上一次迭代中融合模型的概率預測。通過這樣語言模型能夠迭代的糾正視覺預測。
另一個觀察結果是,基於 Transformer 的方法通常存在不對齊長度問題,這意味著如果字元數與地面真相不對齊,Transformer 很難糾正視覺預測。不對齊長度問題是由於不可避免地填充掩碼的實現造成的,填充掩碼固定用於過濾文字長度之外的上下文。我們的迭代LM 可以緩解這一問題,因為視覺特徵和語言特徵被多次融合,從而使預測的文字長度也逐漸糾正。
4 總結
在本文中,我們提出了 ABINet 來探索在場景文字識別中利用語言知識的有效方法。ABINet 是 1)自主。通過顯性強制學習來提高語言模型的能力;2)雙向。通過聯合調節兩邊的字元上下文來學習文字表示;3)迭代。逐步糾正預測,以減輕噪聲輸入的影響。基於ABINet,我們進一步提出了一種半監督學習的整合自訓練方法。在標準基準測試上的實驗結果證明了 ABINet 的優越性,特別是在低質量的影象上。此外,我們宣稱,利用未標記的資料是可能的,並有可能實現人類水平的識別。