首页 / 专利库 / 数学与统计 / 优化算法 / 梯度下降法 / 基于BLSTM的联机手写数学公式符号识别方法

基于BLSTM的联机手写数学公式符号识别方法

阅读:2发布:2021-01-31

专利汇可以提供基于BLSTM的联机手写数学公式符号识别方法专利检索,专利查询,专利分析的服务。并且本 发明 提供基于BLSTM的联机手写数学公式符号识别方法,对联机手写输入的数学公式,用隐性分割模型对数学公式符号进行处理及识别,然后进行公式分析。本发明基于双向长短时记忆 递归神经网络 模型设计联机手写数学公式符号识别过程,并使用时域连接模型标注输出的无分割公式序列。对多部件构成的复杂符号,根据ASCII码表转 化成 单字符标签,减少识别标签的不确定性,统一标签类型。本发明联机手写数学公式符号识别方法识别效果良好,不需对公式进行切分处理,减少了一般公式识别方法中的工作量。多部件复杂符号整体识别的方法有效,比单独识别的准确率有显著提高。,下面是基于BLSTM的联机手写数学公式符号识别方法专利的具体信息内容。

1.基于BLSTM的联机手写数学公式符号识别方法,其特征在于对联机手写输入的数学公式,用隐性分割模型对数学公式符号进行处理及识别,然后进行公式分析;
具体包括如下步骤:
1)联机手写数学公式预处理切分:预处理模完成笔迹归一化,再进行重采样及时间序列上的特征提取,具体使用隐性分割模型,通过重采样得到时间序列上的简单分割,每个采样点为分割片断,不需要在预处理时对公式进行精确切分;其中时间序列上的特征提取具体操作如下:在时序空间上对每个时间点上的重采样点提取如下几个特征:采样点x轴坐标,采样点y轴坐标,书写方向(cosθ,sinθ),笔迹曲率(cosα,sinα),以及是否为笔迹起落点;每个笔划开始点和结尾点的书写方向与曲率和相邻点一致;其中θ是当前采样点前后点连线与x轴正方向的夹,α是采样点前后两点的书写方向的夹角,sin和cos分别是正弦函数和余弦函数;
2)标签置换:使用整体识别方法,对多部件特殊符号进行整体标注,利用ASCII码表中的空位,将多部件特殊符号转换为单字符表达标签;具体操作如下:使用整体识别方法,对多部件特殊符号进行整体标注,利用一种专用于表达数字墨的数据格式InkML文件中LaTex(公式描述语言)标签,将所有数学公式中的符号根据ASCII码转置为单字符,具体做法如下:标签符号本身在ASCII码表中存在的则不改变,根据ASCII码将所有多字符标签转化为易于标记及识别的单字符标签;
另外,每当两点之间标签变化时,便在两者之间插入一个空白单元作为标签转换标志,因此除不同符号的91个标签之外,由于加入了空白单元,使用的标签共有92个;
3)用双向长短时记忆递归神经网络-时域连接分类器(BLSTM-CTC)组合模型进行数学公式字符识别:通过双向长短时记忆神经网络(BLSTM)实现数学公式序列字符在一维空间上的识别,并通过时域连接分类器(CTC)连接技术,对无分割公式序列进行标签,使时间序列上的采样点标签可以匹配到真值序列标签,从而将字符级别的识别结果通过时域连接模型上升到序列级别。
2.根据权利要求1所述的联机手写数学公式符号识别方法,其特征在于所述步骤(1)中笔迹归一化具体操作如下:使用笔划数目简单估计数学公式宽度,针对整条公式做大致范围内的归一化处理,克服书写公式大小不统一的问题。
3.根据权利要求1所述的联机手写数学公式符号识别方法,其特征在于所述步骤(3)中BLSTM模型结构及优化规则定义如下:使用BLSTM拓扑结构,神经网络模型中每个记忆模块含有一个记忆单元,隐藏层神经元在每个方向上的数目为100个,联机手写数学公式每个笔划重采样得到20个采样点,每个采样点取7个特征;对应神经网络输入层有7个神经元,输出层大小为92,其中91个基本标签及一个“空格”标签;BLSTM训练的正向与反向传播算法中,正向传播算法中输入序列在两个隐藏层中被排列成相反方向;输出层直到两个隐藏层全部将输入序列处理完毕后才会更新;反向传播算法中输出层的在整个时期以相反的方向在两个隐藏层传递反馈信息。
4.根据权利要求3所述的联机手写数学公式符号识别方法,其特征在于所述步骤(3)中BLSTM模型的正向传播算法操作步骤如下:
第一步,计算向后递归的由时间1到T隐藏LSTM神经元的状态值,保存所有时间点的神经元输出at;
第二步,计算向前递归的由时间T到1隐藏LSTM神经元的状态值,保存所有时间点的神经元输出
第三步,对每个时间点的两层隐藏神经的叠加
5.根据权利要求4所述的联机手写数学公式符号识别方法,其特征在于BLSTM-CTC神经网络模型进行数学公式字符识别特征在于所述步骤(3)中BLSTM模型的反向传播算法操作步骤如下:
第一步,在输出层中进行反向传播,存储每一个时刻损失函数的偏导δt;
第二步,使用δt在向前递归的隐藏层中由T到1做反向传播;
第三步,使用δt在向后递归的隐藏层中由1到T做反向传播。
6.根据权利要求1所述的联机手写数学公式符号识别方法,其特征在于所述步骤(3)中时域连接模型CTC模型结构及优化规则定义如下:
用CTC直接标记无分割序列,将BLSTM网络输出作为基于标签序列所有可能性的概率分布,通过条件限制给定的输入序列;通过给定的这个分布,目标方程可以直接获得正确标签的最大可能性;
CTC网络输出层的神经元数目比标签数量L多一个,一开始|L|个单元的激活函数为特定时间上观察到的相关标签的概率,多余单元的激活函数为观察到“空格”或无标签的概率,这些输出用输入序列定义了所有可能标签序列的校准路径概率,标签序列的所有概率值即可在不同校准路径概率求和时找到;
对于一个长度为T的输入序列x,定义一个拥有m个输入、n个输出的递归神经网络,并将m T n T m n
其权重向量定义为连续的映射Nw:(R) →(R) ,式中R ,R 分别是m维示输入和n维输出矢量,(Rm)T,(Rn)T是输入输出的转置矢量;令y=Nw(x)为网络输出序列, 为单元k在时刻t的输出激活; 也可看作标签k在时刻t上的概率,它通过长度为T的序列在L'T集合上定义了一个分布:
其中L'=L∪{空格},π为L'T中元素组成的路径,则πt为时刻t的π路径标签;
假设不同时间点的神经网络输出之间相互条件独立,给出网络内部状态,定义一个多对一的映射B:L'T→L≤T,L≤T为可能的标签集,然后,将所有的“空格”标签及重复标签从路径中移除,当神经网络识别标签从“空格”变到非“空格”标签或从一个标签转至另一标签时,上述方法对应输出一个新标签;最后通过B定义给定的标签l∈L≤T的条件概率为所有与之对应的路径的概率之和 式中为B-1为B的逆映射;
分类器的输出应为输入序列最有可能的标签序列 找到标签序列
的过程称作解码过程,采用前缀搜索解码法,通过修改前向后向算法来实现,高效计算出所有前缀标签连续扩展得到的标签序列的概率;
假设现有长度为r的序列q,用q1:p和qr-p+1:r分别定义最开始及最后的p个符号,定义前向变量αt(s)为在时刻t标签序列l1:s可能性总和:
αt(s)可从αt-1(s)和αt-1(s-1)递归计算出来,式中NT为路径集合;
在输出的标签路径中允许“空格”标签存在,于是得到扩展的标签序列集合l’,在开头结尾以及每对标签中间插入,l’的长度为2|l|+1,计算l’的前缀概率使所有的标签变化都介于空格标签及非空格标签之间,允许所有的前缀都以“空格”或是序列的第一个符号l(l1)开始,
给出前向矢量αt(s)的初始化规则: α1(s)=0, 其递归方
程为:
序列标签l在时刻T的概率为标签集合l’中所有不包含“空格”标签的概率总和:
p(l|x)=αT(|l'|)+αT(|l'|-1),
类似的后向矢量βt(s)则定义为在时刻t上序列ls:|l|的概率总和,其初始化及递归方程为:
初始化βt(s): βT(s)=0, 递归方程为:
其中:βT(s)=0, 及
上面的递归会导致计算机的向下溢出,需要对前向后向变量进行调节,定义前向变量:
定义后向变量:
为求解最大似然误差,需要将目标标签的概率取自然对数,通过调节,可以得到如下的公式:
最大似然训练的目的为同时最大化所有训练集中正确分类的对数概率,即最小化下述函数:
为通过梯度下降法训练网络,对网络的输出进行微分:
对于标签l,给定s及t时,前向后向矢量的目标为对应于标签序列l在t时刻通过s标签时所有路径的概率总和:
重写得到:
得到所有标签s及时刻t的概率总和:
网络输出的标签相互之间条件独立,通过在时刻t得到经过标签k的所有路径,得到p(l|x)关于 的偏导,如公式 所示,在单独的标签序列l中,
相同的标签有可能重复几次,定义标签k出现的位置集合为lab(l,k)={s:ls'=k},也有可能为空;
最终,通过softmax层反向传播梯度,进一步得到:
式中

说明书全文

基于BLSTM的联机手写数学公式符号识别方法

技术领域

[0001] 本发明属于模式识别人工智能技术领域,特别是涉及一种联机手写数学公式符号识别方法。

背景技术

[0002] 移动终端的大量普及,使直接通过手写输入数据的方法,成为人类与计算机进行互动的最自然的方式。数学公式是二维文档,需同时传递一维空间中的符号信息,和符号与符号间的空间信息。符号与空间位置不同表达不同含义。因此,手写数学公式识别是手写识别领域中最具挑战性的重要部分。
[0003] 目前数学公式输入主要依靠特殊的公式描述语言或公式编辑器。相比直接由手写输入的人机交互方法来说更加复杂和困难,不符合高速运转的现代生活节奏。20世纪60年代,有学者开始着手对数学公式识别进行研究,但受技术限制,数学公式识别发展缓慢。近些年,计算机技术高速发展,需要处理的公式、方程等信息越来越多,数学公式识别又重新引起科学界关注。全世界大学的研究者如德国工业大学、法国南特大学、美国麻省理工学院、加拿大皇后大学、捷克理工大学、日本东京大学等,纷纷加入联机手写数学公式识别研究中。联机手写数学公式识别竞赛(Competition  on  Recognition  of  Online Handwritten Mathematical Expressions,CROHME)于2011年开始举办,为全世界参赛者提供了用以研究的数据集,目的就是促进手写公式识别突破当前技术瓶颈
[0004] 目前比较流行的方法是使用模式识别的手段对数学公式中的符号进行识别及分类。例如,“汉王e粉笔”可在一般计算机上使用并识别略为繁复的数学表达式;数学公式可视编辑器Infty Editor是一款可处理复杂公式且输入简便的软件;法国Vision Object公司出品的一款基移动终端的手写数学计算器MyScript,简单直观,界面友好,可将手写公式转化为文本并提供计算结果,但对于一些特殊符号的识别不太好,且预设可以计算的功能因此设置了一些语法规定,可识别的数学公式自由度不高。

发明内容

[0005] 本发明的目的在于利用计算机处理方法,提供一种联机手写数学公式识别方法,不需进行复杂的数学公式显性切分,而采用双向长短时记忆递归神经网络-时域连接分类器(BLSTM-CTC)混合模型进行隐性简单切分,减少一般公式识别方法中的工作量,提高手写数学公式的识别精度
[0006] 本发明采用的技术方案如下。
[0007] 基于BLSTM的联机手写数学公式符号识别方法,对联机手写输入的数学公式,用隐性分割模型对数学公式符号进行处理及识别,然后进行公式分析;
[0008] 具体包括如下步骤:
[0009] 1)联机手写数学公式预处理切分:预处理模完成笔迹归一化,再进行重采样及时间序列上的特征提取,具体使用隐性分割模型,通过重采样得到时间序列上的简单分割,每个采样点为分割片断,不需要在预处理时对公式进行精确切分;
[0010] 2)标签置换:使用整体识别方法,对多部件特殊符号进行整体标注,利用ASCII码表中的空位,将多部件特殊符号转换为单字符表达标签;
[0011] 3)用双向长短时记忆递归神经网络-时域连接分类器(BLSTM-CTC)组合模型进行数学公式字符识别:通过双向长短时记忆神经网络(BLSTM)实现数学公式序列字符在一维空间上的识别,并通过时域连接分类器(CTC)连接技术,对无分割公式序列进行标签,使时间序列上的采样点标签可以匹配到真值序列标签,从而将字符级别的识别结果通过时域连接模型上升到序列级别。
[0012] 进一步地,步骤(1)中笔迹归一化具体操作如下:使用笔划数目简单估计数学公式宽度,针对整条公式做大致范围内的归一化处理,克服书写公式大小不统一的问题。
[0013] 进一步地,步骤(1)中时间序列上的特征提取具体操作如下:在时序空间上对每个时间点上的重采样点提取如下几个特征:采样点x轴坐标,采样点y轴坐标,书写方向(cosθ,sinθ),笔迹曲率(cosα,sinα),以及是否为笔迹起落点;每个笔划开始点和结尾点的书写方向与曲率和相邻点一致;其中θ是当前采样点前后点连线与x轴正方向的夹,α是采样点前后两点的书写方向的夹角,sin和cos分别是正弦函数和余弦函数。
[0014] 进一步地,步骤(2)具体操作如下:使用整体识别方法,对多部件特殊符号进行整体标注,利用一种专用于表达数字墨的数据格式InkML文件中LaTex(公式描述语言)标签,将所有数学公式中的符号根据ASCII码转置为单字符,具体做法如下:标签符号本身在ASCII码表中存在的则不改变,根据ASCII码将所有多字符标签转化为易于标记及识别的单字符标签;
[0015] 另外,每当两点之间标签变化时,便在两者之间插入一个空白单元作为标签转换标志,因此除不同符号的91个标签之外,由于加入了空白单元,使用的标签共有92个。
[0016] 进一步地,步骤(3)中BLSTM模型结构及优化规则定义如下:使用BLSTM拓扑结构,神经网络模型中每个记忆模块含有一个记忆单元,隐藏层神经元在每个方向上的数目为100个,联机手写数学公式每个笔划重采样得到20个采样点,每个采样点取7个特征;对应神经网络输入层有7个神经元,输出层大小为92,其中91个基本标签及一个“空格”标签;BLSTM训练的正向与反向传播算法中,正向传播算法中输入序列在两个隐藏层中被排列成相反方向;输出层直到两个隐藏层全部将输入序列处理完毕后才会更新;反向传播算法中输出层的在整个时期以相反的方向在两个隐藏层传递反馈信息。
[0017] 进一步地,步骤(3)中BLSTM模型的正向传播算法操作步骤如下:
[0018] 第一步,计算向后递归的由时间1到T隐藏LSTM神经元的状态值,保存所有时间点的神经元输出at;
[0019] 第二步,计算向前递归的由时间T到1隐藏LSTM神经元的状态值,保存所有时间点的神经元输出
[0020] 第三步,对每个时间点的两层隐藏神经的叠加
[0021] 进一步地,BLSTM-CTC神经网络模型进行数学公式字符识别特征在于所述步骤(3)中BLSTM模型的反向传播算法操作步骤如下:
[0022] 第一步,在输出层中进行反向传播,存储每一个时刻损失函数的偏导δt;
[0023] 第二步,使用δt在向前递归的隐藏层中由T到1做反向传播;
[0024] 第三步,使用δt在向后递归的隐藏层中由1到T做反向传播。
[0025] 进一步地,所述步骤(3)中时域连接模型CTC模型结构及优化规则定义如下:
[0026] 用CTC直接标记无分割序列,将BLSTM网络输出作为基于标签序列所有可能性的概率分布,通过条件限制给定的输入序列;通过给定的这个分布,目标方程可以直接获得正确标签的最大可能性;
[0027] CTC网络输出层的神经元数目比标签数量L多一个,一开始|L|个单元的激活函数为特定时间上观察到的相关标签的概率,多余单元的激活函数为观察到“空格”或无标签的概率,这些输出用输入序列定义了所有可能标签序列的校准路径概率,标签序列的所有概率值即可在不同校准路径概率求和时找到;
[0028] 对于一个长度为T的输入序列x,定义一个拥有m个输入、n个输出的递归神经网络,m T n T m n并将其权重向量定义为连续的映射Nw:(R) →(R) ,式中R ,R分别是m维示输入和n维输出矢量,(Rm)T,(Rn)T是输入输出的转置矢量;令y=Nw(x)为网络输出序列, 为单元k在时刻t的输出激活; 也可看作标签k在时刻t上的概率,它通过长度为T的序列在L'T集合上定义了一个分布:
[0029]
[0030] 其中L'=L∪{空格},π为L'T中元素组成的路径,则πt为时刻t的π路径标签;
[0031] 假设不同时间点的神经网络输出之间相互条件独立,给出网络内部状态,定义一个多对一的映射B:L'T→L≤T,L≤T为可能的标签集,然后,将所有的“空格”标签及重复标签从路径中移除,当神经网络识别标签从“空格”变到非“空格”标签或从一个标签转至另一标签≤T时,上述方法对应输出一个新标签;最后通过B定义给定的标签l∈L 的条件概率为所有与之对应的路径的概率之和 式中为B-1为B的逆映射;
[0032] 分类器的输出应为输入序列最有可能的标签序列 找到标签序列的过程称作解码过程,采用前缀搜索解码法,通过修改前向后向算法来实现,高效计算出所有前缀标签连续扩展得到的标签序列的概率;
[0033] 假设现有长度为r的序列q,用q1:p和qr-p+1:r分别定义最开始及最后的p个符号,定义前向变量αt(s)为在时刻t标签序列l1:s可能性总和:
[0034]
[0035] αt(s)可从αt-1(s)和αt-1(s-1)递归计算出来,式中NT为路径集合;
[0036] 在输出的标签路径中允许“空格”标签存在,于是得到扩展的标签序列集合l’,在开头结尾以及每对标签中间插入,l’的长度为2|l|+1,计算l’的前缀概率使所有的标签变化都介于空格标签及非空格标签之间,允许所有的前缀都以“空格”或是序列的第一个符号l(l1)开始,
[0037] 给出前向矢量αt(s)的初始化规则: 其递归方程为:
[0038]
[0039] 序列标签l在时刻T的概率为标签集合l’中所有不包含“空格”标签的概率总和:
[0040] p(l|x)=αT(|l'|)+αT(|l'|-1),
[0041] 类似的后向矢量βt(s)则定义为在时刻t上序列ls:|l|的概率总和,其初始化及递归方程为:
[0042]
[0043] 初始化βt(s): 递归方程为:
[0044]
[0045] 其中: 及
[0046] 上面的递归会导致计算机的向下溢出,需要对前向后向变量进行调节,定义前向变量:
[0047]
[0048] 定义后向变量:
[0049]
[0050] 为求解最大似然误差,需要将目标标签的概率取自然对数,通过调节,可以得到如下的公式:
[0051]
[0052] 最大似然训练的目的为同时最大化所有训练集中正确分类的对数概率,即最小化下述函数:
[0053]
[0054] 为通过梯度下降法训练网络,对网络的输出进行微分:
[0055]
[0056] 对于标签l,给定s及t时,前向后向矢量的目标为对应于标签序列l在t时刻通过s标签时所有路径的概率总和:
[0057]
[0058] 重写得到:
[0059]
[0060] 得到所有标签s及时刻t的概率总和:
[0061]
[0062] 网络输出的标签相互之间条件独立,通过在时刻t得到经过标签k的所有路径,得到p(l|x)关于 的偏导,如公式 所示,在单独的标签序列l中,相同的标签有可能重复几次,定义标签k出现的位置集合为lab(l,k)={s:ls'=k},也有可能为空;
[0063]
[0064] 最终,通过softmax层反向传播梯度,
[0065] 进一步得到:
[0066]
[0067] 式中
[0068] 所述步骤(1)是联机手写数学公式预处理切分与特征提取,目的是完成笔迹归一化,重采样及时间序列上的特征提取步骤。用样本平滑处理消除大部分噪声。重采样将每一笔划限制在同样数目的采样点上,消除由于输入快慢造成采样点间距及数目的不同,避免由于被采集者书写太快或太慢造成的采样点冗余或不足的问题。归一化处理消除数学公式尺寸不同对识别带来的影响,字符预处理切分对手写数学公式简单均匀切片。
[0069] 本发明中每个笔划的重采样点数目为20个,这些拥有独立符号标记的点构成整个联机手写数学公式的序列。重采样之后进行数学公式的整体归一化处理,即对整条公式做大致范围内的归一化处理。通过对训练样本数据的统计,发现公式的长度和笔划数目正相关,因此本发明使用笔划数目简单估计数学公式宽度。经过重采样与粗略归一化后,需要对数据进行特征提取。本发明在时序空间上对每个时间点上的重采样点提取了如7维特征:采样点x轴坐标,采样点y轴坐标,书写方向(cosθ,sinθ),笔迹曲率(cosα,sinα),以及是否为笔迹起落点。每个笔划的开始点和结尾点的书写方向与曲率和相邻点一致。书写方向由当前采样点前后点连线与x轴正方向的夹角求得,笔迹曲率信息由当前采样点前后两点的书写方向的夹角求得。
[0070] 所述步骤(2)是标签置换,其目的是对多部件特殊符号进行整体标注,利用ASCII码表中的空位,将其转换为单字符表达标签,以提高多部件组合的特殊符号识别正确率。步骤(2)具体操作如下:使用整体识别方法,对多部件特殊符号进行整体标注,利用InkML(一种专门用于表达数字墨水的数据格式)文件中LaTex(一种公式描述语言)的标签,将所有数学公式中的符号根据ASCII(美国标准信息交换代码)码转置为单字符。
[0071] 本发明的基本原理是:利用双向长短时记忆递归神经网络模型BLSTM和时域路连接模型CTC实现联机手写数学公式符号识别,该发明包括联机手写数学公式预处理切分与特征提取、标签置换和神经网络模块字符识别。
[0072] 本发明与已有的方法相比,具有如下的优点和有益效果:
[0073] (1)、用BLSTM-CTC模型对联机手写数学公式符号进行隐性分割,简化识别过程;
[0074] (2)、根据样本笔划数目进行公式样本归一化,消除数学公式尺寸不同对识别带来的影响
[0075] (3)、采用多部件复杂符号整体识别方法,减少识别标签的不确定性;
[0076] (4)、构造ASCII码映射表,将复杂数学符号转化为单字符标签,并与LaTex公式表达对应,统一标签类型,具有很强的可操作性及可逆性。附图说明
[0077] 图1是本发明的字符识别模块神经网络训练流程图
[0078] 图2是本发明中特征提取步骤中书写方向特征示意图;
[0079] 图3是本发明中特征提取步骤中笔迹曲率(cosα,sinα)特征示意图;
[0080] 图4是本发明中隐性分割公式识别流程图及与显式分割方法的比较图。

具体实施方式

[0081] 下面结合附图对本发明做进一步的说明,实施本发明所用的数学公式识别设备可以采用手写板书写数学公式,用计算机进行公式识别,用纯平型显示器显示用户图形界面,可采用C语言编制各类处理程序,便能较好地实施本发明。
[0082] 利用数学公式的LaTex标签,将所有数学公式中的符号根据ASCII码转换为单字符,具体做法如下:
[0083] 标签符号本身在ASCII码表中存在的则不改变,如“0”到“9”、“a”到“z”及“A”到“Z”等数字、字母及单字符标签符号;其他包括“\sin”、“\pi”等特殊表达式符号,则如表1所示映射到ASCII码表中。这样即可根据ASCII码将所有多字符标签转化为易于标记及识别的单字符标签。例如,真值公式符号为“To=\sqrt2H-g”可转化为“To=^2H-g”。
[0084] 另外,每当两点之间标签变化时,便在两者之间插入一个空白单元作为标签转换标志,因此除不同符号的91个标签之外,由于加入了空白单元,本发明使用的标签共有92个。
[0085] 表1特殊符号LaTeX表示与ASCII码的映射表
[0086]
[0087] 所述步骤(3)是基于神经网络模型的数学公式符号识别,用BLSTM-CTC组合模型对数学公式序列进行识别。首先,构建双向长短时记忆神经网络模型(BLSTM),对联机手写公式的序列符号进行识别,输出每个时间点的标注信息。再通过CTC连接技术,对无显式精准字符分割的公式序列进行标注,使时间序列上的采样点标签匹配到真值序列标签。
[0088] 根据数学公式表达结构特征,定义BLSTM拓扑结构。每个记忆模块含有一个记忆单元,隐藏层单元数目为100。隐藏层数目为2,采用双向延伸,分别向前递归和向后递归。向前递归隐藏层的输出不与向后递归隐藏层的输入连接,而向后递归隐藏层的输出不与向前递归隐藏层的输入连接。它们是两层分别与输入层、输出层连接的独立隐藏层。输入层分别连接到隐藏层和输出层,而隐藏层输出时延后全连接到隐藏层和输出层。联机手写数学公式每个重采样点提取7维特征,对应神经网络输入层有7个神经元。输出层有92个神经元,对应91个基本标签及一个“空格”标签。
[0089] 两层隐藏层没有直接相连,各层权值分开训练,但需要在训练过程中将向前和向后信息保存。BLSTM训练的正向与反向传播算法如表2所示。正向传播算法中输入序列在两个隐藏层中被排列成相反方向。输出层直到两个隐藏层全部将输入序列处理完毕后才会更新。反向传播算法中输出层在整个时期以相反的方向在两个隐藏层传递反馈信息。
[0090] BLSTM模型的正向传播算法操作步骤如下:
[0091] 第一步,计算向后递归的由时间1到T隐藏LSTM神经元的状态值,保存所有时间点的神经元输出at;
[0092] 第二步,计算向前递归的由时间T到1隐藏LSTM神经元的状态值,保存所有时间点的神经元输出
[0093] 第三步,对每个时间点的两层隐藏神经的叠加。
[0094] BLSTM模型的反向传播算法操作步骤如下:
[0095] 第一步,在输出层中进行反向传播,存储每一个时刻损失函数的偏导δt;
[0096] 第二步,使用δt在向前递归的隐藏层中由T到1做反向传播;
[0097] 第三步,使用δt在向后递归的隐藏层中由1到T做反向传播。
[0098] 表2BLSTM正向反向传播算法表
[0099]
[0100]
[0101] 反向传播算法:
[0102]
[0103] 表中t是循环变量,T是迭代次数,for表达编程语言中的for循环。
[0104] 用时域连接模型CTC直接标记无分割序列,将BLSTM网络输出作为基于标签序列所有可能性的概率分布,通过条件限制给定的输入序列。通过给定的这个分布,目标方程可以直接获得正确标签的最大可能性。
[0105] CTC网络输出层的神经元数目比标签数量L多一个。一开始|L|个单元的激活函数为特定时间上观察到的相关标签的概率。多余单元的激活函数为观察到“空格”或无标签的概率。这些输出用输入序列定义了所有可能标签序列的校准路径概率。标签序列的所有概率值即可在不同校准路径概率求和时找到。
[0106] 对于一个长度为T的输入序列x,定义一个拥有m个输入、n个输出的递归神经网络,m T n T并将其权重向量定义为连续的映射Nw:(R) →(R) 。令y=Nw(x)为网络输出序列, 为单元k在时刻t的输出激活。 也可被看做标签k在时刻t上的概率,它通过长度为T的序列在L'T的集合上定义了一个分布:
[0107]
[0108] 其中L'=L∪{空格},π为L'T中元素组成的路径,则πt为时刻t的π路径标签。
[0109] 假设不同时间点的神经网络输出之间相互条件独立,给出网络内部状态。定义一个多对一的映射B:L'T→L≤T,L≤T为可能的标签集。然后,将所有的“空格”标签及重复标签从路径中移除。当神经网络识别标签从“空格”变到非“空格”标签或从一个标签转至另一标签时,上述方法对应输出一个新标签。最后通过B定义给定的标签l∈L≤T的条件概率为所有与之对应的路径的概率之和 式中为B-1为B的逆映射。
[0110] 分类器的输出应为输入序列最有可能的标签序列 找到标签序列的过程也称作解码过程,采用前缀搜索解码法,通过修改前向后向算法来实现,高效计算出所有前缀标签连续扩展得到的标签序列的概率。
[0111] 假设现有长度为r的序列q,用q1:p和qr-p+1:r分别定义最开始及最后的p个符号。定义前向变量αt(s)为在时刻t标签序列l1:s可能性总和:
[0112]
[0113] αt(s)可从αt-1(s)和αt-1(s-1)递归计算出来。
[0114] 在输出的标签路径中可以允许“空格”标签存在,于是得到扩展的标签序列集合l’,在开头结尾以及每对标签中间插入。l’的长度为2|l|+1。计算l’的前缀概率使所有的标签变化都介于空格标签及非空格标签之间。允许所有的前缀都以“空格”或是序列的第一个符号l(l1)开始。
[0115] 给出前向矢量αt(s)的初始化规则: 其递归方程为:
[0116]
[0117] 序列标签l在时刻T的概率为标签集合l’中所有不包含“空格”标签的概率总和:
[0118] p(l|x)=αT(|l'|)+αT(|l'|-1)
[0119] 类似的后向矢量βt(s)则定义为在时刻t上序列ls:|l|的概率总和,其初始化及递归方程为:
[0120]
[0121] 初始化βt(s): 递归方程为:
[0122]
[0123] 其中: 及
[0124] 在实际中,上面的递归会导致计算机的向下溢出,为避免这种情况,需要对前向后向变量进行调节。定义前向变量:
[0125]
[0126] 定义后向变量:
[0127]
[0128] 为求解最大似然误差,需要将目标标签的概率取自然对数。通过调节,可以得到如下的公式:
[0129]
[0130] 最大似然训练的目的为同时最大化所有训练集中正确分类的对数概率,即最小化下述函数:
[0131]
[0132] 为通过梯度下降法训练网络,对网络的输出进行微分:
[0133]
[0134] 对于标签l,给定s及t时,前向后向矢量的目标为对应于标签序列l在t时刻通过s标签时所有路径的概率总和:
[0135]
[0136] 重写得到:
[0137]
[0138] 则所有标签s及时刻t的概率总和:
[0139]
[0140] 网络输出的标签相互之间条件独立,通过在时刻t得到经过标签k的所有路径,得到p(l|x)关于 的偏导,如公式 所示。在单独的标签序列l中,相同的标签有可能重复几次,定义标签k出现的位置集合为lab(l,k)={s:ls'=k},也有可能为空。最终,通过softmax层反向传播梯度。
[0141] 网络输出的微分为:
[0142]
[0143] 式中,
[0144]
[0145] 本实例的基于双向长短时记忆递归神经网络模型的联机手写数学公式符号识流程图如附图1所示,数学公式通过手写板书进行手写输入采样,然后经过预处理切分及特征提取,对多部件复杂符号进行标签置换,转化为单字符标签。最后利用BLSTM-CTC组合模型对输入的手写数学公式进行隐性分割和识别。
[0146] 本发明中特征提取步骤中书写方向特征如附图2所示,书写方向由当前采样点前后点连线与x轴正方向的夹角求得。图中采样点的坐标位置为(x(n),y(n)),其方向角为θ(n),则方向特征用θ(n)的正弦sin和余弦cos值表示,计算如下:
[0147]
[0148]
[0149] 式中,
[0150] Δx(n)=x(n-1)-x(n+1)
[0151] Δy(n)=y(n-1)-y(n+1)
[0152]
[0153] 本发明中特征提取步骤中笔迹曲率(cosα,sinα)特征如附图3所示,笔迹曲率信息可由当前采样点前后两点的书写方向的夹角求得。图中采样点的坐标位置为(x(n),y(n)),当前采样点前后两点书写方向的夹角为α(n),则曲率特征用α(n)的正弦sin和余弦cos值表示,计算如下:
[0154] cosα(n)=cosθ(n-1)×cosθ(n+1)+sinθ(n-1)×sinθ(n+1)
[0155] sinα(n)=cosθ(n-1)×sinθ(n+1)+sinθ(n-1)×cosθ(n+1)
[0156] 式中,
[0157]
[0158]
[0159] Δx(n)=x(n-1)-x(n+1)
[0160] Δy(n)=y(n-1)-y(n+1)
[0161]
[0162] 本发明中公式隐性分割识别流程图及与显式分割方法的比较如附图4所示。隐性分割只对序列样本进行简单切分,将样本从左至右等量分开。本发明的联机手写数学公式,记录笔划及采样点信息。采样点通过时间顺序排列,通过时间点进行简易分割。对时间点提取7维特征,通过长短时记忆神经网络的识别输出数学公式的字符序列,进而使用时域连接分类技术(CTC)得到整个样本的精确分割。相比之下,显性分割模型识别流程需要对公式的各个符号部件进行精确分割,通过特征提取和分类器识别出每一个切片对应的字符,进而得到一串字符序列,完成识别工作。分割技术的精确度会直接影响到后续识别效果及公式重构。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