一种简化的门控单元神经网络的制作方法

文档序号:16934863发布日期:2019-02-22 20:36阅读:331来源:国知局
一种简化的门控单元神经网络的制作方法

本发明属于深度学习领域,具体涉及一种简化的门控单元神经网络。



背景技术:

随着互联网技术的迅猛发展,神经网络的研究工作不断深入,已经取得了很大的进展,其在模式识别、智能机器人、自动控制、预测估计、生物、医学、经济等领域已成功地解决了许多现代计算机难以解决的实际问题,表现出了良好的智能特性。

传统的神经网络模型,如bp神经网络等,由于其结构原因容易产生梯度消失、梯度爆炸、过拟合等问题,使得应用该模型预测时往往泛化能力弱;再者,由于其并不能对时间序列上的变化进行建模,从而导致预测精度差。lstm(longshorttermmemory)神经网络作为近几年取得重大突破的网络模型,避免了神经网络反向传导的梯度消失问题,且能够学习时序数据之间的长短时间关联关系,对于输入的时序数据自动决定历史数据对预测数据的贡献。而gru(gatedrecurrentunit)作为lstm的一种变体,保持了lstm的效果同时又简化其结构,受到广泛关注。



技术实现要素:

本发明的目的在于提供一种能简化模型复杂度,提高系统泛化能力的改进gru神经网络—ogru神经网络,克服gru结构复杂、每个参数更新都涉及到与整体网络状态相关的信息等问题,消除其不利影响,增强gru神经网络的泛化性能。

本发明的目的是这样实现的:

一种简化的门控单元神经网络,其特征在于,包含以下步骤:

步骤一:对输入数据集进行数据清洗,选择经典数据集,如iris数据集;此过程处理数据不平衡问题、归一化以及冗余数据处理问题;

数据不平衡问题的处理:首先分析正负样本比例,其次根据数据集大小采用不同的采样方法处理;如果数据量较充足,采取欠采样的方法,通过减少样本数据较多的类的数量来平衡数据集;如果数据量较少,采取过采样的方法,通过增加数量较少的类的数量来平衡数据集;

归一化处理:将需要处理的数据经过处理后,限制在一定范围内;归一化是为了后面数据处理的方便,其次是保证程序运行时收敛加快;根据不同占比采取不同归一化方式处理,若某一特征占比高,删除该特征;

处理冗余数据:处理缺失后,根据预测的具体问题分析并提取特征,对主成分进行分析,去掉冗余特征数据,防止其干扰训练结果;

步骤二:利用数据预处理后的数据集训练ogru神经网络,建立预测模型:

ogru神经网络由输入层、输出层、隐含层组成,隐含层由ogru神经元构成,ogru神经网络的输入数据为经过数据预处理后的的t时刻的数据,输出数据为预测的结果;ogru是在gru的基础上简化而来;

标准lstm单元包括输入门inputgate、遗忘门forgetgate、输出门outputgate和cell单元;而标准的gru则是lstm的变体,gru单元组合了遗忘门和输入门为一个“更新门”,它合并了神经元状态和隐层状态,只有更新门和重置门;设输入序列为(x1,x2,…,xt),则在t时刻更新门、重置门、标准gru单元输出计算公式如下所示:

zt=σ(wz*[ht-1,xt])(1)

rt=σ(wr*[ht-1,xt])(2)

nt=tanh(w*[rt*ht-1,xt])(3)

ht=(1-zt)*ht-1+zt*nt(4)

其中zt表示t时刻更新门的输出;wt表示输入和ht-1之间的权重;rt表示t时刻重置门的输出;wr表示输入和ht-1之间的权重;其中ht-1表示t-1时刻标准gru单元输出;xt表示t时刻的输入的数据;nt表示t时刻用tanh层来创建的一个新的候选值向量,并将其加入到当前状态中;w表示更新门的输出zt和输入之间的权重;ht表示t时刻标准gru单元的输出,更新当前神经元状态,把前一层状态ht-1与(1-zt)相乘,丢弃需要丢弃的信息,加上zt与nt相乘,就是新的候选值,即标准gru的输出;σ为sigmoid激活函数,sigmoid与tanh为两种神经网络常用的神经元激活函数;

在更新门做出改进,将原更新门输入中的ht-1更改为ht-1与rt相乘,即用重置门的输出来调整更新门,对其进行反馈;多加一次更新迭代,通过控制同一时刻低层的记忆单元向邻近高层记忆单元的信息流传输,以求实现预测结果的高精准;提出一种基于标准gru改进的变体神经网络,ogru神经网络;

ogru是gru的变体,它组合重置门与输入,对更新门进行“更新”并输出;设输入序列为(x1,x2,…,xt),则在t时刻更新门、重置门、标准ogru单元输出计算公式如下所示:

rt=σ(wr*[ht-1,xt])(5)

zt=σ(wz*[ht-1*rt,xt])(6)

nt=tanh(w*[rt*ht-1,xt])(7)

