数学公式识别论文(二):Image-to-Markup Generation with Coarse-to-Fine Attention

上节我们介绍到了Model部分,我们在接着往下阅读:

Convolutional Network

卷积网络图像的视觉特征是通过与最大池层交错的多层卷积神经网络提取的。 现在,该网络体系结构已成为标准。 我们专门针对Shi等人使用的网络进行建模。 (2015)用于图像的OCR(规格在表1中给出)。 与最近的OCR工作(Jaderberg等,2015; Lee&Osindero,2016)不同,我们不使用最终的全连接层(Ioffe&Szegedy,2015),因为我们想保留CNN功能的局部性。 为了使用视觉注意力。 CNN接受原始输入,并生成尺寸为D×H×W的特征网格V where,其中D表示通道数,H和W是结果特征图的高度和宽度。

Row Encoder

在图像字幕中,CNN功能按原样使用。 但是,对于OCR,编码器必须定位源图像内的相对位置,这一点很重要。 在过去的工作中,这种本地化由CTC处理,实际上将源划分为多个区域。 相反,我们暗中允许编码器通过在CNN功能的每一行上运行RNN来定位其输入。 事实证明,此扩展对于性能至关重要。

形式上,递归神经网络(RNN)是参数化函数RNN,它递归地将输入向量和隐藏状态映射到新的隐藏状态。 在时间t,以以下方式用输入vt更新隐藏状态:ht = RNN(ht-1,vt;θ),其中h0为初始状态。 实际上,RNN有许多不同的变体。 但是,长期的短期存储网络(LSTM)(Hochreiter&Schmidhuber,1997)已被证明对大多数NLP任务非常有效。 为简单起见,我们将模型描述为RNN,但所有实验均使用LSTM网络。

在此模型中,通过在输入的每一行上运行RNN,从V created创建新要素网格V。 对于所有行h∈{1,…,H}和列w∈{1,…,W},将新特征递归定义为Vhw = RNN(Vh,w-1,Vhw)。 为了捕获垂直方向上的顺序信息,我们对每行使用可训练的初始隐藏状态Vh0,我们将其称为位置嵌入。

Decoder

解码器然后仅由解码器基于网格V生成目标标记令牌{yt}。解码器被作为条件语言模型进行训练,以给出给定历史记录和注释的下一个令牌的概率 。 该语言模型是在解码器RNN之上定义的,

p(yt+1|y1, . . . , yt, V) = softmax(Woutot)

这里ot = tanh(Wc [ht; ct]),Wout,Wc是学习的线性变换。 向量ht用于总结解码历史:ht = RNN(ht-1,[yt-1; ot-1])。 上下文向量ct用于捕获注释网格中的上下文信息。 我们将在下一节中介绍如何计算ct。

4. Attention in Markup Generation

模型的准确性取决于能否跟踪图像的下一个当前位置以生成标记,该位置通过关注的上下文向量ct传递。形式上,我们定义一个潜在的分类变量zt∈{1,···,H}×{1,···,W}来表示模型正在参与哪个单元格。 如果我们假设访问注意力分布zt〜p(zt),则上下文定义为对源端特征的期望:

ct =􏰁p(zt =(h,w))Vhw

在实践中,将注意力分布参数化为模型的一部分。 我们考虑三种形式的注意力:标准,分层和从细到精。

层次注意

当从图像生成目标符号时,我们可以从最后生成的符号中很有可能推断出可能出现的粗糙区域。 因此,除了细网格外,我们还在图像上加上了一个网格,这样每个单元格都属于一个较大的区域。 在生成标记时,我们首先关注粗糙网格以获取相关的粗糙单元,然后关注内部精细单元以获取上下文向量,这是一种称为分层注意的方法。

5. Dataset Construction

用于手写识别的合成数据我们的主要结果集中在渲染标记上,但我们也考虑了识别手写数学的问题。 由于完成该任务的标签数据很少,因此我们还合成了IM2LATEX-100K数据集的手写体。 我们通过用从Detexify的训练数据中提取的手写符号替换所有单个符号来创建此数据集6。 我们使用与原始数据集中相同的公式集,但是在渲染每个符号时,我们从Detexify中随机选择一个相应的手写符号。 图3中显示了一个合成手写的示例。请注意,尽管此数据集中的图像看起来像手写公式,但它们无法捕获某些方面,例如基线变化(Nagabhushan&Alaei,2010)。 我们将此数据集用作在小的标签数据集上手写公式识别的预训练步骤。

