基于端对端网络模型的手写公式识别

【www.zhangdahai.com--其他范文】

管延智 孙 浩 冯 帅 李梓源

(北方工业大学机械与材料工程学院 北京 100144)

手写公式识别技术在自动阅卷、拍照搜题、试题数字化等教育领域具有广泛的应用需求。公式本身复杂的二维结构、繁多的符号、符号的相似性与含义的多样性导致目前手写公式识别准确率的效果并不理想。Blostein等[1]首次针对数学符号识别问题提出了符号分析和结构处理的研究方法,主要分为符号识别的早期处理、符号分割、符号空间关系确定、逻辑关系确定等步骤。近年来随着计算机计算能力的显著提升和大数据时代的到来,基于神经网络的公式识别算法受到了研究者的青睐。Faure等[2]利用图像在X、Y轴上的投影,提出一种新型的数学符号分割方法,但是其在根号上的分割往往是不成功的,而且存在等号等符号的过度分割问题。王奕松[3]利用LSTM网络架构,构建了数学统计语言模型,通过改进基于坐标轴投影的符号分割方法,达到字符分割的目的,并基于外接矩形、点分布模式的特征提取,对数学解题语言中的根式、分式等做出判别来完成符号识别。而Cho等[4]在机器翻译领域提出了端对端的方法,其具有更好的优势,此方法由数据驱动而不再是传统的预定义方法,而且输入序列不需要与输出序列有严格的对应关系。最近的端对端模型研究也显示了该模型可以通过注意力机制自动训练提取手写公式中的符号而不需要分割的优势。

Zhang等[5]基于文献[4]提出了一种基于GRU[6](Gated Recurrent Unit)的编码器模型,并结合注意力机制可将在线手写公式转换为LaTeX。文献[7]使用CNN(Convolutional Neural Networks)代替了GRU编码器,可以实现离线手写公式图片转换的功能。此外,Deng等[8]提出了不同的网络模型结构,该模型使用CNN和多层RNN(Recurrent Neural Network)作为编码器,利用基于注意力机制的LSTM作为解码器,该模型在IM2LATEX-100K数据集上测试并取得了良好的性能,并证实在识别手写公式方面也有较好的性能[9]。后来Wang等[10]改进了文献[8]模型,利用Dense-net[11]来作为CNN编码,并通过联合图像通道与空间上的注意力机制[12]增强了注意力。Zhang等[13]将原图像大小增大两倍并使用双关注机制,从而提升了性能。

本文基于端对端网络架构,提出一种手写公式识别网络模型,在CNN编码采用稠密连接块(Dense-net)的结构,获取深度特征,并建立不同感受野来对手写公式图片进行大小特征提取,把握更多的全局信息。在RNN解码采用双向GRU,每一层中使用的双向单元使得RNN网络可以从符号之间的正向和反向捕获上下文,有助于捕获更复杂的语言语义。该网络可以获取不同特征,缓解了多次卷积后特征图分辨率较低导致部分文本缺失问题,并且能够更好地把握提取特征之间地前后关系,从而更好地识别手写公式。

端到端网络模型(encoder-decoder),也称为序列到序列结构(seq2seq),已成功应用于图像处理和文本处理这两个领域的交集。用于此类应用的编码器通常是卷积神经网络(CNN),它将输入图像编码为抽象特征,而解码器通常是循环神经网络(RNN),该神经网络代表一种语言模型,将编码器输出转换为从词汇表中提取的标记序列。这种体系结构使输入图像和输出序列的大小变得灵活,并且可以以端到端的方式进行训练。端到端模型已成功用于图像字幕和场景文本识别任务,并且在文献[8]中已成功地将基于注意力的端到端模型应用于将图像转换为LaTeX的问题上,这证明了该模型处理公式识别的能力。

1.1 Encoder编码单元

对图像特征提取的工作采用CNN网络,可以强化特征抓取,特别是在小型的训练网络。Dense-net作为一种新型卷积神经网络架构,在图像分类任务上表现出了出色的性能,因为它鼓励特征重用,加强了特征提取,促进梯度传播,并减少了参数数量。在数学公式识别任务中,由于数学公式复杂的二维结构,符号间上下文关系异常紧密可能在多个字符之后,上下文依然存在着联系,例如:d=sqrt{4^{2}-4}=2sqrt{3}中的等号前后的根号存在着紧密联系,所以对图像识别出的特征不能够有遗失。Dense-net就可以保证最大程度网络中各层之间直接连接,保证信息交流,为保持前馈性,每层都从所有先前的层中获取其他输入并将其自己的特征图传递给后续层。更重要的是,与Res-net[14]相比,前后层之间不通过求和再传递到层中,而是通过串联特征来组合特征,这样不仅仅是从网络的深度而是利用特征重用来挖掘网络的潜能。因此采用Dense-net作为encoder编码器特征提取的网络架构。而对于手写数学公式图片中不同符号特征分辨率不同的问题,建立了不同感受野来对特征进行提取的方法。

