当前位置: 首页 > 专利查询>河海大学专利>正文

基于局部感知递归神经网络的字符级语言模型预测方法技术

技术编号:19122761 阅读:160 留言:0更新日期:2018-10-10 05:31
本发明专利技术公开一种基于局部感知递归神经网络的字符级语言模型预测方法,使用递归神经网络的处理形式,将三层网络按层次组合在一起,低层次获取局部字符间的特征,高层次获取文本的语义特征,从而使新模型具有更强的信息综合能力,且更容易处理较长的数据序列。该方法使用BPTT‑RNN(递归神经网络反向传播算法)有监督的方法训练;首先使用adadelta(自适应学习率调整)优化训练至测试集BPC低于1.45,使之快速收敛,再使用学习速率0.0001、动量为0.9的SGD(随机梯度下降)优化方法训练,以获得较好的测试结果。

【技术实现步骤摘要】
基于局部感知递归神经网络的字符级语言模型预测方法
本专利技术属于自然语言处理领域,具体是一种基于局部感知递归神经网络的字符级语言模型预测方法。
技术介绍
递归神经网络是一种极具表达能力的动态模型,因为RNN有高维度隐藏的非线性内部状态,使得它能够从先前处理过的信息中抽取先验的依赖信息。理论上,一个隐藏状态足够大的RNN能够生成任意复杂度的序列,并且已经证明在给定任意数量隐藏神经元的情形下RNN是图灵完备的;但实际上,标准的RNN不能存储较长的已有输入序列信息,所以尽管RNN的能力对人们很具有吸引力,但内部隐藏状态经过多次递归处理后变得不稳定,梯度极易消失或膨胀。这使得图灵完备的RNN的应用受到限制。2011年Sutskever等人采用RNN的一个变种来训练字符级语言模型,并取得当时最好的性能,此后Graves通过大量的实验表明了递归神经网络强大的序列结构信息捕获能力;2015年Mikolov分别使用前向神经网络、最大信息熵、n-gram在单词级别和字符级别给出效果对比。许多研究成果表明,与传统的前向神经网络模型或概率模型相比,递归神经网络更适合处理数据序列窗口较宽的字符级神经网络语言模型。然而,传统的多层递归神经网络各层的形式类似,功能类同,这使得每层递归神经网络的职能难以划分,也不容易确定需要要的分层数量及各层的神经元数量;且当数据输入传统多层递归神经网络时,每个timestep,数据单纯由底层神经网络向上一层神经网络传输,数据信息流入方式单一,难以处理较长的数据序列。
技术实现思路
本专利技术的目的是针对现有技术存在的问题,提供一种基于局部感知递归神经网络(LA-RNN)的字符级语言模型预测方法,通过将三层类似递归神经网络(RNN)的网络结构按一定层次组合在一起,由低层到高层使每一层负责不同层次的信息处理,从而使新模型具有更强的信息综合能力,从而使得模型更容易处理较长的数据序列。为实现上述目的,本专利技术采用的技术方案是:一种基于局部感知递归神经网络的字符级语言模型预测方法,包括以下步骤:步骤A,数据预处理,将PTB数据分为训练、验证和测试三种数据集,对所述三种数据集包含的所有字符按ASCII码进行排序,再将所述数据集的字符向前错位1步位置,按索引表示生成目标集;步骤B,神经网络构建,所述局部感知递归神经网络包括依次非线性连接的a隐藏层、b隐藏层及h隐藏层;所述局部感知递归神经网络后面依次连接神经元数量为102的全连接层、ReLU层、神经元数量为102的全连接层、ReLU层、神经元数量为51的全连接层以及SoftMax回归层;步骤C,神经网络训练,首先使用adadelta优化训练至测试集BPC低于1.45,再使用学习速率0.0001、动量为0.9的SGD优化方法训练,如果训练时在测试集上的BPC值连续两次没有下降,则学习速率减半;通过训练数据的前向传播计算每个节点的值,通过与目标期望值的比较,计算出损失函数,然后进行误差的反向传播,由输出层开始逐层计算各层神经元的输出误差,使用所述步骤C中的方法训练神经网络,得到最终模型训练结果,根据误差梯度下降法来调节各层的权值和阈值,使修改后的网络最终输出接近期望值。具体地,所述a层为输入预处理层,用于对输入数据进行预处理;所述b层为短期信息提取层,用于a层和h层提取信息作为输入数据;所述h层为长期信息综合层,用于输出和反馈数据;所述ReLU层为激活函数,用于快速收敛网络,防止梯度弥散,节省计算量。具体地,步骤A中所述按索引表示的方法为通过OneHot层将数据用51维的字符向量表示,所述OneHot层与局部感知递归神经网络的前端通过神经元数量为51的全连接层连接。具体地,所述步骤B中局部感知递归神经网络通过以下公式构建:at=Tanh(Wa[xt,at-1,bt-1]+ba),f1t=Sigmoid(Wf1[at,bt-1]+bf1),i1t=Sigmoid(Wi1[at,bt-1]+bi1),bt=i1t⊙Wbaat+f1t⊙Wbbbt-1+bb,f2t=Sigmoid(Wf2[xt,bt,ht-1]+bf2),i2t=Sigmoid(Wi2[xt,bt,ht-1]+bi2),ht=f2t⊙Whhht-1+i2t⊙Tanh(Wh[xt,bt]+bh);其中,t表示数据处理时的每个时间步,Tanh为层a、层b、层c之间的激活函数,W为矩阵,Sigmoid为设置在局部感知递归神经网络后面的激活函数,用于缓慢收敛网络,x为预处理数据,⊙为对应元素质相乘操作符(Elementwisemultiplication)。在所述局部感知递归神经网络LA-RNN模型中,相比于传统的RNN模型,除细胞状态h外,所述LA-RNN增加了细胞状态b和a以及相应的Elementwise“门”操作f1、i1、f2、i2。f1为层a到层b的遗忘门,i1为层a到层b的输入门,f2为层b到层h的遗忘门,i2为层b到层h的输入门;f1、f2根据相应的输入信息遗忘掉b、h中不再需要的状态信息,而i1、i2根据相应的输入信息决定哪些输入信息存储到b、h中的状态中。围绕局部细胞状态a所形成的RNN用于获取局部的输入流信息,取决于要收集的局部信息长度,也可以加入f0、i0用于更精确的控制细胞状态a;围绕细胞状态b形成的RNN用来获取长期的输入流信息;围绕细胞状态h形成的RNN中引入了输入流x到h的peephole链接,这使得细胞状态b中保存的流信息得到一定程度的修正。细胞状态h、b与“门”之间简单的Elementwise线性操作使得细胞状态信息更容易长期保存。具体地,步骤B所述中局部感知递归神经网络的三个隐藏层之间均添加了Dropout层,用于减少过拟合,公式如下:at=Tanh(WaD([xt,at-1,bt-1])+ba),f1t=Sigmoid(Wf1D([at,bt-1])+bf1),i1t=Sigmoid(Wi1D([at,bt-1])+bi1),bt=i1t⊙WbaD(at)+f1t⊙WbbD(bt-1)+bb,f2t=Sigmoid(Wf2D([xt,bt,ht-1])+bf2),i2t=Sigmoid(Wi2D([xt,bt,ht-1])+bi2),ht=f2t⊙WhhD(ht-1)+i2t⊙Tanh(WhD([xt,bt])+bh);其中,D算子表示对参数进行Dropout操作。具体地,所述Dropout层的舍弃概率设为0.25,通过舍弃部分神经元来防止网络过拟合。具体地,所述步骤B中a层、b层和h层神经元数量分别为51、102和512。具体地,所述损失函数采用负对数似然函数NLL。与现有技术相比,本专利技术的有益效果是:(1)本专利技术的三层递归神经网络中,上层神经网络以类似窥孔的方式从下层甚至原始数据直接或取数据,并自动调整各层传入数据的权重,可以有效地处理较长的数据序列;(2)本专利技术的三层递归神经网络明确划分了输入预处理层(a层)、短期信息提取层(b层)和长期信息综合层(h层),a、b、h隐藏层神经元数量分别为51、102、512,各层神经网络之间分工明确,从而使该模型具有更强的信息综合能力,同时也提升了该模型预测的准确度。附图说明图1为本专利技术基于LA-RNN的字符级语言模型预测流程框图;本文档来自技高网...
基于局部感知递归神经网络的字符级语言模型预测方法

