基于DNN的模型数据处理方法、数据处理模型及电子装置与流程

文档序号:17466447发布日期:2019-04-20 05:32阅读:388来源:国知局
基于DNN的模型数据处理方法、数据处理模型及电子装置与流程

本发明涉及人工智能领域,尤其涉及一种基于dnn的模型数据处理方法、数据处理模型及电子装置。



背景技术:

基于人工神经网络,尤其是深度神经网络(deepneuralnetworks,以下简称dnn处理)在很多应用中都取得了极大的成功。特别是针对处理结构化数据,dnn处理表现优异。因此,dnn处理被广泛应用于机器学习领域。然而,dnn处理也存在一定点缺点,例如,dnn处理在结构化数据的机器学习问题处理中,全连接的特性导致模型受噪音影响大。



技术实现要素:

为克服目前dnn处理存在的缺点,本发明提出了一种基于dnn的模型数据处理方法、数据处理模型及电子装置。

本发明提供了一种解决上述技术问题的技术方案:一种基于dnn的模型数据处理方法,步骤s1:提供特征数据;步骤s2:对特征数据进行dnn处理;步骤s3:对所述dnn处理中的至少一神经元层中的至少部分神经元进行dndf处理获得输出数据;及步骤s4:至少根据所述输出数据获得特征数据对应的预测结果。

优选地,界定步骤s2中dnn处理从输入神经元层至输出神经元层依次包括第一神经元层,第二神经元层······第n神经元层,第(n+1)神经元层,n为正整数;步骤s3至少包括:步骤s31:第n神经元层中的至少部分神经元进行dndf处理后获得第n层输出数据;及步骤s32:第(n+1)神经元层中的至少部分神经元进行dndf处理后获得第(n+1)层输出数据;步骤s4中所述特征数据对应的评估结果至少由第n层输出及第(n+1)层输出数据所确定。

优选地,n大于2时;在步骤s3中,每一层神经元或除第一层神经元外的其它层神经元中的至少部分神经元均分别经过dndf处理后获得不同层的输出数据;在步骤s4中,所述特征数据对应的评估结果由所述不同层的输出数据共同确定。

优选地,对特征数据和/或dnn处理中的至少一神经元层进行硬剪枝和/或软剪枝。

优选地,dndf处理包括由根节点、树节点及叶节点组成的一颗或多颗完全二叉树;dndf处理包括:神经元层中的至少部分神经元映射至根节点及树节点形成节点值;根节点至叶节点形成概率由路,定义特征数据属于其中任一叶节点的概率pj;概率pj等于根节点对应的节点值与根节点至叶节点所经过的树节点对应的节点值之乘积。

优选地,dndf处理包括由根节点、树节点及叶节点组成的一颗或多颗完全二叉树;dndf处理包括:神经元层中的至少部分神经元映射至根节点及树节点形成节点值;根节点至叶节点形成概率由路,每一叶节点界定一决策概率向量:

分别为根节点对应的节点值,以及根节点依次至该叶节点所经过的树节点对应的节点值,n为正整数;所述叶节点本身携带预估向量;所述决策向量与预估向量进行矩阵乘法后得到所述输出数据;所述模型为分类模型或回归模型。

本发明还提供一种基于dnn的数据处理模型,数据处理模型包括输入模块;用于输入特征数据;dnn处理模块;用于对特征数据进行dnn处理;dndf处理模块:用于对dnn处理模块中的至少一神经元层中的至少部分神经元进行dndf处理获得输出数据;及预测模块;用于至少根据dndf处理模块输出的所述输出数据获得特征数据对应的预测结果。

优选地,界定dnn处理模块中dnn处理从输入神经元层至输出神经元层依次包括第一神经元层,第二神经元层······第n层神经元,第(n+1)神经元层,n为正整数;每一神经元层或除第一神经元层外的其它神经元层中的至少部分神经元均分别经过dndf处理模块进行dndf处理后获得不同层的输出数据;预测模块获得的评估结果由所述不同层的输出数据共同确定。

优选地,所述数据处理模型包括一个或多个剪枝模块;用于对输入模块中的特征数据和/或dnn处理模块中的至少一神经元层进行硬剪枝和/或软剪枝。

本发明还提供一种电子装置,其包括一存储介质,所述存储介质中存储有程序,该程序用于执行:步骤s1:提供特征数据;步骤s2:对特征数据进行dnn处理;步骤s3:对所述dnn处理中的至少一神经元层中的至少部分神经元进行dndf处理获得输出数据;及步骤s4:至少根据所述输出数据获得特征数据对应的预测结果。

