一种基于神经网络的建模方法及装置转让专利

申请号 : CN202110099795.6

文献号 : CN112906291B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张本龚曹文洁时亚洲刘杰张承陈俊超原莉熊珍珍王婷

申请人 : 武汉纺织大学

摘要 :

本发明提供了一种基于神经网络的建模方法及装置,包括:至少有一个隐藏层采用循环神经网络RNN或长短期记忆网络LSTM或门控循环单元GRU的结构;按照预设规则将所有时刻分为增强时刻和非增强时刻;若当前时刻为非增强时刻,则根据当前时刻的前一时刻的状态,得到隐藏层在当前时刻的状态;若当前时刻为增强时刻,则根据当前时刻的前一时刻和前L个时刻的状态,L为第二预设数目,得到隐藏层在当前时刻的状态。本发明通过优化传统RNN网络的结构,改善了基于循环神经网络的模型的记忆能力不足和梯度反向传播困难等问题,提高了模型预测的准确性。

权利要求 :

1.一种心率分析模型的建模方法,其特征在于,包括:将心电图ECG作为研究对象,获取相关心率数据,所述心率数据包括心率正常数据和心率异常数据;

对所述心率数据进行预处理;

构建网络模型,所述网络模型由多层神经网络构成,包括输入层、隐藏层和输出层,所述隐藏层采用改进的循环神经网络RNN或长短期记忆网络LSTM或门控循环单元GRU的结构,具体包括:将所述隐藏层的所有时刻分为增强时刻和非增强时刻,以第一预设数目为周期设置增强时刻;

若当前时刻为非增强时刻,则根据当前时刻的前一时刻的状态,得到所述隐藏层在所述当前时刻的状态;

若当前时刻为增强时刻,则根据当前时刻的前一时刻和前L个时刻的状态,L为第二预设数目,得到所述隐藏层在所述当前时刻的状态;

对所述网络模型的第一预设数目和第二预设数目进行优化,具体包括:设置若干组的第一预设数目和第二预设数目;

采用预处理后的心率数据分别训练与所述各个组的第一预设数目和第二预设数目对应的网络模型;

记录训练过程中各个网络模型的准确率和损失函数的变化情况并分析,从中选择表现最优的网络模型作为所述心率分析模型。

2.根据权利要求1所述的建模方法,其特征在于:所述第一预设数目等于所述第二预设数目。

3.根据权利要求1所述的建模方法,其特征在于,所述的根据当前时刻的前一时刻和前L个时刻的状态,得到所述隐藏层在所述当前时刻的状态,包括:根据当前时刻的前一时刻的状态,得到第一记忆值;

将所述第一记忆值与所述当前时刻的前L个时刻的状态相加,得到所述隐藏层在所述当前时刻的状态。

4.根据权利要求3所述的建模方法,其特征在于:所述隐藏层采用改进的循环神经网络RNN结构;

根据以下公式得到第一记忆值M:

M=f(U*xt+W*ht‑1);

其中,xt是所述隐藏层在t时刻的输入,ht‑1是所述隐藏层在(t‑1)时刻的状态,f是激活函数,U是所述隐藏层的输入层到隐藏层的权重矩阵,W是所述隐藏层的前一时刻到下一时刻的权重矩阵;

根据以下公式得到所述隐藏层在当前时刻的状态:其中,ht是所述隐藏层在t时刻的状态,skip是第一预设数目,ht‑skip是所述隐藏层在(t‑skip)时刻的状态,a为预设数,i为任意正整数。

5.根据权利要求3所述的建模方法,其特征在于:所述隐藏层采用改进的长短期记忆网络LSTM结构;

根据以下公式得到第一记忆值N:

ft=σ(Wfhht‑1+Wfxxt+bf),it=σ(Wihht‑1+Wixxt+bi),ot=σ(Wohht‑1+Woxxt+bo),其中,ht‑1是所述隐藏层在(t‑1)时刻的状态,xt是所述隐藏层在t时刻的输入,Wfh、Wfx、Wih、Wix、Wc~h、Wc~x、Woh、Wox为各种权重矩阵,bf、bi、bc~和bo为各种偏置项,ο表示按元素乘,tanh()是双曲正切函数,σ是sigmoid函数;

根据以下公式得到所述隐藏层在当前时刻的状态:其中,ht是所述隐藏层在t时刻的状态,skip是第一预设数目,ht‑skip是隐藏层在(t‑skip)时刻的状态,a为预设数,i为任意正整数。