(1) 主要特征的提取。Dense-Net让网络的每一层的输入变成所有前面层的叠加(concat),然后把它的特征图传递给所有接下来的网络层。计算公式如下:

xl=Hl([x0,x1,…,xl-1])

(1)

式中:H表示层的卷积函数;
x0,x1,…,xl表示不同层的输出。主要特征提取网络中函数由BN(Batch Normalization)+ReLU+3×3 Conv(归一化+激活函数+3×3卷积)组成。网络中一个部分是下采样层,它用来改变特征图的大小,为了使得网络的下采样更便利,将网络分解为多个Dense Block,把介于两个Dense Block之间的网络层称为转换层,转换层主要进行卷积和池化操作。转换层由BN+1×1 Conv+2×2平均池化组成。

Dense-Net的网络层很窄,尽管每个网络层值输出k个特征图,但是它的输入会非常多。根据Res-Net网络结构,可以在3×3的卷积之前使用1×1的卷积来减少输入的特征图数量,从而提高计算效率。因此在网络中使用了1×1的卷积,一个网络层则由BN+ReLU+1×1 Conv+BN-ReLU+3×3 Conv(归一化+激活函数+1×1卷积+归一化+激活函数+3×3卷积)组成,其中每个1×1的卷积生成4 000幅特征图。参照dense-net网络架构,初等数学公式图片的主要特征提取过程如下:(1) 对输入图片进行7×7卷积,提取基本特征,对特征图进行归一化,通过ReLU激活函数进行非线性操作,最大值池化;
(2) 深度为16,增长率为24的dense块,每层深度间进行的是BN、ReLU、1×1卷积、BN、ReLU、3×3卷积;
(3) 转换层:BN、ReLU、1×1卷积核卷积、2×2平均池化。

主要特征提取网络总共设有3个dense块和转换块相连,dense块与转换块交替使用。每个dense块中有16层神经网络,后一层继承所有前层的特征,每个dense块的增长率为24。每个转换块由归一化、激活函数、1×1卷积、2×2平均池化组成,主要网络结构流程图如图1所示。

图1 主要特征提取网络流程

(2) 小特征的提取。虽然dense块的组合提取了图片集的特征,但是考虑到pooling层缩小了像素图的大小,降低了分辨率。由于手写数学公式符号的比例差异很大,在低分辨率的feature map中会丢失,因此提取每层特征的细节在手写初等数学公式识别中尤为重要。在多层池化后,小的视觉信息很容易消失,从而导致特征提取不足的后果。为了解决这项问题,采用并联一种大感受野的dense块,达到提供辨别低分辨率特征,又不遗失高分辨率特征的目的。大感受野的dense块可以感受更大的视觉信息,更贴近现实情况。根据一般情况,3个dense模块构成一组dense-net网络结构,为使网络达到紧凑,减少不必要的计算量,在2号dense块分支连接一个大感受野的dense块,用来提取小感受野中的特征,层数为8,增长率与之前相同,网络结构如图2所示。

图2 小特征提取网络流程

1.2 Decoder解码单元

Decoder是将输入序列(提取的特征)编码而成的带有语义的向量,与数据集真实label之间建立联系,得到预测序列结果的部分,其中应用最广泛的是RNN。接下来主要介绍label的词嵌入和RNN网络结构。

(1) Token embedding。为实现手写初等数学公式的识别,需要对label中出现的字符做一个字符表。为使得每一个数学公式的字符都有上下文,在本研究中为每一个label的前边都插入了一个起始符“”,每一个label后边都出入一个终止符“”。经过对数据集label中出现的字符进行统计,词典的大小为120。

字符表是LaTeX序列中的一个处理单元,用于简化公式转换器的设计,Label可以通过字符表被分割为字符y0,y1,…,yt。label字符编码可以以不同的表示形式馈入解码单元。一个简单的选择是将每个标记表示为one-hot向量,但是这样标记彼此正交,可能会丢失重要的语言语义。而公式识别类似于自然语言的单词,许多LaTeX字符相互关联。例如,“{”和“}”具有很高的相关性,所以它们需要根据LaTeX语法成对使用。所以在中添加NLP中常用的词嵌入[15]层,其中将字符yt投影到保留语义关系的高维向量Wt中:

Wt=embedding(yt)

(2)

这种嵌入是可训练的,并且能够捕获不同令牌之间的相互关系[15],更能表现公式识别中各个符号之间的联系。