与现有技术相比,本发明所提供的基于dnn的模型数据处理方法,包括步骤s1:提供特征数据;步骤s2:对特征数据进行dnn处理;步骤s3:对所述dnn处理中的至少一神经元层中的至少部分神经元进行dndf处理获得输出数据;及步骤s4:至少根据所述输出数据获得特征数据对应的预测结果。所述基于dnn的模型数据处理方法通过结合dnn处理及dndf处理可以有效降低数据处理噪声,避免数据处理庞大,提高预测精度的优点。本发明所提供的基于dnn的数据处理模型及电子装置同样也可以有效降低数据处理噪声,避免数据处理庞大,提高预测精度的优点。

【附图说明】

图1是dnn处理的模型示意图。

图2是本发明第一实施例基于dnn的模型数据处理方法的流程示意图。

图3是本发明第一实施例基于dnn的模型数据处理方法的详细流程示意图。

图4是本发明中dndf处理的模型示意图。

图5是本发明第二实施例基于dnn的数据处理模型的模块示意图。

【具体实施方式】

为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图及实施实例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

dnn处理介绍

深度神经网络(dnn处理)从不同层的位置划分,dnn处理内部的神经网络可以分为三类神经元层,输入神经元层,隐藏神经元层和输出神经元层,本发明中界定dnn处理从输入神经元层至输出神经元层依次包括第一神经元层,第二神经元层······第n神经元层,第(n+1)神经元层,n为正整数。每层神经元层可以包括一个或多个神经元。

以图1为例来说,dnn处理内部的神经网络层包括5层,从左至右界定为第一神经元层11,第二神经元层12,第三神经元层13,第四神经元层14及第五神经元层15。第一神经元层11是输入神经元层,第五神经元层15是输出神经元层,而中间的层数都是隐藏神经元层。其中第一神经元层11和第五神经元层15的神经元数量为4个,第二神经元层12,第三神经元层13,第四神经元层14神经元数量为5个。

dnn处理就是利用若干个权重系数矩阵w,偏倚向量b来和输入的特征数据进行一系列的性运算和激活运算,具体地,神经元层与神经元层之间是全连接的,也就是说,第n神经元层的任意一个神经元一定与第(n+1)神经元层的任意一个神经元相连,且它们之间通过线性运算和激活运算关联。

线性关系为:

z=∑wixi+b;式(1)

激活函数为σ(z)。

σ(z)为第(n+1)神经元层中的神经元a的输出,式(1)中xi为第n神经元层中神经元的输出,wi为第n神经元层中神经元到所述神经元a的权重系数。b为神经元a的偏倚。

以图1中第二神经元层中的第一个神经元的输出的计算(令其为)为例来说,

x1至x4分别为第一神经元层中4个神经元的输出。

分别为第一神经元层中神经元到第二神经元层中的第一个神经元的权重系数。为第二神经元层中的第一个神经元的偏倚。

dnn处理从输入神经元层开始,一层层的向后计算,一直到运算到输出神经元层,得到输出结果。

请参阅图2,本发明第一实施例提供一种基于dnn的模型数据处理方法,其包括:

步骤s1:提供特征数据;

步骤s2:对特征数据进行dnn处理;

步骤s3:对所述dnn处理中的至少一神经元层中的至少部分神经元进行dndf处理(deepneuraldecisionforests,深度神经决策森林,简称dndf处理)获得输出数据;及

步骤s4:至少根据所述输出数据获得特征数据对应的预测结果。

步骤s1中,特征数据优选为结构化数据。特征数据可以是离散型特征数据,也可以是连续型特征数据。

作为一种选择,可以对步骤s1中的特征数据进行特征数据预处理,该预处理包括但不限于归一化处理,离散化处理等。

在步骤s3中,可以对dnn处理中的每一神经元层均进行dndf处理。也可以选择对部分神经元层进行dndf处理。优选地,对除输入神经元层(即第一神经元层)以外的神经元层进行dndf处理可以提高预测结果的精度。同一神经元层中的所有神经元可以一同进行dndf处理,也可以只选择其中部分神经元进行dndf处理。

优选地,在该方法中,可以对特征数据和/或dnn处理中的至少一神经元层进行硬剪枝和/或软剪枝,即硬剪枝和/软剪枝可以真对一个或多个神经元层进行。硬剪枝即通过矩阵运算等删除或增加特征数据和/或神经元输出。如在步骤s2中,一神经元层可以通过硬剪枝删除部分神经元输出以使得在步骤s3中,同一神经元层中仅部分神经元进行dndf处理时。软剪枝即通过矩阵运算等改变特征数据和/或神经元输出的权重,以降低某些特征数据和/或神经元输出对预测结果的影响。优选地,在本发明中采用软剪枝,或硬剪枝与软剪枝进行结合。