【技术保护点】
1.一种基于局部感知递归神经网络的字符级语言模型预测方法,其特征在于,包括以下步骤:步骤A,数据预处理,将PTB数据分为训练、验证和测试三种数据集,对所述三种数据集包含的所有字符按ASCII码进行排序,再将所述数据集的字符向前错位1步位置,按索引表示生成目标集;步骤B,神经网络构建,所述局部感知递归神经网络包括依次非线性连接的a隐藏层、b隐藏层及h隐藏层;所述局部感知递归神经网络后面依次连接神经元数量为102的全连接层、ReLU层、神经元数量为102的全连接层、ReLU层、神经元数量为51的全连接层以及SoftMax回归层;步骤C,神经网络训练,首先使用adadelta优化训练至测试集BPC低于1.45,再使用学习速率0.0001、动量为0.9的SGD优化方法训练,如果训练时在测试集上的BPC值连续两次不再降低,则学习速率减半;通过训练数据的前向传播计算每个节点的值,通过与目标期望值的比较,计算出损失函数,然后进行误差的反向传播,由输出层开始逐层计算各层神经元的输出误差,使用所述步骤C中的方法训练神经网络,得到最终模型训练结果,根据误差梯度下降法来调节各层的权值,使修改后的网络的最终输出接近期望值。...