(2) BiGRU。GRU基于LSTM循环网络[16],也可以解决简单循环神经网络中的存在的长依赖问题,但是较LSTM网络的门控制来得更为简洁,而且在多种序列到序列任务中表现也很好,所以GRU在自然语言处理问题的处理上使用也越来越频繁。LSTM网络中引入了三个门单元来控制信息的更新方式,其中输入门和遗忘门是互补的关系,用两个门就比较冗余,在改进的GRU网络中,将输出门和遗忘门合并成一个门,而且不引入额外的记忆单元ct,而是直接在当前状态ht和历史状态ct-1之间建立依赖关系。图3为GRU网络单元具体结构。

图3 GRU网络

图3中的更新门zt用于控制在历史状态信息中保留多少和从候选状态(hidden states)信息中接受多少,并传递给当前状态;
rt表示重置门,用来控制候选状态ht是否与上一时间状态的ht-1建立联系;
输入是xt,经过GRU网络输出为ht。

zt=σ(Wzxt+Uzht-1+bz)

(3)

rt=σ(Wrxt+Utht-1+br)

(4)

(5)

(6)

本模型中使用双向深层GRU单元的解码器网络,双向GRU有助于捕获更复杂的语言语义,并且在每一层中的双向单元有助于从符号之间的正向和反向捕获上下文。图4显示了本文模型中的双向GRU的结构。

图4 BiGRU结构

BiGRU的计算过程如下:

(7)

(8)

(9)

在NLP应用中,解码器的初始隐藏状态和单元状态通常是编码器的输出,但是由于本模型中编码器是CNN,不会产生这样的输出,因此解码器的信息性初始状态采用0初始化。由于CNN编码器不具有存储功能,而且RNN的初始状态不足以压缩所有来自编码器的信息,但注意力机制[17]已经证明可以解决这个问题。CNN编码对手写公式图片进行特征提取后,对特征建立相关联的上下文向量,这样才能馈入RNN解码网络。采用coverage机制[18]建立上下文词向量,这种机制可以解决序列到序列问题中预测序列经常有重复的现象,计算公式如下:

(10)

(11)

式中:VT、Wh、Ws、WC为权值矩阵;
b为偏置;
hi、st为隐藏状态;
tanh为激活函数;
ct是一个长度为输入长度的向量,包括前时刻输入第一个词权重的叠加和,输入第二个词权重的叠加和,以此类推。αti表示第i个词序列在时间t的权重,计算公式如下:

αti=βTtanh(W1ht-1+W2ei)

(12)

αti=softmax(αti)

(13)

ht=RNN(ht-1,ct)

(14)

预测概率公式如下所示,并表示词汇表V上下一个符号的概率分布:

P(yt)=(wtct)

(15)

完成数据集图片与真实label的训练模型后,虽然能够对图片特征预测出序列结果,但是预测过程需要通过上下文和上一个预测的单词,来预测下一个词。著名的贪心算法[19]如果存在着在预测序列中有一个单词预测的不准确,那么它会影响后面所有单词的预测的问题。而有时概率低的反而是真实label标签,考虑到在公式识别过程中,对识别结果准确度的要求较高,相对于只取一个概率最大的单词,范围预测[20]能够得到更合理的句子结果。在整个encoder-decoder端到端网络中,主要特征识别、编码、解码过程可简单用图5表示。

图5 手写公式识别模型简单数据流图

2.1 数据集组成

数据集来自谷歌CROHME标准公式识别数据集,CROHME竞赛分为四个任务,手写公式识别就是其任务之一。数据集中符号种类繁多、结构复杂,数量也会随着年份的增加而增多。本文采用的CROHME2016数据集,训练集数量为8 836幅公式图片,且所有标签均为LaTeX作为标记。在验证过程上,采用CROHME2014测试集作为验证集来评估模型框架的性能。并使用CROHME2016测试集来体现模型的泛化性能。具体实验数据集分布如表1所示。

表1 实验数据集分布

在一般深度学习图片识别任务中,为识别不同的特征,通常采用RGB三通道彩色图片作为输入,达到区别色彩的目的,而在手写数学公式识别中,数据集图片主要由黑白两部分进行组成,黑色为手写字迹,白色为背景,所以区别彩色对本任务帮助不大。而数据集图片的光照强度却对识别过程有着很大的影响,因此实验数据集图片均采用了彩色图转灰度图的预处理,降低了光照强度对识别结果的影响,同时减少了模型训练过程的运算量,提高了训练速度。

2.2 配置环境及超参数设置