在步骤s4中,至少根据所述输出数据获得特征数据对应的预测结果。当输出数据为多个时,可以进行线性组合,根据线性组合后的总输出获得特征数据对应的预测结果。优选地,对输出数据取平均值。所述预测结果可以是特征数据的分类概率,例如,存在k个分类,特征数据分别属于k个分类的概率。所述预测结果也可以是特征数据对应的评估值,例如,在评价用户信用值时,预测结果对应为特征数据对应的用户信用值。

请参阅图3,以每一神经元层均进行dndf处理为例来对步骤s2和s3进行详细说明。基于dnn的模型数据处理方法,其包括:

步骤s1:提供特征数据;

步骤s11:特征数据预处理;

步骤s12:对预处理后的数据进行软剪枝;

步骤s2包括:

步骤s21:dnn处理输出第一神经元层;

步骤s22:dnn处理输出第二神经元层;

······

步骤s2n:dnn处理输出第n神经元层;

步骤s2(n+1):dnn处理输出第(n+1)神经元层。

步骤s3包括:

s31:第1层dndf处理获得第1层输出数据;

s32:第2层dndf处理获得第2层输出数据;

······

s3n:第n层dndf处理获得第n层输出数据;

s3(n+1):第(n+1)层dndf处理获得第(n+1)层输出数据;

步骤4:根据第1层输出数据,第2层输出数据,······第n层输出数据及第(n+1)层输出数据获得特征数据对应的预测结果。即所述特征数据对应的评估结果由所述不同层的输出数据共同确定。

可以理解,步骤s2n输出的第n神经元层可以经过硬剪枝和/软剪枝再进行dnn处理输出第(n+1)神经元层;也可以在神经元层进行dndf处理前进行硬剪枝和/软剪枝。

可以理解,在所述方法的执行时序上,步骤s2和步骤s3可以存在部分执行时序重叠。即,dnn处理可以与dndf处理存在同时进行的情形。如步骤s22与步骤s31同时执行。

dndf处理介绍

dndf处理的本质其实就是用神经网络中的神经元来表示一颗完全二叉树的中间节点,然后通过一系列的运算模拟出决策树的功能和性质。

请参阅图4,从图中可以看出,完整的dndf结构会含有一颗或多颗完全二叉树,优选设置为10棵-16棵。图中以dndf处理只含有2棵完全二叉树,第一神经元层在可选择性的进行软剪枝后硬剪枝后输出神经元(f1,f2,…f14)为例来进行说明。

完全二叉树由根节点a、树节点b及叶节点c组成,第一神经元层的输出神经元(f1,f2,…f14)一一映射到完全二叉树的根节点及树节点(d1,d2,…d14)上。映射关系可以但不限于使用恒同映射:

在每棵完全二叉树的内部,根节点至叶节点形成概率由路。特征数据属于其中任一叶节点的概率等于树根对应的节点值与树根至叶节点所经过的树节点对应的节点值之乘积。

dndf处理是通过概率路由来划分样本(样本即为输入的特征数据)的。具体而言,dndf处理认为当样本在根节点和树节点di处时,就会“有σ(di)的概率往左走、有1-σ(di)的概率往右走”。优选地,σ函数为sigmoid函数:

下面就以图4中的第1棵完全二叉树为例,来具体说明一下概率路由。比如说,样本通过最左边的决策路径到达最左边的叶节点(π1)的概率即为

p(x∈π1)=σ(d1)σ(d2)σ(d4)

而到达左数第二个叶节点(π2)的概率即为

p(x∈π2)=σ(d1)σ(d2)[1-σ(d4)]

为简洁,我们统一将σ(di)简记为σi、将1-σ(di)简记为将p(x∈πj)简记为pj,那么上述两个公式就能写成

以及不难得出,样本属于剩下各个叶节点的概率分别为

为了方便叙述,这里我们额外定义一个“决策概率向量”p:

p=(p1,p2,…,p8)t

对于一般的情况,决策概率向量即为

其中n是树的深度,可以理解树的深度为树节点的层数。其可以由用户自行设定,优选树的深度为3或4或5或6。dndf处理的概率路由所计算出来的决策概率向量会拥有一个非常好的性质:在每棵树中,样本属于各个叶节点的概率加起来将会是1,亦即

对于图4所示的dndf处理而言,树的深度是2,于是就有

由于该数据结构比较简单,所以我们用直接计算的方式来证明这一点。首先可以计算出

然后同理可得

于是就有

对于一般的n而言,相应的计算是类似的。

