摘要:語言模型即根據當前語境的上下文推斷當前句子的意思。
目錄:
1. 語言模型定義
2. 基於深度學習的解決思路
3. 語言模型的問題
4. 未來展望
一、語言模型定義1. 什麼是語言模型?
圖1
如圖1所示,顧名思義,語言模型即根據當前語境的上下文推斷當前句子的意思。具體的標準定義為:對於語言序列w1, w2, …wn,語言模型就是計算該序列的機率即P(w1, w2, …wn)。
2. 為什麼需要語言模型?
3. 統計語言模型(n-gram)
由鏈式法則可以得到:
(1)可以透過採用極大似然估計來計算每個詞出現的條件機率,但是對於任意長的自然語言語句,根據極大似然估計直接計算P(wn |w1, w2, …wn-1)顯然不現實(計算量太大)。因此為了解決這個問題,n-gram語言模型引入馬爾可夫假設(Markovassumption),即假設當前詞出現的機率只依賴於前 n-1 個詞,可以得到:
n=1 unigram:
(2)n=2 bigram:
(3) …
因此,綜上可以看出,基於n-gram的語言模型有如下優點:
1)完全包含了前n-1個詞的全部資訊。
2)可解釋性強。
對應也有缺點:
1)缺乏長期依賴關係。
2)引數空間隨著n增大指數型增長。
3)單純的基於統計頻次,泛化能力差。
二、基於深度學習的解決思路在目前基於深度學習的語言模型結構主要包括三個類別:基於RNN的語言模型,基於CNN的語言模型和基於Transformer的語言模型。接下來我會對它們進行依次介紹,並且逐一分析他們的優缺點。
1.透過RNN的語言模型結構
圖2 基於RNN的語言模型結構
隨著深度學習的發展,在受到NLP(Natural Language Processing)等任務的啟發,Lee等人[1]在視覺特徵建模之後,透過引入RNN(RecurrentNeural Networks)代替傳統的n-gram進行語言模型建模(圖2所示)。RNN透過自迴歸的方式(Auto Regression),在t時間步讀取的是t-1步的狀態,即預測當前時間步時會考慮上一時間步的資訊,同時透過注意力的方式在glimpse向量中關注對應位置字元的視覺資訊。該方法省去了繁瑣的n-gram計算過程,在目前的場景文字識別框架中佔據了主導的地位。
但是基於RNN的語言模型結構存在2個問題:
1)梯度消失/爆炸的問題。
2)序列計算效率慢。
因此,最近的方法對RNN的語言建模方式進行了改進(上下文記憶力差的問題,因為在部分最近的工作中證明對中/短文字影響不大,所以在這裡沒有考慮)。
2. 透過CNN的語言模型結構
圖3 視覺和語言模型整合的網路框架
圖4 基於CNN的語言模型結構
為了避免了由RNN造成的梯度消失/爆炸的問題,Fang等人[2]採用了全卷積神經網路的結構,並透過一個並行的分支單獨學習語言資訊(圖3),透過將視覺和語言資訊整合的方法提升了識別結果。
基於CNN的語言模型如圖4所示,給定 ,輸出向量 由下式獲得:
sk-2 和 sk-1 是之前時間步對應的向量,因此,該結構可以看成一個近似的bigram語言模型。但是由於該語言模型也是序列的操作過程,導致其計算效率也較慢。
3. 透過Transformer的語言模型結構
圖5 視覺語言模型解耦的網路結構
圖6 基於transformer的語言模型結構
Yu等人[3]將語言模型從視覺部分解耦,然後在兩個獨立的結構中分別進行進行視覺和語言模型的建模,最後透過融合視覺和語言資訊進行文字預測(圖5所示)。在語言模型部分,該方法採用了Transformer的結構(圖6所示),透過Transformer中的mask來模擬語言結構中的順序和逆序的建模過程,最終自適應地融合視覺和語言資訊進行識別。由於Transformer的結構特點,識別過程不同的時間步並行操作,提升了識別效率。
三、語言模型的問題圖7 語言資訊幫助提升識別結果的效果圖(上:沒有語言模型。下:加入語言模型。)
語言模型能夠幫助在視覺資訊不充足的情況下,提升識別的結果。如圖7所示,語言模型提取的語言資訊能夠有效地幫助在視覺缺失,模糊,噪聲的情況下實現準確的識別結果。雖然語言模型提升效果顯著,但是也存在著以下幾個問題:
1)OC(outside vocabulary)問題。
2)計算複雜度高。
針對OC問題,Wan等人[4]指出了目前基於注意力的方法容易在訓練集中沒有出現過的詞彙中識別錯誤,且精度和在測試過程中使用訓練集中出現過的詞彙的效果之間gap遠大於基於分割的識別方法,因此如何獲得一個魯棒的語言模型是一種挑戰。對於計算量問題,雖然目前Transformer應用於識別是一種趨勢,且能夠透過平行計算提升識別效率,但是對於長文字的識別,其計算量增加明顯(RNN為線性增長,Transformer為平方增長)。
四、未來展望語言模型最近是場景文字識別領域比較熱門的研究方向,在我看來語言模型部分以後的研究大致會分為兩個方向:
1)結構。即如何透過搭建更強壯的語言模型捕捉更魯邦的語言資訊。
2)能力。如何降低OC問題的影響。
3)計算量。如何在低計算量的前提下提取有效的語言資訊。
最近的方法中,僅透過捕捉視覺特徵也能取得不錯的效果(基於視覺特徵匹配[5])。對於無序的識別(車牌識別),Yue等人[6]引入了位置資訊增強視覺特徵進行識別。因此,在作者看來,未來的文字識別發展一定是多元化的,即視覺和語言模型並行發展,針對不同的具體任務會有不同的改進。
參考文獻
[1] Chen-Yu Leeand Simon Osindero. Recursive recurrent nets with attention modeling for ocr inthe wild. CVPR, 2016.
[2] Fang S, XieH, Zha Z J, et al. Attention and language ensemble for scene text recognitionwith convolutional sequence modeling. MM, 2018.
[3] Yu D, Li X,Zhang C, et al. Towards accurate scene text recognition with semantic reasoningnetworks. CVPR. 2020.
[4] Wan Z, ZhangJ, Zhang L, et al. On Vocabulary Reliance in Scene Text Recognition. CVPR,2020.
[5] Zhang C,Gupta A, Zisserman A. Adaptive Text Recognition through Visual Matching. ECCV,2020.
[6] Yue X, KuangZ, Lin C, et al. RobustScanner: Dynamically Enhancing Positional Clues forRobust Text Recognition. ECCV, 2020.