ECCV 2022 CoMER: 基于Transformer与覆盖注意力机制建模的手写数学公式识别(已开源)...

d2fae056312e74c335a026786300caea.png

本文简要介绍发表在ECCV 2022上关于手写数学公式识别的论文《CoMER: Modeling Coverage for Transformer-based Handwritten Mathematical Expression Recognition》。

该论文针对现有基于Transformer的数学公式识别方法中存在注意力覆盖不足的问题,提出了一种新的注意精炼模块(ARM),将RNN模型中广泛采用的覆盖注意力机制巧妙地应用在Transformer中,可以在不影响并行性的前提下,利用过去的对齐信息精炼注意权重。

另外,文章通过提出自覆盖和交叉覆盖两种模块,利用来自当前层和前一层的过去对齐信息,从而更好地利用覆盖信息。相关代码已开源在https://github.com/Green-Wood/CoMER

一、研究背景

手写数学公式识别是将包含数学表达式的图像转换为结构表达式,例如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解码器。

0b247dc358d88b575677273d5b20f864.png

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

二、方法原理简述

CNN编码器

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

位置编码

与RNN解码器不同,由于Transformer解码器的Token之间不具有空间位置关系,额外的位置信息是必要的。在论文中,作者与BTTR[1]一致,同时使用图像位置编码和字符位置编码。

对于字符位置编码,作者使用Transformer[2]中引入的1D位置编码。给定编码维数d,位置p,特征维索引i,则字符位置编码向量c7cfac9b523e9c1493be67929666c05d.png可表示为:

262d8bce6cc8425f87631a7d68eaf18f.png

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

7ba266be632cba5a5212cebfdcebf548.png

其中82e59a6be4d8c99c9ce2f0174152513e.pngf9c63ce214219e66c20dc2ed64b1a774.png代表了输入图像特征的尺寸。

注意力精炼模块(ARM)

如果在Transformer中直接采用RNN式的覆盖注意力机制。那么将会产生一个具有12a0b04e798c476b1a8bc87af8e0603f.png空间复杂度的覆盖矩阵a7a050eebe225a13d61b86835c9b22ca.png,这样的大小是难以接受的。问题的瓶颈在于覆盖矩阵需要先与其他特征向量相加,再乘以向量d6788041444f4f91e1793f1bf4cd2039.png。如果我们可以先将覆盖矩阵与78b7c0a6f8b4374238e196612e2069f2.png相乘,再加上LuongAttention[4]的结果,空间复杂度将大大降低到9a8756e1e1721bd4d55a29ce3d7f3592.png。因此作者将注意力机制修改为:

e04a01351742cb3f868bbe7b3214d0df.png

其中相似向量5a1264afa7d1e5950809361d5d8f5dc9.png可分为注意项和精炼项0a8e801a8ea31addbb8de84f9fac5d27.png。需要注意的是,精炼项可以通过覆盖函数直接由累积a719471aa91aded88b324307e16e5734.png向量生成,从而避免了具有为维数为a7015d70fd0d282184700ec5e429c51b.png的中间项。作者将上式命名为注意力精炼框架。

4e667934113e3673de3a0b97a1abc86a.png

图2 注意精炼模块(ARM)的整体结构

为了在Transformer中使用这一框架,作者提出了如图2所示的注意精炼模块(ARM)。可以将Transformer中的点积矩阵3afbac923ba4b4310a33955048b341a4.png作为注意项,精炼项矩阵R需要从经过Softmax后的注意权值A中计算出来。作者使用了注意权值A来提供历史对齐信息,具体的选择会在下一小节介绍。

作者定义了一个将注意力权重e0a315057cf361c90311e965ebc7d89e.png作为输入,输出为精炼矩阵27e1335df88ccec7e7c9442117b83213.png的函数c61210543f2091f931fafb3929cdf478.png

9ca38b65e78e6a0e31f0e13a4c6568ee.png

其中5d47343d3c5635242c1b7cfbb6b5b49d.png是在时间步2b15fb3c2c52fd525d7ce357bc26663a.png时的注意力权重。5d88df83bce57ebfa5ca28c665625334.png代表一个卷积核,*代表卷积操作。c7e8b02883473e14debc2ea545c31aa3.png是一个偏置项,685ce06586e559d07dfb6d5452ffbf3b.png是一个线性投影矩阵。

作者认为函数05482b2fa70328efb580ae84f01a7fc8.png可以提取局部覆盖特征来检测已解析区域的边缘,并识别传入的未解析区域。最终,作者通过减去精炼项R来达到精炼注意力项E的目的。

覆盖注意力

本节将介绍注意权重A的具体选择。作者提出了自覆盖、交叉覆盖以及融合覆盖三种模式,以利用不同阶段的对齐信息。

自覆盖: 自覆盖是指使用当前层生成的对齐信息作为注意精炼模块的输入。对于当前层j,首先计算注意权重254d6f243495ae0aeaeb18cc2d14cb7d.png,并对其进行精炼。

9f2fb3af05ef5269563587aaa622dc6d.png

其中6b3a4c80e287d32612671cee7c3d83a6.png代表了精炼后的点积结果。b4e2a23f540494342475e7f335a32a5a.png代表在j层精炼后的注意力权重。

交叉覆盖:作者利用Transformer中解码层相互堆叠的特性,提出了一种新的交叉覆盖方法。交叉覆盖使用前一层的对齐信息作为当前层ARM的输入。j为当前层,我们使用精炼后的注意力权重74396598c5e4544a764649e583cb1b09.png之前7368812450b38a48d204a65da3220e43.png层来精炼当前层的注意力项。

674df33017f13028a7a2ce9fd085d174.png

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