【技术特征摘要】
1.一种基于局部感知递归神经网络的字符级语言模型预测方法,其特征在于,包括以下步骤:步骤A,数据预处理,将PTB数据分为训练、验证和测试三种数据集,对所述三种数据集包含的所有字符按ASCII码进行排序,再将所述数据集的字符向前错位1步位置,按索引表示生成目标集;步骤B,神经网络构建,所述局部感知递归神经网络包括依次非线性连接的a隐藏层、b隐藏层及h隐藏层;所述局部感知递归神经网络后面依次连接神经元数量为102的全连接层、ReLU层、神经元数量为102的全连接层、ReLU层、神经元数量为51的全连接层以及SoftMax回归层;步骤C,神经网络训练,首先使用adadelta优化训练至测试集BPC低于1.45,再使用学习速率0.0001、动量为0.9的SGD优化方法训练,如果训练时在测试集上的BPC值连续两次不再降低,则学习速率减半;通过训练数据的前向传播计算每个节点的值,通过与目标期望值的比较,计算出损失函数,然后进行误差的反向传播,由输出层开始逐层计算各层神经元的输出误差,使用所述步骤C中的方法训练神经网络,得到最终模型训练结果,根据误差梯度下降法来调节各层的权值,使修改后的网络的最终输出接近期望值。2.根据权利要求1所述的一种基于局部感知递归神经网络的字符级语言模型预测方法,其特征在于,步骤A中所述按索引表示的方法为通过OneHot层将数据用51维的字符向量表示,所述OneHot层与局部感知递归神经网络的前端通过神经元数量为51的全连接层连接。3.根据权利要求1所述的一种基于局部感知递归神经网络的字符级语言模型预测方法,其特征在于,步骤B中所述局部感知递归神经网络通过以下公式构建:at=Tanh(Wa[xt,at-1,bt-1]+ba),f1t=Sigmo...

【专利技术属性】
技术研发人员:刘惠义王刚陶颖
申请(专利权)人:河海大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1