0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Transformer与覆盖注意力机制建模的手写数学公式识别

CVer 来源:CSIG文档图像分析与识别专 作者: Wenqi Zhao, Liangca 2022-11-01 15:26 次阅读

一、研究背景

手写数学公式识别是将包含数学表达式的图像转换为结构表达式,例如LaTeX数学表达式或符号布局树的过程。手写数学表达式的识别已经带来了许多下游应用,如在线教育、自动评分和公式图像搜索。在在线教育场景下,手写数学表达式的识别率对提高学习效率和教学质量至关重要。 对比于传统的文本符号识别(Optical Character Recognition, OCR),公式识别具有更大的挑战性。公式识别不仅需要从图像中识别不同书写风格的符号,还需要建模符号和上下文之间的关系。例如,在LaTeX中,模型需要生成“^”、“_”、“{”和“}”来描述二维图像中符号之间的位置和层次关系。编码器-解码器架构由于可以编码器部分进行特征提取,在解码器部分进行语言建模,而在手写数学公式识别任务(Handwritten Mathematical Expression Recognition, HMER)中被广泛使用。 虽然Transformer在自然语言处理领域已经成为了基础模型,但其在HMER任务上的性能相较于循环神经网络(Recurrent Neural Network, RNN)还不能令人满意。作者观察到现有的Transformer与RNN一样会受到缺少覆盖注意力机制的影响,即“过解析”——图像的某些部分被不必要地多次解析,以及“欠解析”——有些区域未被解析。RNN解码器使用覆盖注意机制来缓解这一问题。然而,Transformer解码器所采用的点积注意力没有这样的覆盖机制,作者认为这是限制其性能的关键因素。 不同于RNN,Transformer中每一步的计算是相互独立的。虽然这种特性提高了Transformer中的并行性,但也使得在Transformer解码器中直接使用以前工作中的覆盖机制变得困难。为了解决上述问题,作者提出了一种利用Transformer解码器中覆盖信息的新模型,称为CoMER。受RNN中覆盖机制的启发,作者希望Transformer将更多的注意力分配到尚未解析的区域。具体地说,作者提出了一种新颖的注意精炼模块(Attention Refinement Module, ARM),它可以在不影响并行性的前提下,根据过去的对齐信息对注意权重进行精炼。同时为了充分利用来自不同层的过去对齐信息,作者提出了自覆盖和交叉覆盖,分别利用来自当前层和前一层的过去对齐信息。作者进一步证明,在HMER任务中,CoMER的性能优于标准Transformer解码器和RNN解码器。

8250599c-5944-11ed-a3b6-dac502259ad0.png

图1 本文提出的具有注意力精炼模块的Transformer模型

二、方法原理简述

CNN编码器在编码器部分,本文使用DenseNet作为编码器。相较于ResNet,DenseNet在不同尺度特征图上的密集连接能够更好地反映出不同大小字符的尺度特征,有利于后续解码不同位置大小字符的含义。为了使DenseNet输出特征与解码器模型尺寸对齐,作者在编码器的末端增加了1 × 1的卷积层,得到输出图像特征

8272d60c-5944-11ed-a3b6-dac502259ad0.png

位置编码与RNN解码器不同,由于Transformer解码器的Token之间不具有空间位置关系,额外的位置信息是必要的。在论文中,作者与BTTR[1]一致,同时使用图像位置编码和字符位置编码。 对于字符位置编码,作者使用Transformer[2]中引入的1D位置编码。给定编码维数d,位置p,特征维索引i,则字符位置编码向量

8283cb38-5944-11ed-a3b6-dac502259ad0.png

可表示为:

8298865e-5944-11ed-a3b6-dac502259ad0.png

图像位置编码采用与[1,3]相同的二维归一化位置编码。由于模型需要关注的是相对位置,所以首先要将位置坐标归一化。给定二维坐标元组82a77696-5944-11ed-a3b6-dac502259ad0.png,编码维数为d,通过一维位置的拼接计算二维图像位置编码

82b3a6a0-5944-11ed-a3b6-dac502259ad0.png

82c3bb30-5944-11ed-a3b6-dac502259ad0.png

