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

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—> CV 微信技术交流群

转载自:CSIG文档图像分析与识别专委会

b7be43b978c472382363d5e31ffe9417.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解码器。

6ec1bb7dd0d70669e1c4b61a1602c075.png

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

二、方法原理简述

CNN编码器

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

位置编码

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

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

f0df899f6cf04440c768c019394cbab3.png

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

fe6c72ca9d57569a6a66b653799a6cd5.png

其中c9600d26afc8a528100b6c513bfb6d2a.png679aa389e439bed07439827dc21d4625.png代表了输入图像特征的尺寸。

注意力精炼模块(ARM)

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

f329bad59fff8ee9d82ecd4dd9f741f2.png

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

ce08d51a8213b459b92017951d79bc83.png

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

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

作者定义了一个将注意力权重7354cdf085f7089abdcebfc7f2abe5b9.png作为输入,输出为精炼矩阵caa6c54bbf52cbe3f13efd229f0ddedf.png的函数a7fe85273912ab7eb5d2072f1c962ee7.png

73ef7a34b93da3bc8137277134477192.png

其中4fbd71ff515e2a6fea110ee65d9067b5.png是在时间步e45ecb1df579619adb9b0e28453e9caa.png时的注意力权重。72dd97dcef8a2360706f22541304770f.png代表一个卷积核,*代表卷积操作。99cf1f37501a0488b11a48f8ab1b704d.png是一个偏置项,f94530a44cf5ea642373d8a33af17295.png是一个线性投影矩阵。

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

覆盖注意力

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

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

608de1e6c72fc2279c14a8227e3622b6.png

其中2c4b9f33202fee8ee887966b5225fb06.png代表了精炼后的点积结果。5d89f92cacd43f1b1677ca450992e05f.png代表在j层精炼后的注意力权重。

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

a2d1ae196a7941b0291af6e4dcdf9968.png

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

24ed24c04f0415da707138fa9ace5bc8.png

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

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

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

721aa3a0c6c780d176c4fded2b0bf76b.png

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

表2 各模块消融实验

81d66d24aede1d32f83c88e30aa78299.png

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

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

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

8eab64ef3f761a9676776081a2be3214.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

撰稿:杨文韬 编排:高 学

审校:殷 飞 发布:金连文

 
 

点击进入—> CV 微信技术交流群

CVPR/ECCV 2022论文和代码下载

 
 

后台回复:CVPR2022,即可下载CVPR 2022论文和代码开源的论文合集

后台回复:ECCV2022,即可下载CVPR 2022论文和代码开源的论文合集

后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF

目标检测和Transformer交流群成立
扫描下方二维码,或者添加微信:CVer222,即可添加CVer小助手微信,便可申请加入CVer-目标检测或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测或者Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

▲扫码或加微信号: CVer222,进交流群
CVer学术交流群(知识星球)来了!想要了解最新最快最好的CV/DL/ML论文速递、优质开源项目、学习教程和实战训练等资料,欢迎扫描下方二维码,加入CVer学术交流群,已汇集数千人!

▲扫码进群
▲点击上方卡片,关注CVer公众号
整理不易,请点赞和在看
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值