基于深度学习的解决思路
在目前基于深度学习的语言模型结构主要包括三个类别:基于RNN的语言模型,基于CNN的语言模型和基于Transformer的语言模型。接下来我会对它们进行依次介绍,并且逐一分析他们的优缺点。
1.通过RNN的语言模型结构
图1 基于RNN的语言模型结构
随着深度学习的发展,在受到NLP(Natural Language Processing)等任务的启发,Lee等人在视觉特征建模之后,通过引入RNN(Recurrent Neural Networks)代替传统的n-gram进行语言模型建模(图1所示)。RNN通过自回归的方式(Auto Regression),在t时间步读取的是t-1步的状态,即预测当前时间步时会考虑上一时间步的信息,同时通过注意力的方式在glimpse向量中关注对应位置字符的视觉信息。该方法省去了繁琐的n-gram计算过程,在目前的场景文本识别框架中占据了主导的地位。
但是基于RNN的语言模型结构存在2个问题:1)梯度消失/爆炸的问题。2)串行计算效率慢。因此,最近的方法对RNN的语言建模方式进行了改进(上下文记忆力差的问题,因为在部分最近的工作中证明对中/短文本影响不大,所以在这里没有考虑)。
2. 通过CNN的语言模型结构
图2 视觉和语言模型集成的网路框架
图3 基于CNN的语言模型结构
为了避免了由RNN造成的梯度消失/爆炸的问题,Fang等人采用了全卷积神经网络的结构,并通过一个并行的分支单独学习语言信息(图2),通过将视觉和语言信息集成的方法提升了识别结果。
基于CNN的语言模型如图3所示,给定,输出向量由下式获得:
sk-2 和 sk-1 是之前时间步对应的向量,因此,该结构可以看成一个近似的bigram语言模型。但是由于该语言模型也是串行的操作过程,导致其计算效率也较慢。
3. 通过Transformer的语言模型结构
图4 视觉语言模型解耦的网络结构
图5 基于transformer的语言模型结构
Yu等人将语言模型从视觉部分解耦,然后在两个独立的结构中分别进行进行视觉和语言模型的建模,最后通过融合视觉和语言信息进行文本预测(图4所示)。在语言模型部分,该方法采用了Transformer的结构(图5所示),通过Transformer中的mask来模拟语言结构中的顺序和逆序的建模过程,最终自适应地融合视觉和语言信息进行识别。由于Transformer的结构特点,识别过程不同的时间步并行操作,提升了识别效率。
- 点赞
- 收藏
- 关注作者
评论(0)