ht=(1-zt)*ht-1+zt*nt(8)

yt=σ(wo*ht)(9)

其中,公式(5)、公式(7)以及公式(8)与标准gru中公式(2)、公式(3)以及公式(4)一致,参数说明不再赘述;不同的是更新门公式(6)与输出结果公式(9),zt表示t时刻更新门的输出;wt表示输入数据和ht-1与rt乘积之间的权重;yt表示t时刻ogru神经网络的输出,即预测结果,wo表示ht的权重;

训练ogru神经网络的目标是使得网络的预测输出yt+1和实际的输出相等,定义网络的损失函数如公式(10)所示:

通过梯度下降法最小化损失函数l可以训练出ogru网络中的权值和偏置,得到预测模型;

步骤三:获取数据集采用步骤一同样的方法进行数据预处理过程,然后输入步骤二所获得的ogru预测模型进行模型预测,得到预测结果;

获取t时刻数据集的输入数据dt,以及最近一次时间以前的状态数据dt-1,dt-2,...,dt-n;利用步骤一中方法,对dt,dt-1,dt-2,...,dt-n进行数据的预处理;将经过预处理过的dt,dt-1,dt-2,...,dt-n数据输入到步骤二所获得的ogru预测模型中,获取预测结果进行反归一化后,得到t时刻神经网络预测结果即输出结果。

与现有技术相比,本发明的有益效果是:

本发明克服传统gru神经网络结构过于复杂,泛化能力差的问题,并且应用ogru建立精确高效的预测模型,解决传统方法训练时间过长问题。

附图说明

图1为基于ogru神经网络的预测模型框图;

图2为标准gru神经网络结构图;

图3为ogru神经网络结构图;

图4为ogru神经网络训练流程示意图。

具体实施方式

下面结合附图对本发明作出详细说明:

本发明属于深度学习领域,具体涉及一种基于gru神经网络改进的深度学习方法,即一种简化的门控单元神经网络—ogru(optimizedgatedrecurrentunit)神经网络。

本发明提出一种基于gru改进的ogru神经网络模型,如图(1)所示,该模型包括三个部分,即数据预处理阶段、模型训练阶段和模型预测阶段。

一、数据预处理阶段:

步骤a1:对输入数据集进行数据清洗,可选择经典数据集,如iris数据集。此过程处理数据不平衡问题、归一化以及冗余数据处理问题。

步骤a11:数据不平衡问题的处理,首先分析正负样本比例,其次根据数据集大小采用不同的采样方法处理。如果数据量较充足,可采取欠采样的方法,通过减少样本数据较多的类的数量来平衡数据集;如果数据量较少,可采取过采样的方法,通过增加数量较少的类的数量来平衡数据集。

步骤a12:归一化处理。将需要处理的数据经过处理后,限制在一定范围内。归一化是为了后面数据处理的方便,其次是保证程序运行时收敛加快。根据不同占比采取不同归一化方式处理,若某一特征占比高,删除该特征。

步骤a12:处理冗余数据。处理缺失后,根据预测的具体问题分析并提取特征,对主成分进行分析,去掉冗余特征数据,防止其干扰训练结果。

步骤a2:利用数据预处理后的数据集训练ogru神经网络,建立预测模型:

ogru神经网络由输入层、输出层、隐含层组成,隐含层由ogru神经元构成,ogru神经网络的输入数据为经过数据预处理后的的t时刻的数据,输出数据为预测的结果。ogru是在gru的基础上简化而来,标准gru单元结构如图(2)所示,ogru单元结构如图(3)所示。

标准lstm单元包括输入门(inputgate)、遗忘门(forgetgate)、输出门(outputgate)和cell单元。而标准的gru则是lstm的变体,gru单元组合了遗忘门和输入门为一个“更新门”,它合并了神经元状态和隐层状态,只有更新门和重置门,即图(2)中zt和rt。设输入序列为(x1,x2,…,xt),则在t时刻更新门、重置门、标准gru单元输出计算公式如下所示:

zt=σ(wz*[ht-1,xt])(1)

rt=σ(wr*[ht-1,xt])(2)

nt=tanh(w*[rt*ht-1,xt])(3)

ht=(1-zt)*ht-1+zt*nt(4)

其中zt表示t时刻更新门的输出;wt表示输入和ht-1之间的权重;rt表示t时刻重置门的输出;wr表示输入和ht-1之间的权重;其中ht-1表示t-1时刻标准gru单元输出;xt表示t时刻的输入的数据;nt表示t时刻用tanh层来创建的一个新的候选值向量,并将其加入到当前状态中;w表示更新门的输出zt和输入之间的权重;ht表示t时刻标准gru单元的输出,更新当前神经元状态,我们把前一层状态ht-1与(1-zt)相乘,丢弃我们需要丢弃的信息,加上zt与nt相乘,这就是新的候选值,即标准gru的输出;σ为sigmoid激活函数,sigmoid与tanh为两种神经网络常用的神经元激活函数。