6.根据权利要求3所述的建模方法,其特征在于:所述隐藏层采用改进的门控循环单元GRU结构;

根据以下公式得到第一记忆值Q:

rt=σ(Wrhht‑1+Wrxxt+br),zt=σ(Wzhht‑1+Wzxxt+bz),其中,Wrh、Wrx、Wzh、Wzx、Wh~h、Wh~x为各种权重矩阵,br、bz、bh为各种偏置项,ο表示按元素乘,tanh()是双曲正切函数,σ是sigmoid函数;

根据以下公式得到所述隐藏层在当前时刻的状态:其中,ht是所述隐藏层在t时刻的状态,skip是第一预设数目,ht‑skip是所述隐藏层在(t‑skip)时刻的状态,a为预设数,i为任意正整数。

7.一种心率分析模型的建模装置,其特征在于,包括:将心电图ECG作为研究对象,获取相关心率数据,所述心率数据包括心率正常数据和心率异常数据;

对所述心率数据进行预处理;

构建网络模型,所述网络模型由多层神经网络构成,包括输入层、隐藏层和输出层,所述隐藏层采用改进的循环神经网络RNN或长短期记忆网络LSTM或门控循环单元GRU的结构,具体包括:时刻区分单元,用于将所述隐藏层的所有时刻分为增强时刻和非增强时刻,以第一预设数目为周期设置增强时刻;

状态更新单元,用于根据每个非增强时刻的前一时刻的状态,得到所述隐藏层在所述非增强时刻的状态;根据每个增强时刻的前一时刻和前L个时刻的状态,L为第二预设数目,得到所述隐藏层在所述增强时刻的状态;

对所述网络模型的第一预设数目和第二预设数目进行优化,具体包括:设置若干组的第一预设数目和第二预设数目;

采用预处理后的心率数据分别训练与所述各个组的第一预设数目和第二预设数目对应的网络模型;

记录训练过程中各个网络模型的准确率和损失函数的变化情况并分析,从中选择表现最优的网络模型作为所述心率分析模型。

8.根据权利要求7所述的建模装置,其特征在于:所述第一预设数目等于所述第二预设数目。

9.根据权利要求7所述的建模装置,其特征在于:所述状态更新单元,还用于根据增强时刻的前一时刻的状态,得到第一记忆值;将所述第一记忆值与所述增强时刻的前L个时刻的状态相加,得到所述隐藏层在所述增强时刻的状态。

说明书 :

一种基于神经网络的建模方法及装置

技术领域

[0001] 本发明涉及神经网络技术领域,尤指一种基于神经网络的建模方法及装置。

背景技术

[0002] 循环神经网络(Recurrent Neural Network,RNN),相对全连接神经网络和卷积神经网络,能更好地提取时间序列前后之间的关系而得到广泛应用。
[0003] 如图9所示,一个简单的循环神经网络(图9的左边部分)由输入层、一个隐藏层和一个输出层组成:x是一个向量,表示输入层的值;h是一个向量,表示隐藏层的值(或状态);o也是一个向量,表示输出层的值;U是输入层到隐藏层的权重矩阵,V是隐藏层到输出层的权重矩阵。
[0004] 把图8的左边部分展开得到右边部分,可以看出隐藏层是循环层,网络在t时刻接收到输入xt之后,隐藏层的值ht不仅取决于xt,还取决于上一次隐藏层的值ht‑1。可以用下面的公式来表示循环神经网络的计算方法:
[0005]
[0006] 其中,ht是隐藏层在t时刻的值,f是激活函数,W是隐藏层上一次的值到下一次的值的权重矩阵,g是激活函数,ot是输出层在t时刻的值。
[0007] 但是RNN网络在梯度反向传播中存在梯度消失问题。
[0008] 权重矩阵W最终的梯度是各个时刻的梯度之和。如图10所示,从t‑3时刻开始,梯度几乎减少到0(即梯度消失)。那么,从这个时刻开始再往前走,得到的梯度(几乎为零)就不会对最终的梯度值有任何贡献,这相当于无论t‑3时刻之前的网络状态h是什么,在训练中都不会对权重数组W的更新产生影响,也就是网络事实上已经忽略了t‑3时刻之前的状态。这就是RNN无法处理长距离依赖的原因。
[0009] 为了缓解上述问题,现有技术中对RNN进行改进,得到循环神经网络的变形结构,如长短期记忆网络(Long Short Term MemoryNetwork,LSTM)和门控循环单元(Gated Recurrent Unit,GRU)。但是RNN及其改进仍然存在记忆能力不足和梯度反向传播困难等问题,这些问题将制约这些算法的应用。

