共计 2955 个字符,预计需要花费 8 分钟才能阅读完成。
摘要:语言模型即依据以后语境的上下文推断以后句子的意思。
目录:
- 语言模型定义
- 基于深度学习的解决思路
- 语言模型的问题
- 将来瞻望
一、语言模型定义
1. 什么是语言模型?
图 1
如图 1 所示,顾名思义,语言模型即依据以后语境的上下文推断以后句子的意思。具体的规范定义为:对于语言序列_w1_, _w2_, _…wn,_语言模型就是计算该序列的概率即 P(_w1_, _w2_, _…wn_)。
2. 为什么须要语言模型?
文本图像中蕴含两层信息:视觉纹理信息和语言信息。因为单纯依据视觉纹理信息进行文字辨认短少了对上下文的字符语义信息的开掘,时常会导致谬误的文本辨认后果(之后会具体阐明)。因而如何取得鲁棒的语言信息来晋升辨认性能成为了最近场景文本辨认工作中比拟受欢迎的思路。
3. 统计语言模型(n-gram)
由链式法则能够失去:
能够通过采纳极大似然预计来计算每个词呈现的条件概率,然而对于任意长的自然语言语句,依据极大似然预计间接计算 P(_wn_ |_w1_, _w2_, _…wn-1_)显然不事实(计算量太大)。因而为了解决这个问题,n-gram 语言模型引入马尔可夫假如(Markov assumption),即假如以后词呈现的概率只依赖于前 n-1 个词,能够失去:
n=1 unigram:
n=2 bigram:
…
因而,综上能够看出,基于 n -gram 的语言模型有如下长处:1)齐全蕴含了前 n - 1 个词的全副信息。2)可解释性强。对应也有毛病:1)不足长期依赖关系。2)参数空间随着 n 增大指数型增长。3)单纯的基于统计频次,泛化能力差。
二、基于深度学习的解决思路
在目前基于深度学习的语言模型构造次要包含三个类别:基于 RNN 的语言模型,基于 CNN 的语言模型和基于 Transformer 的语言模型。接下来我会对它们进行顺次介绍,并且逐个剖析他们的优缺点。
1.通过 RNN 的语言模型构造
图 2 基于 RNN 的语言模型构造
随着深度学习的倒退,在受到 NLP(Natural Language Processing)等工作的启发,Lee 等人 [1] 在视觉特色建模之后,通过引入 RNN(Recurrent Neural 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 所示,给定 , 输入向量 由下式取得:
s_k-2_ 和 s_k-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 Lee and Simon Osindero. Recursive recurrent nets with attention modeling for ocr in the wild. CVPR, 2016.
[2] Fang S, Xie H, Zha Z J, et al. Attention and language ensemble for scene text recognition with convolutional sequence modeling. MM, 2018.
[3] Yu D, Li X, Zhang C, et al. Towards accurate scene text recognition with semantic reasoning networks. CVPR. 2020.
[4] Wan Z, Zhang J, 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, Kuang Z, Lin C, et al. RobustScanner: Dynamically Enhancing Positional Clues for Robust Text Recognition. ECCV, 2020.
点击关注,第一工夫理解华为云陈腐技术~