詳解提升場(chǎng)景文本識(shí)別中的語(yǔ)言模型
一、語(yǔ)言模型定義
1. 什么是語(yǔ)言模型?
如圖1所示,顧名思義,語(yǔ)言模型即根據(jù)當(dāng)前語(yǔ)境的上下文推斷當(dāng)前句子的意思。具體的標(biāo)準(zhǔn)定義為:對(duì)于語(yǔ)言序列w1,w2,…wn,語(yǔ)言模型就是計(jì)算該序列的概率即P(w1,w2,…wn)。
2. 為什么需要語(yǔ)言模型?
文本圖像中包含兩層信息:視覺紋理信息和語(yǔ)言信息。由于單純根據(jù)視覺紋理信息進(jìn)行文字識(shí)別缺少了對(duì)上下文的字符語(yǔ)義信息的挖掘,時(shí)常會(huì)導(dǎo)致錯(cuò)誤的文本識(shí)別結(jié)果(之后會(huì)詳細(xì)說明)。因此如何獲得魯棒的語(yǔ)言信息來提升識(shí)別性能成為了最近場(chǎng)景文本識(shí)別任務(wù)中比較受歡迎的思路。
3. 統(tǒng)計(jì)語(yǔ)言模型(n-gram)
由鏈?zhǔn)椒▌t可以得到:
可以通過采用極大似然估計(jì)來計(jì)算每個(gè)詞出現(xiàn)的條件概率,但是對(duì)于任意長(zhǎng)的自然語(yǔ)言語(yǔ)句,根據(jù)極大似然估計(jì)直接計(jì)算P(wn|w1,w2,…wn-1)顯然不現(xiàn)實(shí)(計(jì)算量太大)。因此為了解決這個(gè)問題,n-gram語(yǔ)言模型引入馬爾可夫假設(shè)(Markov assumption),即假設(shè)當(dāng)前詞出現(xiàn)的概率只依賴于前 n-1 個(gè)詞,可以得到:
n=1 unigram:
n=2 bigram:
…
因此,綜上可以看出,基于n-gram的語(yǔ)言模型有如下優(yōu)點(diǎn):1)完全包含了前n-1個(gè)詞的全部信息。2)可解釋性強(qiáng)。對(duì)應(yīng)也有缺點(diǎn):1)缺乏長(zhǎng)期依賴關(guān)系。2)參數(shù)空間隨著n增大指數(shù)型增長(zhǎng)。3)單純的基于統(tǒng)計(jì)頻次,泛化能力差。
二、基于深度學(xué)習(xí)的解決思路
在目前基于深度學(xué)習(xí)的語(yǔ)言模型結(jié)構(gòu)主要包括三個(gè)類別:基于RNN的語(yǔ)言模型,基于CNN的語(yǔ)言模型和基于Transformer的語(yǔ)言模型。接下來我會(huì)對(duì)它們進(jìn)行依次介紹,并且逐一分析他們的優(yōu)缺點(diǎn)。
1.通過RNN的語(yǔ)言模型結(jié)構(gòu)
圖2基于RNN的語(yǔ)言模型結(jié)構(gòu)
隨著深度學(xué)習(xí)的發(fā)展,在受到NLP(Natural Language Processing)等任務(wù)的啟發(fā),Lee等人[1]在視覺特征建模之后,通過引入RNN(Recurrent Neural Networks)代替?zhèn)鹘y(tǒng)的n-gram進(jìn)行語(yǔ)言模型建模(圖2所示)。RNN通過自回歸的方式(Auto Regression),在t時(shí)間步讀取的是t-1步的狀態(tài),即預(yù)測(cè)當(dāng)前時(shí)間步時(shí)會(huì)考慮上一時(shí)間步的信息,同時(shí)通過注意力的方式在glimpse向量中關(guān)注對(duì)應(yīng)位置字符的視覺信息。該方法省去了繁瑣的n-gram計(jì)算過程,在目前的場(chǎng)景文本識(shí)別框架中占據(jù)了主導(dǎo)的地位。
但是基于RNN的語(yǔ)言模型結(jié)構(gòu)存在2個(gè)問題:1)梯度消失/爆炸的問題。2)串行計(jì)算效率慢。因此,最近的方法對(duì)RNN的語(yǔ)言建模方式進(jìn)行了改進(jìn)(上下文記憶力差的問題,因?yàn)樵诓糠肿罱墓ぷ髦凶C明對(duì)中/短文本影響不大,所以在這里沒有考慮)。
2. 通過CNN的語(yǔ)言模型結(jié)構(gòu)
圖3 視覺和語(yǔ)言模型集成的網(wǎng)路框架
圖4 基于CNN的語(yǔ)言模型結(jié)構(gòu)
為了避免了由RNN造成的梯度消失/爆炸的問題,F(xiàn)ang等人[2]采用了全卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),并通過一個(gè)并行的分支單獨(dú)學(xué)習(xí)語(yǔ)言信息(圖3),通過將視覺和語(yǔ)言信息集成的方法提升了識(shí)別結(jié)果。
基于CNN的語(yǔ)言模型如圖4所示,給定 ,輸出向量 由下式獲得:
sk-2和 sk-1是之前時(shí)間步對(duì)應(yīng)的向量,因此,該結(jié)構(gòu)可以看成一個(gè)近似的bigram語(yǔ)言模型。但是由于該語(yǔ)言模型也是串行的操作過程,導(dǎo)致其計(jì)算效率也較慢。
3. 通過Transformer的語(yǔ)言模型結(jié)構(gòu)
圖5 視覺語(yǔ)言模型解耦的網(wǎng)絡(luò)結(jié)構(gòu)
圖6 基于transformer的語(yǔ)言模型結(jié)構(gòu)
Yu等人[3]將語(yǔ)言模型從視覺部分解耦,然后在兩個(gè)獨(dú)立的結(jié)構(gòu)中分別進(jìn)行進(jìn)行視覺和語(yǔ)言模型的建模,最后通過融合視覺和語(yǔ)言信息進(jìn)行文本預(yù)測(cè)(圖5所示)。在語(yǔ)言模型部分,該方法采用了Transformer的結(jié)構(gòu)(圖6所示),通過Transformer中的mask來模擬語(yǔ)言結(jié)構(gòu)中的順序和逆序的建模過程,最終自適應(yīng)地融合視覺和語(yǔ)言信息進(jìn)行識(shí)別。由于Transformer的結(jié)構(gòu)特點(diǎn),識(shí)別過程不同的時(shí)間步并行操作,提升了識(shí)別效率。
三、語(yǔ)言模型的問題
圖7 語(yǔ)言信息幫助提升識(shí)別結(jié)果的效果圖(上:沒有語(yǔ)言模型。下:加入語(yǔ)言模型。)
語(yǔ)言模型能夠幫助在視覺信息不充足的情況下,提升識(shí)別的結(jié)果。如圖7所示,語(yǔ)言模型提取的語(yǔ)言信息能夠有效地幫助在視覺缺失,模糊,噪聲的情況下實(shí)現(xiàn)準(zhǔn)確的識(shí)別結(jié)果。雖然語(yǔ)言模型提升效果顯著,但是也存在著以下幾個(gè)問題:1)OC(outside vocabulary)問題。2)計(jì)算復(fù)雜度高。
針對(duì)OC問題,Wan等人[4]指出了目前基于注意力的方法容易在訓(xùn)練集中沒有出現(xiàn)過的詞匯中識(shí)別錯(cuò)誤,且精度和在測(cè)試過程中使用訓(xùn)練集中出現(xiàn)過的詞匯的效果之間gap遠(yuǎn)大于基于分割的識(shí)別方法,因此如何獲得一個(gè)魯棒的語(yǔ)言模型是一種挑戰(zhàn)。對(duì)于計(jì)算量問題,雖然目前Transformer應(yīng)用于識(shí)別是一種趨勢(shì),且能夠通過并行計(jì)算提升識(shí)別效率,但是對(duì)于長(zhǎng)文本的識(shí)別,其計(jì)算量增加明顯(RNN為線性增長(zhǎng),Transformer為平方增長(zhǎng))。
四、未來展望
語(yǔ)言模型最近是場(chǎng)景文本識(shí)別領(lǐng)域比較熱門的研究方向,在我看來語(yǔ)言模型部分以后的研究大致會(huì)分為兩個(gè)方向:1)結(jié)構(gòu)。即如何通過搭建更強(qiáng)壯的語(yǔ)言模型捕捉更魯邦的語(yǔ)言信息。2)能力。如何降低OC問題的影響。3)計(jì)算量。如何在低計(jì)算量的前提下提取有效的語(yǔ)言信息。
最近的方法中,僅通過捕捉視覺特征也能取得不錯(cuò)的效果(基于視覺特征匹配[5])。對(duì)于無序的識(shí)別(車牌識(shí)別),Yue等人[6]引入了位置信息增強(qiáng)視覺特征進(jìn)行識(shí)別。因此,在作者看來,未來的文本識(shí)別發(fā)展一定是多元化的,即視覺和語(yǔ)言模型并行發(fā)展,針對(duì)不同的具體任務(wù)會(huì)有不同的改進(jìn)。
以上就是詳解提升場(chǎng)景文本識(shí)別中的語(yǔ)言模型的詳細(xì)內(nèi)容,更多關(guān)于提升場(chǎng)景文本識(shí)別中的語(yǔ)言模型的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
bilibili彈幕轉(zhuǎn)ass程序制作思路及過程
本文主要是為了方便線下播放Bilibili的彈幕,而專門制作的一款將彈幕轉(zhuǎn)換為ASS的程序,介紹了程序制作的思路及過程,有需要的朋友可以參考下2014-09-09IntelliJ IDEA插件EasyCode安裝方法與使用技巧
這篇文章主要介紹了IntelliJ IDEA插件EasyCode安裝方法與使用技巧,需要的朋友可以參考下2020-03-03密碼哈希函數(shù) Bcrypt的最大密碼長(zhǎng)度限制詳解
這篇文章主要介紹了密碼哈希函數(shù) Bcrypt的最大密碼長(zhǎng)度限制詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03ffmpeg播放器實(shí)現(xiàn)詳解之視頻顯示(推薦)
FFmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計(jì)算機(jī)程序。這篇文章主要介紹了ffmpeg播放器實(shí)現(xiàn)詳解視頻顯示,需要的朋友可以參考下2020-07-07計(jì)算機(jī)二級(jí)如何一次性通過?給NCRE焦躁心情降溫!
計(jì)算機(jī)二級(jí)到現(xiàn)階段應(yīng)該如何備考,該聽什么課?該針對(duì)哪些考點(diǎn)重點(diǎn)學(xué)習(xí),這些都要做到心里有數(shù),有計(jì)劃性。這篇文章為大家分享了計(jì)算機(jī)二級(jí)備考技巧,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08Scala函數(shù)式編程專題--scala基礎(chǔ)語(yǔ)法介紹
這篇文章主要介紹了scala基礎(chǔ)語(yǔ)法的的相關(guān)資料,文中講解非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06