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

    文章

    1226

    浏览量

    43839
  • ARM
    ARM
    +关注

    关注

    135

    文章

    9611

    浏览量

    394338
  • 编码器
    +关注

    关注

    45

    文章

    4022

    浏览量

    143728
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【米尔全志T153开发板评测】手写数字识别

    【米尔全志T153开发板评测】手写数字识别 本文介绍了米尔全志 T153 开发板结合 MNIST 数据集和 ONNX 模型实现手写数字识别的项目设计,包括准备工作、环境搭建、MNIST
    发表于 05-19 20:53

    零基础手写大模型资料2026

    。这种矩阵运算模式贯穿整个模型,包括注意力计算、前馈网络等核心组件。 2. 注意力机制:动态权重分配 Transformer的核心创新在于自注意力
    发表于 05-01 17:44

    HM博学谷狂野AI大模型第四期

    上的数学公式往往晦涩难懂。本课程的科技深度在于,它不满足于理论讲解,而是带领学员从零开始,用底层代码手写实现 Transformer 的每一个组件。(看讠果aixuetang。xyz) 这是一种“降维打击
    发表于 05-01 17:30

    云天励飞完成DeepSeek-V4系列模型关键机制适配验证

    4月24日,DeepSeek-V4 系列模型发布。围绕该模型 CSA/HCA 混合注意力机制带来的新型计算需求,云天励飞依托自研 GPNPU 架构及 IFWA 智能融合软件栈,通过 PyTorch 插件 torch_ifwa,完成了面向 GPNPU 平台的关键
    的头像 发表于 04-30 17:09 5255次阅读

    【瑞萨AI挑战赛】手写数字识别模型在RA8P1 Titan Board上的部署

    。 3.2 模型网络结构设计 选择轻量级卷积神经网络结构,核心由卷积层+池化层+全连接层组成,无复杂的残差结构与注意力机制,确保模型可在端侧高效推理,网络结构如下: 输入层:接收28×28×1的灰度图像
    发表于 03-15 20:42

    算法工程师需要具备哪些技能?

    ResNet、VGG)。RNN/LSTM:序列建模(如时间序列预测、NLP中的文本生成)。Transformer:自注意力机制(如BERT、GPT)。 模型调优正则化:L1/L2正则化
    发表于 02-27 10:53

    Transformer 入门:从零理解 AI 大模型的核心原理

    字 │└─────────────────────────────────┘│ │↓│ │┌─────────────────────────────────┐│ ││2️⃣ Transformer Block(×12) ││← 理解语义关系 ││• 注意力
    发表于 02-10 16:33

    【正点原子STM32N647开发板试用】--手写识别

    本篇讲述触摸屏手写识别数字及大小写字母。一.实现原理 触摸显示屏在有触摸时显示并记录触摸轨迹,触摸松开后,进行手写识别。 二.代码准备 1.屏显功能 RGB屏显示功能资源文件在Driv
    发表于 02-01 18:26

    自然场景下注意力如何耳周脑电可靠监测

    HUIYING自然听觉注意力概述听觉注意力是大脑在复杂听觉场景中选择相关信息、抑制无关信息的重要认知功能。传统研究多在实验室内使用笨重设备与人工刺激进行,限制了其生态效度。本研究采用语音包络跟踪、被
    的头像 发表于 12-05 18:03 4381次阅读
    自然场景下<b class='flag-5'>注意力</b>如何耳周脑电可靠监测

    小白学大模型:大模型加速的秘密 FlashAttention 1/2/3

    Transformer架构中,注意力机制的计算复杂度与序列长度(即文本长度)呈平方关系()。这意味着,当模型需要处理更长的文本时(比如从几千个词到几万个词),计算时间和所需的内存会急剧增加。最开始
    的头像 发表于 09-10 09:28 5041次阅读
    小白学大模型:大模型加速的秘密 FlashAttention 1/2/3

    【「DeepSeek 核心技术揭秘」阅读体验】+看视频+看书籍+国产开源大模型DeepSeekV3技术详解--1

    Cache 瓶颈问题。 我们将结合左侧的架构图和右侧的数学公式,一步步进行推导和解释。 1. 技术背景和核心思想 问题: 标准的 Transformer 在处理长文本时,需要缓存所有过去 token
    发表于 08-23 15:20

    【「DeepSeek 核心技术揭秘」阅读体验】第三章:探索 DeepSeek - V3 技术架构的奥秘

    一、模型架构 在阅读第三章关于 DeepSeek 的模型架构部分时,我仿佛打开了一扇通往人工智能核心构造的大门。从架构图中,能清晰看到 Transformer 块、前馈神经网络、注意力机制等模块
    发表于 07-20 15:07

    对话张丽萍 AI磁芯损耗建模应用还有多远?

    AI技术的出现给磁芯损耗的建模提供了新的方向与机会。 过去磁芯损耗建模主要依赖于基于测试数据的数学拟合公式,这些公式在针对正弦波、PWM波激
    的头像 发表于 07-10 15:22 1013次阅读
    对话张丽萍  AI磁芯损耗<b class='flag-5'>建模</b>应用还有多远?

    基于LockAI视觉识别模块:手写数字识别

    手写数字识别是一种经典的模式识别和图像处理问题,旨在通过计算机自动识别用户手写的数字。 本文将教会你如何使用基于RV1106的 LockAI
    发表于 06-30 16:45

    基于LockAI视觉识别模块:手写数字识别

    手写数字识别是一种经典的模式识别和图像处理问题,旨在通过计算机自动识别用户手写的数字。本文将教会你如何使用基于RV1106的LockAI视觉
    的头像 发表于 06-30 15:44 1343次阅读
    基于LockAI视觉<b class='flag-5'>识别</b>模块:<b class='flag-5'>手写</b>数字<b class='flag-5'>识别</b>