其中82d304dc-5944-11ed-a3b6-dac502259ad0.png82dd0806-5944-11ed-a3b6-dac502259ad0.png代表了输入图像特征的尺寸。注意力精炼模块(ARM)如果在Transformer中直接采用RNN式的覆盖注意力机制。那么将会产生一个具有82e85134-5944-11ed-a3b6-dac502259ad0.png空间复杂度的覆盖矩阵82f64532-5944-11ed-a3b6-dac502259ad0.png,这样的大小是难以接受的。问题的瓶颈在于覆盖矩阵需要先与其他特征向量相加,再乘以向量8305bb20-5944-11ed-a3b6-dac502259ad0.png。如果我们可以先将覆盖矩阵与831270b8-5944-11ed-a3b6-dac502259ad0.png相乘,再加上LuongAttention[4]的结果,空间复杂度将大大降低到82e85134-5944-11ed-a3b6-dac502259ad0.png。因此作者将注意力机制修改为:

832bf3c6-5944-11ed-a3b6-dac502259ad0.png

其中相似向量833be3ee-5944-11ed-a3b6-dac502259ad0.png可分为注意项和精炼项834f0078-5944-11ed-a3b6-dac502259ad0.png。需要注意的是,精炼项可以通过覆盖函数直接由累积835a9da2-5944-11ed-a3b6-dac502259ad0.png向量生成,从而避免了具有为维数为8366b9de-5944-11ed-a3b6-dac502259ad0.png的中间项。作者将上式命名为注意力精炼框架。

8373561c-5944-11ed-a3b6-dac502259ad0.png

图2 注意精炼模块(ARM)的整体结构 为了在Transformer中使用这一框架,作者提出了如图2所示的注意精炼模块(ARM)。可以将Transformer中的点积矩阵8386e8a8-5944-11ed-a3b6-dac502259ad0.png作为注意项,精炼项矩阵R需要从经过Softmax后的注意权值A中计算出来。作者使用了注意权值A来提供历史对齐信息,具体的选择会在下一小节介绍。 作者定义了一个将注意力权重8391753e-5944-11ed-a3b6-dac502259ad0.png作为输入,输出为精炼矩阵839d53e0-5944-11ed-a3b6-dac502259ad0.png的函数83ad28f6-5944-11ed-a3b6-dac502259ad0.png

83b81784-5944-11ed-a3b6-dac502259ad0.png

其中83c67f90-5944-11ed-a3b6-dac502259ad0.png是在时间步83d531a2-5944-11ed-a3b6-dac502259ad0.png时的注意力权重。83e98c24-5944-11ed-a3b6-dac502259ad0.png代表一个卷积核,*代表卷积操作。83f51166-5944-11ed-a3b6-dac502259ad0.png是一个偏置项,8401eb34-5944-11ed-a3b6-dac502259ad0.png是一个线性投影矩阵。 作者认为函数840f6a84-5944-11ed-a3b6-dac502259ad0.png可以提取局部覆盖特征来检测已解析区域的边缘,并识别传入的未解析区域。最终,作者通过减去精炼项R来达到精炼注意力项E的目的。覆盖注意力本节将介绍注意权重A的具体选择。作者提出了自覆盖、交叉覆盖以及融合覆盖三种模式,以利用不同阶段的对齐信息。自覆盖: 自覆盖是指使用当前层生成的对齐信息作为注意精炼模块的输入。对于当前层j,首先计算注意权重8420b0d2-5944-11ed-a3b6-dac502259ad0.png,并对其进行精炼。

842c1814-5944-11ed-a3b6-dac502259ad0.png

其中843b1c42-5944-11ed-a3b6-dac502259ad0.png代表了精炼后的点积结果。8446a6de-5944-11ed-a3b6-dac502259ad0.png代表在j层精炼后的注意力权重。交叉覆盖:作者利用Transformer中解码层相互堆叠的特性,提出了一种新的交叉覆盖方法。交叉覆盖使用前一层的对齐信息作为当前层ARM的输入。j为当前层,我们使用精炼后的注意力权重8452e93a-5944-11ed-a3b6-dac502259ad0.png之前8461ce82-5944-11ed-a3b6-dac502259ad0.png层来精炼当前层的注意力项。

846fa4d0-5944-11ed-a3b6-dac502259ad0.png

融合覆盖:将自覆盖和交叉覆盖相结合,作者提出了一种新的融合覆盖方法,充分利用从不同层生成的过去对齐信息。

848740c2-5944-11ed-a3b6-dac502259ad0.png

其中8495b63e-5944-11ed-a3b6-dac502259ad0.png表示来自当前层的注意权重与来自前一层的精炼注意权重进行拼接。

三、主要实验结果及可视化结果

表1 与先前工作在CROHME数据集上的效果的比较

84a19f30-5944-11ed-a3b6-dac502259ad0.png