发明内容

[0010] 本发明的目的是提供一种基于神经网络的建模方法及装置,用于解决现有技术中存在的循环神经网络记忆能力不足和梯度反向传播困难的问题。
[0011] 本发明提供的技术方案如下:
[0012] 一种基于神经网络的建模方法,包括:至少有一个隐藏层采用循环神经网络RNN或长短期记忆网络LSTM或门控循环单元GRU的结构;按照预设规则将所有时刻分为增强时刻和非增强时刻;若当前时刻为非增强时刻,则根据当前时刻的前一时刻的状态,得到所述隐藏层在所述当前时刻的状态;若当前时刻为增强时刻,则根据当前时刻的前一时刻和前L个时刻的状态,L为第二预设数目,得到所述隐藏层在所述当前时刻的状态。
[0013] 进一步地,所述的按照预设规则将所有时刻分为增强时刻和非增强时刻包括:以第一预设数目为周期设置增强时刻。
[0014] 进一步地,所述第一预设数目等于所述第二预设数目。
[0015] 进一步地,所述的根据当前时刻的前一时刻和前L个时刻的状态,得到所述隐藏层在所述当前时刻的状态,包括:根据当前时刻的前一时刻的状态,得到第一记忆值;将所述第一记忆值与所述当前时刻的前L个时刻的状态相加,得到所述隐藏层在所述当前时刻的状态。
[0016] 进一步地,所述隐藏层采用循环神经网络RNN结构;根据以下公式得到第一记忆值M:
[0017] M=f(U*xt+W*ht‑1);
[0018] 其中,xt是所述隐藏层在t时刻的输入,ht‑1是所述隐藏层在(t‑1)时刻的状态,f是激活函数,U是所述隐藏层的输入层到隐藏层的权重矩阵,W是所述隐藏层的前一时刻到下一时刻的权重矩阵;
[0019] 根据以下公式得到所述隐藏层在当前时刻的状态:
[0020]
[0021] 其中,ht是所述隐藏层在t时刻的状态,skip是第一预设数目,ht‑skip是所述隐藏层在(t‑skip)时刻的状态,a为预设数,i为任意正整数。
[0022] 进一步地,所述隐藏层采用长短期记忆网络LSTM结构;根据以下公式得到第一记忆值N:
[0023] ft=σ(Wfhht‑1+Wfxxt+bf),
[0024] it=σ(Wihht‑1+Wixxt+bi),
[0025]
[0026]
[0027] ot=σ(Wohht‑1+Woxxt+bo),
[0028]
[0029] 其中,ht‑1是所述隐藏层在(t‑1)时刻的状态,xt是所述隐藏层在t时刻的输入,Wfh、Wfx、Wih、Wix、 Woh、Wox为各种权重矩阵,bf、bi、 和bo为各种偏置项,表示按元素乘,tanh()是双曲正切函数,σ是sigmoid函数;
[0030] 根据以下公式得到所述隐藏层在当前时刻的状态:
[0031]
[0032] 其中,ht是所述隐藏层在t时刻的状态,skip是第一预设数目,ht‑skip是隐藏层在(t‑skip)时刻的状态,a为预设数,i为任意正整数。
[0033] 进一步地,所述隐藏层采用门控循环单元GRU结构;根据以下公式得到第一记忆值Q:
[0034] rt=σ(Wrhht‑1+Wrxxt+br),
[0035] zt=σ(Wzhht‑1+Wzxxt+bz),
[0036]
[0037]
[0038] 其中,Wrh、Wrx、Wzh、Wzx、 为各种权重矩阵,br、bz、bh为各种偏置项,表示按元素乘,tanh()是双曲正切函数,σ是sigmoid函数;
[0039] 根据以下公式得到所述隐藏层在当前时刻的状态:
[0040]
[0041] 其中,ht是所述隐藏层在t时刻的状态,skip是第一预设数目,ht‑skip是所述隐藏层在(t‑skip)时刻的状态,a为预设数,i为任意正整数。
[0042] 本发明还提供一种基于神经网络的建模装置,包括:至少有一个隐藏层采用循环神经网络RNN或长短期记忆网络LSTM或门控循环单元GRU的结构;时刻区分单元,用于按照预设规则将所有时刻分为增强时刻和非增强时刻;状态更新单元,用于根据每个非增强时刻的前一时刻的状态,得到所述隐藏层在所述非增强时刻的状态;根据每个增强时刻的前一时刻和前L个时刻的状态,得到所述隐藏层在所述增强时刻的状态。
[0043] 进一步地,所述时刻区分单元,还用于以第一预设数目为周期设置增强时刻。
[0044] 进一步地,所述状态更新单元,还用于根据当前时刻的前一时刻的状态,得到第一记忆值;将所述第一记忆值与所述当前时刻的前L个时刻的状态相加,得到所述隐藏层在所述当前时刻的状态。
[0045] 通过本发明提供的一种基于神经网络的建模方法及装置,至少能够带来以下有益效果:
[0046] 本发明通过优化传统RNN网络的结构,改善了基于循环神经网络的模型的记忆能力不足和梯度反向传播困难等问题,提高了模型预测的准确性。

