基于深度学习的解决思路

缺水的鱼 发表于 2020/12/04 20:24:08 2020/12/04
【摘要】 在目前基于深度学习的语言模型结构主要包括三个类别:基于RNN的语言模型,基于CNN的语言模型和基于Transformer的语言模型。接下来我会对它们进行依次介绍,并且逐一分析他们的优缺点。1.通过RNN的语言模型结构图1 基于RNN的语言模型结构随着深度学习的发展,在受到NLP(Natural Language Processing)等任务的启发,Lee等人在视觉特征建模之后,通过引入RNN...

在目前基于深度学习的语言模型结构主要包括三个类别:基于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的结构特点,识别过程不同的时间步并行操作,提升了识别效率。

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。