由于样本属于每棵树各个叶节点的概率之和为1的话,我们就能把样本x属于某个叶节点πj的概率pj视为“对于样本x而言πj的权重”,也可以说是特征数据属于该叶节点的概率pj。

作为一种实施例,模型为分类模型,每个πj本身都“携带”一个类别概率向量,那每棵树的输出π定义为这些类别概率向量的加权求和。

具体而言,假设现在的任务是k分类问题,那么每个叶节点πj就都可以视为一个k维的概率向量:

其中

就代表着样本在叶节点πj处属于第k类的概率。此时如果假设每棵树的总输出为

π=(π(1)(2),…,π(k))t

的话,那么所谓的加权求和就是

从而就有

这意味着dndf处理中每棵树的输出都会是一个概率向量,或说每棵树的输出都将会是一个概率输出。

为了方便叙述,这里我们额外定义一个“类别概率矩阵”π*

考虑到决策概率向量为

那么上述π的加权求和计算公式就能改写为

π=ptπ*

亦即每棵树的最终(概率)输出,其实就是对决策概率向量与类别概率矩阵进行矩阵乘法后得到的结果。

dndf处理中每棵树的输出都是一个概率输出,所以dndf处理本身的最终输出的定义方式就很自然、直观了:只需要对这些树概率输出进行线性组合即可,优选地,取平均即可。具体而言,假设dndf处理中一共有m棵树、并假设第m棵树对应的决策概率向量、类别概率矩阵分别为p[m]、π[m]*,那么第m棵树的概率输出即为

π[m]=p[m]tπ[m]*

且dndf处理的最终输出πdndf即可定义为

由于每个π[m]都是一个概率向量,所以不难看出πdndf也是一个概率向量,或说dndf处理的最终输出即为概率输出,该概率输出即为dndf的输出数据。

可以理解,概率向量为预估向量,πj本身“携带”的不限于为类别概率向量,其也可以是其它预估向量,模型也不限于为分类模型,其可以是回归模型。

请参阅图5,本发明第二实施例为一种基于dnn的数据处理模型20,数据处理模型20包括:

输入模块21;用于输入特征数据;

预处理模块22:用于对特征数据进行预处理;

软剪枝模块23:用于对预处理后的数据进行硬剪枝和/或软剪枝;

dnn处理模块24;用于对特征数据进行dnn处理;具体dnn处理方式可以与第一实施例及其变形实施例相同。

dndf处理模块25:用于对dnn处理模块中的至少一神经元层中的至少部分神经元进行dndf处理获得输出数据;具体dndf处理方式可以与第一实施例及其变形实施例相同。

预测模块;用于至少根据dndf处理模块输出的所述输出数据获得特征数据对应的预测结果。

作为一种选择,所述预处理模块22可省略。

数据处理模型20可以包括一个或多个剪枝模块23;用于对输入模块中的特征数据和/或dnn处理模块中的至少一神经元层进行硬剪枝和/或软剪枝。具体的,剪枝模块23可以包括用于硬剪枝的硬剪枝模块和/或用于软剪枝的软剪枝模块。

本发明第三实施例提供一种电子装置,其包括一存储介质,所述存储介质中存储有程序,该程序用于执行:

步骤s1:提供特征数据;

步骤s2:对特征数据进行dnn处理;

步骤s3:对所述dnn处理中的至少一神经元层中的至少部分神经元进行dndf处理获得输出数据;及

步骤s4:至少根据所述输出数据获得特征数据对应的预测结果。

可以理解,所述程序可以用于执行第一实施例中提及的任意方法对应的程序。

可以理解,本发明中所提供的本发明模型的数据处理方法、数据处理模型及电子装置可以适用于如银行、医院、保险或其他组织所涉及的特征数据处理,特征数据包括但不限于如年龄、性别、收入、地址及职业等数据信息。本发明所揭示的数据处理方法、数据处理模型及电子装置尤其适用于机器学习领域,可以结合反向传播算法用于模型训练。

与现有技术相比,本发明所提供的基于dnn的模型数据处理方法,包括步骤s1:提供特征数据;步骤s2:对特征数据进行dnn处理;步骤s3:对所述dnn处理中的至少一神经元层中的至少部分神经元进行dndf处理获得输出数据;及步骤s4:至少根据所述输出数据获得特征数据对应的预测结果。所述基于dnn的模型数据处理方法通过结合dnn处理及dndf处理可以有效降低数据处理噪声,避免数据处理庞大,提高预测精度的优点。本发明所提供的基于dnn的数据处理模型及电子装置同样也可以有效降低数据处理噪声,避免数据处理庞大,提高预测精度的优点。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的原则之内所作的任何修改,等同替换和改进等均应包含本发明的保护范围之内。

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