附图说明

[0047] 下面将以明确易懂的方式,结合附图说明优选实施方式,对一种基于神经网络的建模方法及装置的上述特性、技术特征、优点及其实现方式予以进一步说明。
[0048] 图1是本发明的一种基于神经网络的建模方法的一个实施例的流程图;
[0049] 图2是图1中一种改进的循环神经网络结构的示意图;
[0050] 图3是本发明的的一种基于神经网络的建模装置的一个实施例的结构示意图;
[0051] 图4是将本发明提供的基于神经网络的建模方法和装置应用于心率分析模型的构建流程示意图;
[0052] 图5是不同skip参数下心率分析模型的第一个隐藏层输出信号的均值、方差曲线图;
[0053] 图6是不同skip参数下心率分析模型的第二个隐藏层输出信号的均值、方差曲线图;
[0054] 图7是不同skip参数下心率分析模型的第三个隐藏层输出信号的均值、方差曲线图;
[0055] 图8是不同skip参数下心率分析模型在训练过程中准确率和损失函数的变化情况示意图;
[0056] 图9是传统RNN的结构图;
[0057] 图10是传统RNN的各时刻的梯度以及最终的梯度之和的一种示意图。

具体实施方式

[0058] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
[0059] 为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘制了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
[0060] 本发明的一个实施例,如图1所示,一种基于神经网络的建模方法,包括:
[0061] 至少有一个隐藏层采用循环神经网络RNN或长短期记忆网络LSTM或门控循环单元GRU的结构。
[0062] 步骤S100按照预设规则将所有时刻分为增强时刻和非增强时刻。
[0063] 步骤S200判断当前时刻是否为增强时刻;
[0064] 步骤S300若当前时刻为非增强时刻,则根据当前时刻的前一时刻的状态,得到隐藏层在当前时刻的状态;
[0065] 步骤S310若当前时刻为增强时刻,则根据当前时刻的前一时刻和前L个时刻的状态,L为第二预设数目,得到隐藏层在当前时刻的状态。
[0066] 具体地,模型包括输入层、隐藏层和输出层,可以有一个或多个隐藏层,至少有一个隐藏层采用循环神经网络RNN或长短期记忆网络LSTM或门控循环单元GRU的结构。
[0067] 传统的循环神经网络(RNN或LSTM或GRU),其当前状态ht都是由前一时刻的状态ht‑1和当前时刻的输入xt计算得来。随着时间步长增加,传统的循环神经网络将会发生严重的梯度消失,梯度向后传播的阻力变大。
[0068] 为了解决这个问题,对采用传统的循环神经网络结构的隐藏层进行改进:
[0069] 将隐藏层的所有时刻分为增强时刻和非增强时刻。对于非增强时刻,仍然按照传统的循环神经网络算法计算隐藏层的状态,即根据隐藏层在前一时刻的状态ht‑1得到当前状态ht。对于增强时刻,为了加强网络对过去时刻的记忆,根据隐藏层在前一时刻的状态ht‑1和前L个时刻的状态ht‑L得到当前时刻的状态。
[0070] 可选地,按照传统的循环神经网络算法根据隐藏层在前一时刻的状态ht‑1,得到第一记忆值;将第一记忆值与当前时刻的前L个时刻的状态ht‑L相加,得到隐藏层在当前时刻的状态ht。
[0071] 为了不过于增加计算的负担,并不是每个时刻都需要增强记忆,可按预设规则设置增强时刻。可选地,以第一预设数目为周期设置增强时刻。比如,当第一预设数目等于3时,表示每间隔3个时刻增强一次记忆。
[0072] 可将第一预设数目等于第二预设数目。为了进一步减小运算量的增加,也可设置第一预设数目大于第二预设数目。
[0073] 如图2所示,假设L等于3,将状态ht‑3增加到当前状态ht中,t表示当前时刻,t为增强时刻,t‑3、t‑2、t‑1为非增强时刻。
[0074] 本实施例,优化了传统循环神经网络的结构,通过引入增强时刻,定期增强网络对过去时刻状态的记忆,有效减缓了梯度爆炸和梯度消失,提高了网络预测的准确率。
[0075] 本发明的另一个实施例,一种基于神经网络的建模方法,包括:
[0076] 隐藏层采用循环神经网络RNN的结构。
[0077] 步骤S10根据以下公式得到第一记忆值M;
[0078] M=f(U*xt+W*ht‑1);
[0079] 其中,xt是隐藏层在t时刻的输入,ht‑1是隐藏层在(t‑1)时刻的状态,f是激活函数,U是隐藏层的输入层到隐藏层的权重矩阵,W是隐藏层的前一时刻到下一时刻的权重矩阵。
[0080] 步骤S11根据以下公式得到隐藏层在当前时刻的状态:
[0081]
[0082] 其中,ht是隐藏层在t时刻的状态,skip是第一预设数目,ht‑skip是隐藏层在(t‑skip)时刻的状态,i为任意正整数,a为预设数。
[0083] 具体地,第一预设数目等于第二预设数目,都为skip。t=a+i×skip表明t为增强时刻,其他t为非增强时刻。比如a=1,则t=1+i×skip时表明t为增强时刻,其他时刻为非增强时刻,a也可以为其他正整数值,比如2、3等,本实施例对此不做限制。
[0084] M是按照传统的RNN网络根据隐藏层在前一时刻的状态ht‑1和当前时刻的输入xt计算得到。若当前时刻t为非增强时刻,则隐藏层在当前时刻的状态为M;若当前时刻t为增强时刻,则隐藏层在当前时刻的状态为M与隐藏层在(t‑skip)时刻的状态之和。
[0085] 本实施例优化了传统RNN网络的结构,通过引入增强时刻,定期增强网络对过去时刻状态的记忆,有效减缓了梯度爆炸和梯度消失,提高了网络预测的准确率。
[0086] 本发明的另一个实施例,一种基于神经网络的建模方法,包括:
[0087] 隐藏层采用长短期记忆网络LSTM的结构。
[0088] 步骤S20根据前一时刻的状态ht‑1和当前时刻的输入xt,按以下公式计算出第一记忆值N:
[0089] ft=σ(Wfhht‑1+Wfxxt+bf),
[0090] it=σ(Wihht‑1+Wixxt+bi),
[0091]
[0092]
[0093] ot=σ(Wohht‑1+Woxxt+bo),
[0094]
[0095] 其中,Wfh、Wfx、Wih、Wix、 Woh、Wox为各种权重矩阵,bf、bi、 和bo为各种偏置项,表示按元素乘,tanh()是双曲正切函数,σ是sigmoid函数。
[0096] 步骤S21根据以下公式得到隐藏层在当前时刻的状态:
[0097]
[0098] 其中,ht是隐藏层在t时刻的状态,skip是第一预设数目,ht‑skip是隐藏层在(t‑skip)时刻的状态,i为任意正整数,a为预设数。
[0099] 具体地,第一预设数目等于第二预设数目,都为skip。t=a+i×skip表明t为增强时刻,其他t为非增强时刻。比如a=1,则t=1+i×skip时表明t为增强时刻,其他时刻为非增强时刻,a也可以为其他正整数值,比如2、3等,本实施例对此不做限制。
[0100] N是按照传统的LSTM网络根据隐藏层在前一时刻的状态ht‑1和当前时刻的输入xt计算得到。若当前时刻t为非增强时刻,则隐藏层在当前时刻的状态为N;若当前时刻t为增强时刻,则隐藏层在当前时刻的状态为N与隐藏层在(t‑skip)时刻的状态之和。
[0101] 本实施例优化了传统LSTM网络的结构,通过引入增强时刻,定期增强网络对过去时刻状态的记忆,有效减缓了梯度爆炸和梯度消失,提高了网络预测的准确率。
[0102] 本发明的另一个实施例,一种基于神经网络的建模方法,包括:
[0103] 隐藏层采用门控循环单元GRU结构。
[0104] 步骤S30根据前一时刻的状态ht‑1和当前时刻的输入xt,按以下公式计算出第一记忆值Q:
[0105] rt=σ(Wrhht‑1+Wrxxt+br),
[0106] zt=σ(Wzhht‑1+Wzxxt+bz),
[0107]
[0108]
[0109] 其中,Wrh、Wrx、Wzh、Wzx、 为各种权重矩阵,br、bz、bh为各种偏置项,表示按元素乘,tanh()是双曲正切函数,σ是sigmoid函数。
[0110] 步骤S31根据以下公式得到隐藏层在当前时刻的状态:
[0111]
[0112] 其中,ht是隐藏层在t时刻的状态,skip是第一预设数目,ht‑skip是隐藏层在(t‑skip)时刻的状态,i为任意正整数,a为预设数。
[0113] 具体地,第一预设数目等于第二预设数目,都为skip。t=a+i×skip表明t为增强时刻,其他t为非增强时刻。比如a=1,则t=1+i×skip时表明t为增强时刻,其他时刻为非增强时刻,a也可以为其他正整数值,比如2、3等,本实施例对此不做限制。
[0114] Q是按照传统的GRU网络根据隐藏层在前一时刻的状态ht‑1和当前时刻的输入xt计算得到。若当前时刻t为非增强时刻,则隐藏层在当前时刻的状态为Q;若当前时刻t为增强时刻,则隐藏层在当前时刻的状态为Q与隐藏层在(t‑skip)时刻的状态之和。
[0115] 本实施例优化了传统GRU网络的结构,通过引入增强时刻,定期增强网络对过去时刻状态的记忆,有效减缓了梯度爆炸和梯度消失,提高了网络预测的准确率。
[0116] 本发明的一个实施例,如图3所示,一种基于神经网络的建模装置,包括:
[0117] 至少有一个隐藏层采用循环神经网络RNN或长短期记忆网络LSTM或门控循环单元GRU的结构。
[0118] 时刻区分单元100,用于按照预设规则将所有时刻分为增强时刻和非增强时刻;
[0119] 状态更新单元200,用于判断当前时刻是否为增强时刻;若当前时刻为非增强时刻,则根据当前时刻的前一时刻的状态,得到隐藏层在当前时刻的状态;若当前时刻为增强时刻,则根据当前时刻的前一时刻和前L个时刻的状态,L为第二预设数目,得到隐藏层在当前时刻的状态。
[0120] 具体地,模型包括输入层、隐藏层和输出层,可以有一个或多个隐藏层,至少有一个隐藏层采用循环神经网络RNN或长短期记忆网络LSTM或门控循环单元GRU的结构。
[0121] 传统的循环神经网络(RNN或LSTM或GRU),其当前状态ht都是由前一时刻的状态ht‑1和当前时刻的输入xt计算得来。随着时间步长增加,传统的循环神经网络将会发生严重的梯度消失,梯度向后传播的阻力变大。
[0122] 为了解决这个问题,对采用传统的循环神经网络结构的隐藏层进行改进:
[0123] 将隐藏层的所有时刻分为增强时刻和非增强时刻。对于非增强时刻,仍然按照传统的循环神经网络算法计算隐藏层的状态,即根据隐藏层在前一时刻的状态ht‑1得到当前状态ht。对于增强时刻,为了加强网络对过去时刻的记忆,根据隐藏层在前一时刻的状态ht‑1和前L个时刻的状态ht‑L得到当前时刻的状态。
[0124] 可选地,按照传统的循环神经网络算法根据隐藏层在前一时刻的状态ht‑1,得到第一记忆值;将第一记忆值与当前时刻的前L个时刻的状态ht‑L相加,得到隐藏层在当前时刻的状态ht。
[0125] 为了不过于增加计算的负担,并不是每个时刻都需要增强记忆,可按预设规则设置增强时刻。可选地,以第一预设数目为周期设置增强时刻。比如,当第一预设数目等于3时,表示每间隔3个时刻增强一次记忆。
[0126] 可将第一预设数目等于第二预设数目。为了进一步减小运算量的增加,也可设置第一预设数目大于第二预设数目。
[0127] 本实施例,优化了传统循环神经网络的结构,通过引入增强时刻,定期增强网络对过去时刻状态的记忆,有效减缓了梯度爆炸和梯度消失,提高了网络预测的准确率。
[0128] 本发明的另一个实施例,一种基于神经网络的建模装置,包括:
[0129] 隐藏层采用循环神经网络RNN的结构。
[0130] 时刻区分单元100,按照预设规则将所有时刻分为增强时刻和非增强时刻;预设规则为:若t=a+i×skip,则t为增强时刻,其他t为非增强时刻,i为任意正整数,a为预设数,skip是第一预设数目。
[0131] 状态更新单元200,根据以下公式得到第一记忆值M;
[0132] M=f(U*xt+W*ht‑1);
[0133] 其中,xt是隐藏层在t时刻的输入,ht‑1是隐藏层在(t‑1)时刻的状态,f是激活函数,U是隐藏层的输入层到隐藏层的权重矩阵,W是隐藏层的前一时刻到下一时刻的权重矩阵。
[0134] 状态更新单元200,根据以下公式得到隐藏层在每个时刻的状态:
[0135]
[0136] 其中,ht是隐藏层在t时刻的状态,skip是第一预设数目,ht‑skip是隐藏层在(t‑skip)时刻的状态,i为任意正整数,a为预设数。
[0137] 具体地,第一预设数目等于第二预设数目,都为skip。
[0138] M是按照传统的RNN网络根据隐藏层在前一时刻的状态ht‑1和当前时刻的输入xt计算得到。若当前时刻t为非增强时刻,则隐藏层在当前时刻的状态为M;若当前时刻t为增强时刻,则隐藏层在当前时刻的状态为M与隐藏层在(t‑skip)时刻的状态之和。
[0139] 本实施例优化了传统RNN网络的结构,通过引入增强时刻,定期增强网络对过去时刻状态的记忆,有效减缓了梯度爆炸和梯度消失,提高了网络预测的准确率。
[0140] 本发明的另一个实施例,一种基于神经网络的建模装置,包括:
[0141] 隐藏层采用长短期记忆网络LSTM的结构。
[0142] 时刻区分单元100,按照预设规则将所有时刻分为增强时刻和非增强时刻;预设规则为:若t=a+i×skip,则t为增强时刻,其他t为非增强时刻,i为任意正整数,a为预设数,skip是第一预设数目。
[0143] 状态更新单元200,根据前一时刻的状态ht‑1和当前时刻的输入xt,按以下公式计算出第一记忆值N:
[0144] ft=σ(Wfhht‑1+Wfxxt+bf),
[0145] it=σ(Wihht‑1+Wixxt+bi),
[0146]
[0147]
[0148] ot=σ(Wohht‑1+Woxxt+bo),
[0149]
[0150] 其中,Wfh、Wfx、Wih、Wix、 Woh、Wox为各种权重矩阵,bf、bi、 和bo为各种偏置项,表示按元素乘,tanh()是双曲正切函数,σ是sigmoid函数。
[0151] 状态更新单元200,根据以下公式得到隐藏层在当前时刻的状态:
[0152]
[0153] 其中,ht是隐藏层在t时刻的状态,skip是第一预设数目,ht‑skip是隐藏层在(t‑skip)时刻的状态,i为任意正整数,a为预设数。
[0154] 具体地,第一预设数目等于第二预设数目,都为skip。
[0155] N是按照传统的LSTM网络根据隐藏层在前一时刻的状态ht‑1和当前时刻的输入xt计算得到。若当前时刻t为非增强时刻,则隐藏层在当前时刻的状态为N;若当前时刻t为增强时刻,则隐藏层在当前时刻的状态为N与隐藏层在(t‑skip)时刻的状态之和。
[0156] 本实施例优化了传统LSTM网络的结构,通过引入增强时刻,定期增强网络对过去时刻状态的记忆,有效减缓了梯度爆炸和梯度消失,提高了网络预测的准确率。
[0157] 本发明的另一个实施例,一种基于神经网络的建模装置,包括:
[0158] 隐藏层采用门控循环单元GRU结构。
[0159] 时刻区分单元100,用于按照预设规则将所有时刻分为增强时刻和非增强时刻;预设规则为:若t=a+i×skip,则t为增强时刻,其他t为非增强时刻,i为任意正整数,a为预设数,skip是第一预设数目。
[0160] 状态更新单元200,根据前一时刻的状态ht‑1和当前时刻的输入xt,按以下公式计算出第一记忆值Q:
[0161] rt=σ(Wrhht‑1+Wrxxt+br),
[0162] zt=σ(Wzhht‑1+Wzxxt+bz),
[0163]
[0164]
[0165] 其中,Wrh、Wrx、Wzh、Wzx、 为各种权重矩阵,br、bz、bh为各种偏置项,表示按元素乘,tanh()是双曲正切函数,σ是sigmoid函数。
[0166] 状态更新单元200,根据以下公式得到隐藏层在每个时刻的状态:
[0167]
[0168] 其中,ht是隐藏层在t时刻的状态,skip是第一预设数目,ht‑skip是隐藏层在(t‑skip)时刻的状态,i为任意正整数,a为预设数。
[0169] 具体地,第一预设数目等于第二预设数目,都为skip。
[0170] Q是按照传统的GRU网络根据隐藏层在前一时刻的状态ht‑1和当前时刻的输入xt计算得到。若当前时刻t为非增强时刻,则隐藏层在当前时刻的状态为Q;若当前时刻t为增强时刻,则隐藏层在当前时刻的状态为Q与隐藏层在(t‑skip)时刻的状态之和。
[0171] 本实施例优化了传统GRU网络的结构,通过引入增强时刻,定期增强网络对过去时刻状态的记忆,有效减缓了梯度爆炸和梯度消失,提高了网络预测的准确率。
[0172] 需要说明的是,本发明提供的用于基于神经网络的建模装置的实施例与前述提供的应用于基于神经网络的建模方法的实施例均基于同一发明构思,能够取得相同的技术效果。因而,用于基于神经网络的建模装置的实施例的其它具体内容可以参照前述应用于基于神经网络的建模方法的实施例内容的记载。
[0173] 本发明还提供一个具体实施场景示例,如图4所示,将本申请提供的方法和装置应用于心率分析模型中,具体步骤包括:
[0174] 步骤一:采集数据,分析特征。
[0175] 步骤二:数据预处理。
[0176] 步骤三:建立动态模型。
[0177] 步骤四:训练和优化模型。
[0178] 步骤五:模型评价。
[0179] 将心电图ECG作为研究对象,从医院获取相关心率正常、异常数据。
[0180] 构建多层的动态循环神经网络模型,即RNN‑SKIP模型。该模型由五层神经网络构成,分别是输入层、三个隐藏层和输出层,隐藏层由改进的LSTM循环神经网络构成。
[0181] 计算隐藏层在当前时刻的状态:
[0182] 1、先根据前一时刻的状态ht‑1和当前时刻的输入xt,按以下公式计算出第一记忆值N:
[0183] ft=σ(Wfhht‑1+Wfxxt+bf),
[0184] it=σ(Wihht‑1+Wixxt+bi),
[0185]
[0186]
[0187] ot=σ(Wohht‑1+Woxxt+bo),
[0188]
[0189] 其中,Wfh、Wfx、Wih、Wix、 Woh、Wox为各种权重矩阵,bf、bi、 和bo为各种偏置项,表示按元素乘,tanh()是双曲正切函数,σ是sigmoid函数。
[0190] 2、再根据以下公式得到隐藏层在当前时刻的状态:
[0191]
[0192] 其中,ht是隐藏层在t时刻的状态,skip是第一预设数目,ht‑skip是隐藏层在(t‑skip)时刻的状态,i为任意正整数。
[0193] 实验使用RNN‑SKIP模型对心率数据进行动态建模,针对不同的参数skip,分别进行了五组对比实验,并观察了三个隐藏层网络输出信号的均值和方差在训练过程中的变化情况。图5、图6和图7分别展示的是三个隐藏层输出的均值和方差在训练过程中的变化情况,其中参数skip分别为3,4,5,6或none,skip为none表示该组实验采用原始的循环神经网络,没有使用记忆增强。
[0194] 图5展示了第一个隐藏层输出信号的均值在70轮(epoch)训练过程中的变化情况,从图中可以发现,没有使用记忆增强的网络的输出信号基本趋近0,而使用了记忆增强的网络的输出信号基本在0附近波动。当网络的输出信号y1趋近于零时,当前网络的权重的梯度也趋近于零,因此更容易发生梯度消失。当skip为3、4、5和6时,网络的输出信号基本在0附近波动,因此梯度向后传播相对更加容易,当skip为3时,可以发现第一个隐藏层的输出的分布变化相对较大,而当skip分别为4、5和6时,第一个隐藏层的输出的分布相对平稳。由于每层网络的输出的分布在训练过程中发生较大变化,导致训练深度神经网络非常复杂和困难。因此我们可以知道skip为3,相对为4、5和6时,网络训练更慢和更难。
[0195] 如图8所示,我们记录了五组对比实验在训练过程中准确率(accuracy)和损失函数(loss)的变化情况。当skip分别为4、5和6时,被增强了记忆的网络的准确率均高于原始的循环神经网络。当skip为5时,准确率是最高的,损失函数是最低的。所以优先参数skip为5。
[0196] 本实施例,将心电图ECG作为研究对象,通过对心率数据的实验与测试,分析了不同参数的模型效果,实验结果表明,运用该算法能够较好的优化循环神经网络的结构,改进后的循环神经网络准确率更高,可以有效减缓梯度消失。
[0197] 应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。