6. Experiments

最后,我们针对CROHME 2013和2014共享任务,将我们的方法与其他模型进行了手写数学表达式的比较,并进行了其他实验。两年的训练集相同,由8,836个训练表达式组成(尽管团队也使用了外部数据)。数据集与我们提供的图像不在同一个域中,并且是针对基于笔划的OCR设计的。为了解决这些差异,我们采用了两个扩展:(1)通过渲染笔划将数据转换为图像,并通过随机调整大小和旋转符号来增强数据,(2)我们还使用模拟的IM2LATEX-100K手写数据集对a大型域外模型,然后在此CROHME数据集上进行微调。

我们的核心评估方法是检查渲染的标记输出图像xˆ与真实图像x的准确性。主要评估报告了黄金图像和预测图像之间的精确匹配渲染,此外,我们还检查了原始图像的精确匹配精度以及消除空白列后的值。7我们还包括标准内在文本生成器-在标记化和标准化金数据上的度量指标,条件语言模型的困惑和BLEU得分(Papineni等,2002

Implementation Details

完整的模型被端到端地训练以最大化训练数据的可能性。 除了训练数据之外,没有为模型提供有关标记语言或生成过程的其他信息。 为了从看不见的图像生成标记,我们在测试时间使用光束大小为5的光束搜索。 没有采用进一步的硬约束。

原始图像仅裁剪到公式区域,并在顶部,左侧,右侧和底部分别填充8个像素。 为了提高效率,我们将所有图像缩减为原始尺寸的一半。 为了方便批处理,我们将图像分为相似的大小,并用空格填充。8所有较大的图像,具有150个以上标记的LaTeX公式或无法解析的图像都将在训练和验证过程中被忽略,但在 测试。

7. Results

主要实验结果如表2顶部所示,比较了图像到标记任务的不同系统。 INFTY系统在文本准确度方面可以做得很好,但是在精确匹配图像的质量上却表现不佳。 神经CTC系统的不良结果证实了我们的期望,即在这种情况下严格的从左至右的假设是不合适的。

我们重新实现了图像字幕CAPTION的效果更好,将数字提高到50%以上。 我们带有RNN编码器的标准注意力系统IM2TEX将该值提高了75%以上,从而在此任务上实现了高精度。 LaTeX归一化器可提供几个点的精度增益,并实现高归一化的BLEU。 这表明尽管现实世界中的LaTeX模棱两可,但解码器LM仍能很好地学习。
在这里插入图片描述
Analysis

为了更好地理解标准IM2TEX模型各部分的作用,我们进行了消融实验,从模型中删除了不同的功能,如表3所示。最简单的模型是LaTeX上的基本(无条件)NGRAM LM,其达到大约8的复杂度。简单地切换到LSTM-LM可以将值减小为5,这可能是由于其具有对并行级和嵌套级进行计数的能力。这些值非常低,表明仅在LaTeX中就具有很强的规律性。使用CNN重新添加图像数据,可将复杂度降低到1.18。添加编码器LSTM会使1.12的增益很小,但最终精度却有很大差异。**添加位置嵌入(每行可训练的初始状态)会带来很小的收益。**刻苦的注意力导致困惑度的小幅增加。我们还考虑了训练数据对绩效的影响。图4通过标准注意显示了具有不同训练集大小的系统的准确性。与许多神经系统一样,该模型非常耗费数据。为了使模型达到≥50%的精度,至少需要16k训练示例。
在这里插入图片描述
最后,图5说明了几个常见错误。从质量上讲,该系统在困难的LaTeX结构上非常准确。通常,表达式的结构保留一个或两个符号识别错误。我们发现最常见的影响表示的错误来自字体或大小问题,例如使用小括号代替大括号,使用标准数学字体代替转义或使用mathcal。
在这里插入图片描述

8. Conclusion

我们为呈现标记的OCR提出了一个基于视觉注意的模型。 我们还引入了一个新的数据集IM2LATEX-100K,它为该任务提供了测试平台。 为了减少注意力的复杂性,我们提出了一个从粗到细的注意力层,该层通过使用图像的粗略视图来选择区域,并使用其中的细粒度单元格。 这些贡献为结构化文本OCR的任务提供了新的视角,并显示了数据驱动的模型可以在不了解任何语言的情况下有效。 粗到精的关注机制是通用的,并且直接适用于其他领域,包括将建议的粗到精的关注层应用于其他任务,例如文档摘要,或者将建议的模型与神经推理机(例如内存)组合 网络。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值