实验所有环节均在Windows 10系统下进行,使用PyTorch深度学习框架。主要的网络的超参数设置如下:主要特征提取网络层数为16层,增长率k取24;
小特征提取网络层数为8层,增长率k取24;
编码单元dropout为0.2,embedding层维度为256;
BiGRU网络隐藏层数取256;
范围搜索长度为10。为使得计算机性能得到最大利用,batch_size大小为10,学习率即梯度下降步长为2e-2,学习率衰减因子为0.5,最大梯度裁减为5,损失函数采用交叉熵损失函数,优化器算法为Adam算法[21]。

2.3 结果及分析

图6为迭代计算350个epoch后利用tensorboardX库进行可视化,得到的损失函数loss变化曲线图。模型训练过程前期,loss曲线变化较快,在300多个epoch后,loss值趋于收敛状态,并在350多个epoch时达到局部极值。由此可以得出本模型对样本数据集的拟合状态较好,并没有出现梯度消失或者梯度爆炸等现象,损失函数达到了很好的收敛效果。

图6 验证集后60次准确率曲线

另一方面,模型训练过程中训练集准确率如图7所示。可以看出,准确率曲线逐渐收敛于95%。对于验证集,迭代350次后的准确率曲线如图8所示,可以看出验证集的准确率在逐步上升,期间虽有波动,但逐渐收敛于89%,说明参数设置有效提高了网络的稳健性,避免了训练过程中的过拟合现象,表明模型对验证数据也有比较好的表达能力。

图7 训练集准确率曲线

图8 验证集准确率曲线

针对在CROHME2016谷歌识别大赛中表现比较好的Wiris、Tokyo等算法[22],本模型在同一测试集上与上述几种算法和相关主流算法的准确率做了对比,结果如表2所示。其中MyScipt使用了额外的训练数据。可以看出本文提出的网络模型在手写公式识别任务上达到了深层特征提取的目的,有着较好的准确率,为51%,仅次于第一名的准确率67.65%,说明所提模型具有较好的泛化能力,能够自动获取图片中的特征,自动调节网络参数,达到模型的优化,有效避免了过拟合问题,提高了预测的稳健性,能够很好地解决手写数学公式的识别问题。

表2 与其他算法的对比

另外,图9为本文模型在测试集上的部分识别结果,可见本模型可以对输入的手写初等数学公式图像进行良好的识别,不同感受野的特征提取模块有效缓解了对于小分辨率文本出现特征丢失遗漏的现象,双向GRU网络有助于捕获公式结构复杂的语言语义,每一层中的双向单元从符号和词向量的正向和反向捕获上下文,在输入数学公式较长的情况下也能很好地完成识别任务。

图9 测试集部分识别结果

基于encoder-decoder端到端架构,提出一种手写公式识别网络模型,采用主流Dense-net网络,根据不同尺度的感受野,将特征提取分为主要特征提取和小特征提取,能够全面地表达输入图片中各个特征信息,缓解了多次卷积后特征图分辨率较低导致部分文本缺失以至于预测不准确的问题。双向GRU有效捕捉了编码特征向量和字符表向量的正反向的上下文关系,将复杂的公式语义关系紧密联系,对长公式也有较好的预测能力。本模型的超参数设置有效地避免了训练过程中模型梯度消失和梯度爆炸的问题,在350个epoch迭代过程中,并没有出现过拟合的现象,并在最后loss值和准确率都趋于收敛,本网络模型在PyTorch框架下,对训练集进行训练并在测试集中进行测试,最终模型在测试集上表现的准确率约为0.51,仅次于MyScipt的准确率,说明本文模型具有较好的泛化能力。

猜你喜欢 手写特征提取准确率 我手写我心故事作文·低年级(2021年12期)2021-12-21乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析健康之家(2021年19期)2021-05-23不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨医学食疗与健康(2021年27期)2021-05-132015—2017 年宁夏各天气预报参考产品质量检验分析农业科技与信息(2021年2期)2021-03-27抓住身边事吾手写吾心作文成功之路·小学版(2020年7期)2020-08-24基于Gazebo仿真环境的ORB特征提取与比对的研究电子制作(2019年15期)2019-08-27基于Daubechies(dbN)的飞行器音频特征提取电子制作(2018年19期)2018-11-14基于集成学习的MINIST手写数字识别电子制作(2018年18期)2018-11-14高速公路车牌识别标识站准确率验证法中国交通信息化(2018年5期)2018-08-21Bagging RCSP脑电特征提取算法自动化学报(2017年11期)2017-04-04

推荐访问:手写 公式 识别

本文来源:http://www.zhangdahai.com/shiyongfanwen/qitafanwen/2023/0724/629886.html

  • 相关内容
  • 热门专题
  • 网站地图- 手机版
  • Copyright @ www.zhangdahai.com 大海范文网 All Rights Reserved 黔ICP备2021006551号
  • 免责声明:大海范文网部分信息来自互联网,并不带表本站观点!若侵害了您的利益,请联系我们,我们将在48小时内删除!