从表1中可以看出,与使用覆盖注意力机制的RNN的模型相比,CoMER在每个CROHME测试集上的性能优于Ding等人[5]提出的先前最先进的模型。在完全正确率ExpRate中,与之前性能最好的基于RNN的模型相比,CoMER平均提高了1.43%。与基于Transformer的模型相比,作者提出的带有ARM和融合覆盖的CoMER显著提高了性能。具体而言,CoMER在所有指标上都优于基准“BTTR”,在ExpRate中平均领先基准“BTTR”3.6%。

表2 各模块消融实验

84c74f0a-5944-11ed-a3b6-dac502259ad0.png

在表2中,“Scale -aug”表示是否采用尺度增广[6]。“Self-cov”和“Cross-cov”分别表示是否使用自覆盖和交叉覆盖。与BTTR相比,采用ARM和覆盖机制的CoMER的性能有了明显的提高。

84e9ffe6-5944-11ed-a3b6-dac502259ad0.png

图3 不同算法在CROHME 2014数据集上不同长度正确率的对比 从图3中可以看到,相较于基准方法与本文提出的三种覆盖方法,融合覆盖可以大大增强模型对长公式的识别率。这也验证了覆盖机制能够更好地引导注意力对齐历史信息。

84feee74-5944-11ed-a3b6-dac502259ad0.png

图4 公式图像识别中的精炼项R可视化。

如图4所示,作者将识别过程中的精炼项R可视化。可以看到,经过解析的区域颜色较深,这表明ARM将抑制这些解析区域的注意权重,鼓励模型关注未解析区域。可视化实验表明,作者提出的ARM可以有效地缓解覆盖不足的问题。

四、总结及讨论

作者受RNN中覆盖注意力的启发,提出将覆盖机制引入到Transformer解码器中。提出了一种新的注意精炼模块(ARM),使得在Transformer中进行注意力精炼的同时不损害其并行计算特性成为可能。同时还提出了自覆盖、交叉覆盖和融合覆盖的方法,利用来自当前层和前一层的过去对齐信息来优化注意权重。实验证明了作者提出的CoMER缓解了覆盖不足的问题,显著提高了长表达式的识别精度。作者认为其提出的注意精炼框架不仅适用于手写数学表达式识别。ARM可以帮助精炼注意权重,提高所有需要动态对齐的任务的对齐质量。为此,作者打算将解码器中的ARM扩展为一个通用框架,用于解决未来工作中的各种视觉和语言任务(例如,机器翻译、文本摘要、图像字幕)。

原文作者: Wenqi Zhao, Liangcai Gao

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 解码器
    +关注

    关注

    9

    文章

    1085

    浏览量

    40321
  • ARM
    ARM
    +关注

    关注

    134

    文章

    8740

    浏览量

    363425
  • 编码器
    +关注

    关注

    42

    文章

    3462

    浏览量

    132297