考虑到预测模型应用时的复杂状态不同,一次筛选往往不足以丢弃我们想要丢弃的状态信息,且各时段的时序关联有异。因此,在更新门做出改进,将原更新门输入中的ht-1更改为ht-1与rt相乘,即用重置门的输出来调整更新门,对其进行反馈。多加一次更新迭代,通过控制同一时刻低层的记忆单元向邻近高层记忆单元的信息流传输,以求实现预测结果的高精准。故而我们提出一种基于标准gru改进的变体神经网络,ogru神经网络。

如图(3),ogru是gru的变体,它组合重置门与输入,对更新门进行“更新”并输出。设输入序列为(x1,x2,…,xt),则在t时刻更新门、重置门、标准ogru单元输出计算公式如下所示:

rt=σ(wr*[ht-1,xt])(5)

zt=σ(wz*[ht-1*rt,xt])(6)

nt=tanh(w*[rt*ht-1,xt])(7)

ht=(1-zt)*ht-1+zt*nt(8)

yt=σ(wo*ht)(9)

其中,公式(5)、公式(7)以及公式(8)与标准gru中公式(2)、公式(3)以及公式(4)一致,参数说明不再赘述。不同的是更新门公式(6)与输出结果公式(9),需要说明的是zt表示t时刻更新门的输出;wt表示输入数据和ht-1与rt乘积之间的权重;yt表示t时刻ogru神经网络的输出,即预测结果,wo表示ht的权重。

训练ogru神经网络的目标是使得网络的预测输出yt+1和实际的输出相等,定义网络的损失函数如公式(10)所示:

通过梯度下降法最小化损失函数l可以训练出ogru网络中的权值和偏置,得到预测模型。

二、具体的训练过程包括以下步骤

步骤a21,将预处理后的数据按照输入的时间顺序分为两组,奇数顺序的一组作为训练数据集、偶数顺序的一组作为验证数据集;

步骤a22,设定深度ogru神经网络训练参数。预设输入层神经元个数为6和输出层神经元个数为1,设定其隐含层的神经元个数为n,隐含层共3层,其中n=1,2,3,...nmax,nmax为预设值,根据具体情况做出相应改变;

步骤a23,依次在n的每个取值所对应的ogru神经网络结构上,利用训练集数据迭代训练神经网络中的权重以及偏置等参数,同时利用验证集对每次训练后的网络模型,采取经验评估。并更新、保存n的每个取值下性能最优的ogru神经网络,最终选取综合性能最优的ogru神经网络结构作为训练完成的预测模型。

步骤a23的流程如图4所示,可细化为以下步骤:

步骤a231:初始化外循环,预设n=1;设置误差值;

步骤a232:初始化内循环,预设迭代次数=1,设定当前最小误差为无穷大,设定最大迭代次数;

步骤a233:基于结构风险最小化原理,利用训练集进行ogru神经网络的训练;

步骤a234:将验证集数据输入步骤a233训练好的改进的ogru神经网络,利用经验风险函数进行验证误差的计算;

步骤a235:若验证误差大于或等于当前最小误差,则迭代次数+1;

若验证误差小于当前最小误差,则将验证误差的值赋值给当前最小误差,则把当前ogru神经网络看做最优网络,同时更新、存储最优网络的参数和验证集误差,进行下列判定:

若验证误差大于或等于设定误差,则迭代次数加1;若验证误差小于设定误差,则读取ogru神经网络的参数,并执行步骤a238;

步骤a236:若迭代次数小于或等于最大迭代次数,则执行步骤a233;

若迭代次数大于最大迭代次数则n=n+1,然后进行如下判断:

若n>nmax则执行步骤a237;若n≤nmax则执行步骤a232;

步骤a237:比较各个n取值时,其对应网络的验证误差,选取验证误差最小作为最优网络,并获取所对应的ogru神经网络的参数;

步骤a238:据步骤a237获得的ogru神经网络参数,确定ogru神经网络结构的预测模型。

三、模型预测阶段

步骤a3:获取数据集采用步骤a1同样的方法进行数据预处理过程,然后输入步骤a2所获得的ogru预测模型进行模型预测,得到预测结果。

步骤a31:获取t时刻数据集的输入数据dt,以及最近一次时间以前的状态数据dt-1,dt-2,...,dt-n;

步骤a32:利用步骤a1中方法,对dt,dt-1,dt-2,...,dt-n进行数据的预处理。

步骤a33,将经过预处理过的dt,dt-1,dt-2,...,dt-n数据输入到步骤a2所获得的ogru预测模型中,获取预测结果进行反归一化后,得到t时刻神经网络预测结果即输出结果。

反归一化如公式(11)所示:

本发明所述的一种基于gru改进的ogru神经网络模型,克服传统gru神经网络结构过于复杂,泛化能力差的问题,并且应用ogru建立精确高效的预测模型,解决传统方法训练时间过长问题。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1