5532636651ff2ff70e092e39464663bd.png

其中fceef388a67fe9e45e46f5e5976062f5.png表示来自当前层的注意权重与来自前一层的精炼注意权重进行拼接。

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

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

c8bf44b153ee8e6b2706c15b5574bdec.png

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

表2 各模块消融实验

e679a7e70b511c4422584fc176ec10f7.png

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

24e32a5818059dcda40d314ab4dec2a0.png图3 不同算法在CROHME 2014数据集上不同长度正确率的对比

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

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

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

四、总结及讨论

作者受RNN中覆盖注意力的启发,提出将覆盖机制引入到Transformer解码器中。提出了一种新的注意精炼模块(ARM),使得在Transformer中进行注意力精炼的同时不损害其并行计算特性成为可能。同时还提出了自覆盖、交叉覆盖和融合覆盖的方法,利用来自当前层和前一层的过去对齐信息来优化注意权重。

实验证明了作者提出的CoMER缓解了覆盖不足的问题,显著提高了长表达式的识别精度。作者认为其提出的注意精炼框架不仅适用于手写数学表达式识别。ARM可以帮助精炼注意权重,提高所有需要动态对齐的任务的对齐质量。为此,作者打算将解码器中的ARM扩展为一个通用框架,用于解决未来工作中的各种视觉和语言任务(例如,机器翻译、文本摘要、图像字幕)。

五、相关资源

  • CoMER: Modeling Coverage for Transformer-based Handwritten Mathematical Expression Recognition

    论文地址: https://arxiv.org/pdf/2207.04410.pdf

    代码地址:https://github.com/Green-Wood/CoMER

  • When Counting Meets HMER: Counting-Aware Network for Handwritten Mathematical Expression Recognition

    论文地址: https://arxiv.org/pdf/2207.11463.pdf

    代码地址:https://github.com/LBH1024/CAN

  • Syntax-Aware Network for Handwritten Mathematical Expression Recognition

    论文地址:https://openaccess.thecvf.com/content/CVPR2022/papers/Yuan_Syntax-Aware_Network_for_Handwritten_Mathematical_Expression_Recognition_CVPR_2022_paper.pdf

    代码地址:https://github.com/tal-tech/SAN

  • Handwritten Mathematical Expression Recognition via Attention Aggregation based Bi-directional Mutual Learning

    论文地址: https://ojs.aaai.org/index.php/AAAI/article/download/19885/19644

    代码地址:https://github.com/XH-B/ABM

  • Handwritten Mathematical Expression Recognition with Bidirectionally Trained Transformer

    论文地址: https://arxiv.org/pdf/2105.02412.pdf

    代码地址:https://github.com/Green-Wood/BTTR

参考文献

[1] Zhao, Wenqi, et al. "Handwritten mathematical expression recognition with bidirectionally trained transformer." International Conference on Document Analysis and Recognition. Springer, Cham, (2021).

[2] Vaswani, Ashish, et al. "Attention is all you need." Advances in neural information processing systems 30 (2017).

[3] Carion, Nicolas, et al. "End-to-end object detection with transformers." European conference on computer vision. Springer, Cham, (2020).

[4] Luong, M.T., Pham, H., Manning, C.D.: Effective approaches to attention-based neural machine translation. In: Empirical Methods in Natural Language Processing (2015).

[5] Ding, Haisong, Kai Chen, and Qiang Huo. "An encoder-decoder approach to handwritten mathematical expression recognition with multi-head attention and stacked decoder." International Conference on Document Analysis and Recognition. Springer, Cham, (2021).

[6] Li, Zhe, et al. "Improving attention-based handwritten mathematical expression recognition with scale augmentation and drop attention." 2020 17th International Conference on Frontiers in Handwriting Recognition (ICFHR). IEEE, (2020).


原文作者: Wenqi Zhao,  Liangcai Gao

撰稿:杨文韬

编排:高 学

审校:殷 飞

发布:金连文


免责声明:(1)本文仅代表撰稿者观点,撰稿者不一定是原文作者,其个人理解及总结不一定准确及全面,论文完整思想及论点应以原论文为准。(2)本文观点不代表本公众号立场。

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
手写数学公式识别中的Transformer是一种用于处理手写数学表达式的神经网络模型。该模型通过关注全局上下文信息和局部细节来识别手写数学公式中的符号和结构。Transformer模型在手写数学公式识别中的应用有两篇相关论文。 第一篇论文是"Handwritten Mathematical Expression Recognition with Bidirectionally Trained Transformer",该论文详细介绍了使用双向训练Transformer进行手写数学表达式识别的方法。论文提出了一种基于Transformer的多层注意力机制,可以捕捉到数学公式中符号之间的复杂关系,并实现了出色的识别性能。 第二篇论文是"Multi-scale Attention with Dense Encoder for Handwritten Mathematical Expression Recognition",该论文提出了一种基于多尺度注意力和密集编码器的方法,用于提高手写数学公式识别的准确性和鲁棒性。该方法通过引入多个注意力机制和密集编码器,可以有效地捕捉到数学公式中的局部和全局信息,从而实现更准确的识别结果。 这些论文的研究工作对于解决手写数学公式识别中的注意力不准确和复杂结构等问题具有重要意义。相关论文的代码已经开源,可以在相关论文的地址中找到。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [手写数学公式识别: 基于注意力聚合和双向交互学习的算法ABM(AAAI 2022 Oral)](https://blog.csdn.net/moxibingdao/article/details/124464298)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [ECCV 2022 | 白翔团队提出CAN:手写数学公式识别新算法](https://blog.csdn.net/amusi1994/article/details/126188495)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值