收藏 人收藏

    评论

    相关推荐

    Transformer模型在语音识别和语音生成中的应用优势

    随着人工智能技术的飞速发展,语音识别和语音生成作为人机交互的重要组成部分,正逐渐渗透到我们生活的各个方面。而Transformer模型,自其诞生以来,凭借其独特的自注意力机制和并行计算
    的头像 发表于 07-03 18:24 397次阅读

    数学建模神经网络模型的优缺点有哪些

    数学建模神经网络模型是一种基于人工神经网络的数学建模方法,它通过模拟人脑神经元的连接和信息传递机制,对复杂系统进行
    的头像 发表于 07-02 11:36 311次阅读

    Transformer 能代替图神经网络吗?

    初设计之外的数据(如图像和其他序列数据)。然后人们也开始优化和寻找替代方案,主要是为了减少计算成本(自注意力机制的二次方成本)。关于哪种架构在计算成本方面更优的讨论一
    的头像 发表于 07-02 08:27 186次阅读
    <b class='flag-5'>Transformer</b> 能代替图神经网络吗?

    【大规模语言模型:从理论到实践】- 阅读体验

    再次感谢电子发烧友提供的书籍试读机会。今天来分享下我在学习大模型训练中 注意力机制 的心得体会。 虽然注意力机制可以显著提高模型处理长序列数据的能力,但这也带来了计算成本的增加。在大型
    发表于 06-07 14:44

    基于Transformer的多模态BEV融合方案

    由于大量的相机和激光雷达特征以及注意力的二次性质,将 Transformer 架构简单地应用于相机-激光雷达融合问题是很困难的。
    发表于 01-23 11:39 401次阅读
    基于<b class='flag-5'>Transformer</b>的多模态BEV融合方案

    全新近似注意力机制HyperAttention:对长上下文友好、LLM推理提速50%

    本文介绍了一项近似注意力机制新研究,耶鲁大学、谷歌研究院等机构提出了 HyperAttention,使 ChatGLM2 在 32k 上下文长度上的推理时间快了 50%。 Transformer
    的头像 发表于 11-20 09:15 395次阅读
    全新近似<b class='flag-5'>注意力</b><b class='flag-5'>机制</b>HyperAttention:对长上下文友好、LLM推理提速50%

    科大讯飞ICDAR 2023收获四项冠军,图文识别理解能力持续进阶

    !       MLHME之冠: 首个“多行书写”挑战赛,复杂度再突破   MLHME(多行公式识别比赛)考查输入包含手写数学公式的图像后
    发表于 11-03 14:09 426次阅读
    科大讯飞ICDAR 2023收获四项冠军,图文<b class='flag-5'>识别</b>理解能力持续进阶

    大模型基础Transformer结构的原理解析

    该研究的结果适用于一般数据集,可以扩展到交叉注意力层,并且研究结论的实际有效性已经通过彻底的数值实验得到了验证。该研究建立一种新的研究视角,将多层 transformer 看作分离和选择最佳 token 的 SVM 层次结构。
    发表于 09-07 10:50 933次阅读
    大模型基础<b class='flag-5'>Transformer</b>结构的原理解析

    基于Transformer的目标检测算法难点

    理解Transformer背后的理论基础,比如自注意力机制(self-attention), 位置编码(positional embedding),目标查询(object query)等等,网上的资料比较杂乱,不够系统,难以通过
    发表于 08-24 11:19 210次阅读
    基于<b class='flag-5'>Transformer</b>的目标检测算法难点

    首个线性注意力Transformer大模型!1750亿参数,速度和精度更优

    即便如此,传统的 Transformer 依然存在局限。首要的一点,它们有着对于序列长度的二次时间复杂度,这会限制它们的可扩展性并拖累训练和推理阶段的计算资源和时间效率。为了将这种二次时间复杂性简化至线性复杂性,已经有不少研究者提出了多种不同的序列建模方法。
    的头像 发表于 07-31 15:20 863次阅读
    首个线性<b class='flag-5'>注意力</b><b class='flag-5'>Transformer</b>大模型!1750亿参数,速度和精度更优

    语音应用中Transformer和循环神经网络的比较

    Transformer中,注意力图的某些头部并不总是像Tacotron 2中那样是对角线的。因此,我们需要选择在哪些位置应用引导性注意力损失[24]。-使用Transformer进行
    发表于 07-24 11:30 529次阅读
    语音应用中<b class='flag-5'>Transformer</b>和循环神经网络的比较

    基于Transformer的目标检测算法的3个难点

    理解Transformer背后的理论基础,比如自注意力机制(self-attention), 位置编码(positional embedding),目标查询(object query)等等,网上的资料比较杂乱,不够系统,难以通过
    发表于 07-18 12:54 539次阅读
    基于<b class='flag-5'>Transformer</b>的目标检测算法的3个难点

    详细介绍​注意力机制中的掩码

    注意力机制的掩码允许我们发送不同长度的批次数据一次性的发送到transformer中。在代码中是通过将所有序列填充到相同的长度,然后使用“attention_mask”张量来识别哪些令
    的头像 发表于 07-17 16:46 535次阅读
    详细介绍​<b class='flag-5'>注意力</b><b class='flag-5'>机制</b>中的掩码

    高斯如何得到他理论的结果?聊聊高斯概率分布的数学公式

    这个模拟世界中的各种物理过程都表现出一定程度的随机性,例如,请想想噪声。高斯概率分布(Gaussian probability distributions)描述了许多噪声过程,我们应该看看它的数学公式
    的头像 发表于 07-17 10:21 718次阅读
    高斯如何得到他理论的结果?聊聊高斯概率分布的<b class='flag-5'>数学公式</b>

    如何入门面向自动驾驶领域的视觉Transformer

    理解Transformer背后的理论基础,比如自注意力机制(self-attention), 位置编码(positional embedding),目标查询(object query)等等,网上的资料比较杂乱,不够系统,难以通过
    的头像 发表于 07-09 14:35 446次阅读
    如何入门面向自动驾驶领域的视觉<b class='flag-5'>Transformer</b>?