掌桥专利:专业的专利平台
掌桥专利
首页

降低贝叶斯深度神经网络计算复杂度的方法和装置

文献发布时间:2023-06-19 10:21:15


降低贝叶斯深度神经网络计算复杂度的方法和装置

技术领域

本发明涉及计算机领域,具体而言,涉及一种降低贝叶斯深度神经网络计算复杂度的方法和装置。

背景技术

近年来大数据的发展和处理器计算能力的增加,都大大地促进了人工智能(Artificial Intelligence,简称AI)技术的不断进步。深度学习(Deep Learning,简称DL)也成为AI领域中最为活跃的一个分支。

其中,受到物理世界的随机性、信息不完整性以及测量噪声的影响,仅基于点估计理论的深度学习将无法准确地表征物理世界。因而,相关技术提供了一种从概率的视角切入机器学习的方式,将贝叶斯方法与深度学习进行结合,以得到贝叶斯深度神经网络。该贝叶斯深度神经网络既可以提供强大的非线性拟合能力,也具有强大的不确定性表征能力。

但是,在贝叶斯深度神经网络进行前向传播(即推理)过程中,输入向量与网络参数需要进行多次重复计算,才可以实现对输入向量的识别,以得到输出结果,从而导致对输入向量进行识别的操作复杂度较高的问题。

针对上述的问题,目前尚未提出有效的解决方案。

发明内容

本发明实施例提供了一种降低贝叶斯深度神经网络计算复杂度的方法和装置,以至少解决相关技术中需要对输入向量进行多次重复计算所导致识别操作复杂度较高的技术问题。

根据本发明实施例的一个方面,提供了一种降低贝叶斯深度神经网络计算复杂度的方法,包括:获取目标贝叶斯深度神经网络模型的一层网络结构中的高斯分布参数对应的第一目标参数矩阵和第二目标参数矩阵,其中,上述目标贝叶斯深度神经网络模型为利用样本数据对初始化的贝叶斯深度神经网络模型进行训练,得到的完成训练的神经网络模型;获取待识别的目标对象与上述第一目标参数矩阵进行运算得到的特征矩阵,及上述目标对象与上述第二目标参数矩阵进行运算得到的特征向量;利用上述特征矩阵和上述特征向量,与多个待确定矩阵中的每个待确定矩阵分别进行组合运算,得到多个识别子向量,其中,上述多个待确定矩阵为对参考曲线进行采样后得到;根据上述多个识别子向量确定与上述目标对象对应的识别结果。

根据本发明实施例的另一方面,还提供了一种降低贝叶斯深度神经网络计算复杂度的装置,包括:第一获取单元,用于获取目标贝叶斯深度神经网络模型的一层网络结构中的高斯分布参数对应的第一目标参数矩阵和第二目标参数矩阵,其中,上述目标贝叶斯深度神经网络模型为利用样本数据对初始化的贝叶斯深度神经网络模型进行训练,得到的完成训练的神经网络模型;第二获取单元,用于获取待识别的目标对象与上述第一目标参数矩阵进行运算得到的特征矩阵,及上述目标对象与上述第二目标参数矩阵进行运算得到的特征向量;第一运算单元,用于利用上述特征矩阵和上述特征向量,与多个待确定矩阵中的每个待确定矩阵分别进行组合运算,得到多个识别子向量,其中,上述多个待确定矩阵为对参考曲线进行采样后得到;第一识别单元,用于根据上述多个识别子向量确定与上述目标对象对应的识别结果。

可选地,上述第二获取单元包括:第一运算模块,用于对上述目标对象与上述第一目标参数矩阵进行叉乘运算,得到上述特征矩阵;第二运算模块,用于对上述目标对象与上述第二目标参数矩阵进行点乘运算,得到上述特征向量。

可选地,上述第一运算单元包括:第一处理模块,用于重复执行以下步骤,直至遍历上述多个待确定矩阵:从上述多个待确定矩阵中获取当前待确定矩阵;对上述当前待确定矩阵与上述特征矩阵进行逐行内积运算,得到当前对象向量;对上述当前对象向量与上述特征向量进行叠加运算,得到与上述当前待确定矩阵相匹配的当前识别子向量;获取下一个待确定矩阵作为上述当前待确定矩阵。

可选地,上述第一识别单元包括:第二处理模块,用于对上述多个识别子向量进行加权平均处理,得到处理结果;识别模块,用于将上述处理结果作为与上述目标对象匹配的上述识别结果。

可选地,还包括:第三获取单元,用于在上述将上述处理结果作为与上述目标对象匹配的上述识别结果之后,在上述一层网络结构并非上述目标贝叶斯深度神经网络模型中的最后一层网络结构的情况下,从上述目标贝叶斯深度神经网络模型中,获取位于上述一层网络结构之后的下一层网络结构中的高斯分布参数对应的第一目标参数矩阵和第二目标参数矩阵;第二识别单元,用于将上述识别结果作为上述下一层网络结构的待识别的目标对象,以确定与上述下一层网络结构的上述目标对象对应的识别结果。

可选地,还包括:第三识别单元,用于在上述将上述处理结果作为与上述目标对象匹配的上述识别结果之后,在上述一层网络结构为上述目标贝叶斯深度神经网络模型中的最后一层网络结构的情况下,将上述识别结果作为上述目标贝叶斯深度神经网络模型的输出结果。

可选地,上述第一获取单元包括:训练模块,用于利用上述样本数据对上述初始化的贝叶斯深度神经网络模型进行训练,以得到用于进行对象识别的上述目标贝叶斯深度神经网络模型;第一确定模块,用于确定上述目标贝叶斯深度神经网络模型的网络模型架构,其中,上述网络模型架构中包括多层网络结构,第l层网络结构为上述目标贝叶斯深度神经网络模型中第l层输入神经元与第l层输出神经元之间的结构,上述l为正整数;第一获取模块,用于从上述网络模型架构中获取上述第l层网络结构中的上述高斯分布参数,其中,上述高斯分布参数包括标准差参数和均值参数;第二确定模块,用于根据上述均值参数确定上述第l层网络结构的均值参数矩阵,并根据上述标准差参数确定上述第l层网络结构的标准差参数矩阵,其中,上述第一目标参数矩阵包括上述均值参数矩阵,上述第二目标参数矩阵包括上述标准差参数矩阵。

可选地,还包括:第三确定模块,用于在上述从上述网络模型架构中获取上述一层网络结构之后,将上述第l层输出神经元作为第l+1层输入神经元;第二获取模块,用于根据上述第l+1层输入神经元及第l+1层输出神经元,获取上述网络模型架构中第l层网络结构之后的第l+1层网络结构。

可选地,上述训练模块包括以下之一:第一训练子模块,用于利用样本文本数据对上述初始化的贝叶斯深度神经网络模型进行训练,以得到用于对文本对象进行识别的上述目标贝叶斯深度神经网络模型;第二训练子模块,用于利用样本图像数据对上述初始化的贝叶斯深度神经网络模型进行训练,以得到用于对图像对象进行识别的上述目标贝叶斯深度神经网络模型;第三训练子模块,用于利用样本音频数据对上述初始化的贝叶斯深度神经网络模型进行训练,以得到用于对音频对象进行识别的上述目标贝叶斯深度神经网络模型。

根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述降低贝叶斯深度神经网络计算复杂度的方法。

根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的降低贝叶斯深度神经网络计算复杂度的方法。

在本发明实施例中,在获取目标贝叶斯深度神经网络模型的一层网络结构中高斯分布参数对应的第一目标参数矩阵及第二目标参数矩阵,通过预先将待识别的目标对象与第一目标参数矩阵进行运算得到特征矩阵,预先将该目标对象与第二目标参数矩阵进行运算得到特征向量,再利用上述特征矩阵和特征向量,与对参考曲线采样后的多个待确定矩阵中的每个待确定矩阵分别进行组合运算,以得到多个识别子向量,使得特征矩阵和特征向量得到复用,而无需对待识别的目标对象与多个待确定矩阵进行多次重复运算,以达到减少运算量,简化对象识别操作的效果,进而解决了相关技术中需要对输入向量进行多次重复计算所导致识别操作复杂度较高的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的降低贝叶斯深度神经网络计算复杂度的方法的网络环境的示意图;

图2是根据本发明实施例的一种可选的降低贝叶斯深度神经网络计算复杂度的方法的流程图;

图3是根据本发明实施例的一种可选的降低贝叶斯深度神经网络计算复杂度的方法的示意图;

图4是根据相关技术中的一种贝叶斯深度神经网络计算的示意图;

图5是根据本发明实施例的一种可选的降低贝叶斯深度神经网络计算复杂度的方法的示意图;

图6是根据本发明实施例的一种可选的降低贝叶斯深度神经网络计算复杂度的装置的结构示意图;

图7是根据本发明实施例的一种可选的电子装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例的一个方面,提供了一种降低贝叶斯深度神经网络计算复杂度的方法,可选地,作为一种可选的实施方式,上述降低贝叶斯深度神经网络计算复杂度的方法可以但不限于应用于如图1所示的网络环境中的降低贝叶斯深度神经网络计算复杂度的系统中。其中,该降低贝叶斯深度神经网络计算复杂度的系统可以包括但不限于用户终端102、网络104及服务器106。用户终端102可以包括但不限于手机、平板电脑等移动终端,及个人计算机(Personal Computer,简称PC)设备等台式计算机设备。上述网络104可以包括但不限于无线网络或有线网络。其中,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述仅是一种示例,本实施例中对此不作任何限定。上述服务器106中可以包括但不限于用于存储贝叶斯深度神经网络模型的网络模型架构及训练过程的数据库,以及用于训练和应用贝叶斯深度神经网络模型的处理引擎。其中,贝叶斯深度神经网络模型旨在关注样本训练的方法。贝叶斯深度神经网络模型并不是一种新型的网络架构,而是提供一种新的神经网络训练算法的网络模型。它既具有神经网络强大的拟合能力,也具有贝叶斯方法强大的不确定信息表征能力,同时也拥有完善的数学理论支持、良好的抗过拟合能力。例如,该贝叶斯深度神经网络模型可以但不限于至少包括:卷积层108、池化层110、全连接层112。输入向量输入上述贝叶斯深度神经网络模型,经过卷积层108,池化层110及全连接层112,可以实现分类识别,输出识别结果。

如服务器106中的处理引擎可以但不限于执行以下步骤S102-S108:获取目标贝叶斯深度神经网络模型的一层网络结构中的高斯分布参数对应的第一目标参数矩阵和第二目标参数矩阵,其中,目标贝叶斯深度神经网络模型为利用样本数据对初始化的贝叶斯深度神经网络模型进行训练,得到的完成训练的神经网络模型;获取待识别的目标对象与第一目标参数矩阵进行运算得到的特征矩阵,及目标对象与第二目标参数矩阵进行运算得到的特征向量;利用特征矩阵和特征向量,与多个待确定矩阵中的每个待确定矩阵分别进行组合运算,得到多个识别子向量,其中,多个待确定矩阵为对参考曲线进行采样后得到;根据多个识别子向量确定与目标对象对应的识别结果。

也就是说,在本实施例中,在获取目标贝叶斯深度神经网络模型的一层网络结构中高斯分布参数对应的第一目标参数矩阵及第二目标参数矩阵,通过预先将待识别的目标对象与第一目标参数矩阵进行运算得到特征矩阵,预先将该目标对象与第二目标参数矩阵进行运算得到特征向量,再利用上述特征矩阵和特征向量,与对参考曲线采样后的多个待确定矩阵中的每个待确定矩阵分别进行组合运算,以得到多个识别子向量,使得特征矩阵和特征向量得到复用,而无需对待识别的目标对象与多个待确定矩阵进行多次重复运算,以达到减少运算量,简化对象识别操作的效果,进而克服相关技术中对象识别操作的复杂度较高的问题。

可选地,作为一种可选的实施方式,如图2所示,上述降低贝叶斯深度神经网络计算复杂度的方法包括:

S202,获取目标贝叶斯深度神经网络模型的一层网络结构中的高斯分布参数对应的第一目标参数矩阵和第二目标参数矩阵,其中,目标贝叶斯深度神经网络模型为利用样本数据对初始化的贝叶斯深度神经网络模型进行训练,得到的完成训练的神经网络模型;

S204,获取待识别的目标对象与第一目标参数矩阵进行运算得到的特征矩阵,及目标对象与第二目标参数矩阵进行运算得到的特征向量;

S206,利用特征矩阵和特征向量,与多个待确定矩阵中的每个待确定矩阵分别进行组合运算,得到多个识别子向量,其中,多个待确定矩阵为对参考曲线进行采样后得到;

S208,根据多个识别子向量确定与目标对象对应的识别结果。

可选地,在本实施例中,上述降低贝叶斯深度神经网络计算复杂度的方法可以但不限于应用于基于贝叶斯深度神经网络模型进行学习识别的应用场景中。其中,在样本数据为样本文本数据的情况下,可以但不限于通过上述降低贝叶斯深度神经网络计算复杂度的方法实现对文本进行识别,如签名识别;在样本数据为样本图像数据的情况下,可以但不限于通过上述降低贝叶斯深度神经网络计算复杂度的方法实现对图像进行识别,如人脸识别;在样本数据为样本图像数据的情况下,可以但不限于通过上述降低贝叶斯深度神经网络计算复杂度的方法实现对图像进行识别,如语音识别等。上述仅是示例,本实施例中对此不作任何限定。

可选地,在本实施例中,上述待识别的目标对象可以但不限于为完成训练的目标贝叶斯深度神经网络模型的网络模型架构中每层网络结构的输入向量,对应的识别结果为与该输入向量对应的输出向量。其中,一层网络结构可以但不限于为输入神经元与输出神经元之间的结构。例如,假设目标贝叶斯深度神经网络模型的网络架构如图3所示,其包括两层网络结构,第一层网络结构的输入神经元为x,输出神经元为h,该层网络结构中包括四组权重参数(即四条连线),第二层网络结构的输入神经元为h,输出神经元为y,该层网络结构中包括三组权重参数(即三条连线)。进一步,一层网络结构中的高斯分布参数可以包括但不限于:均值参数和标准差参数,如图3所示,每组权重参数包括:均值参数和标准差参数,可以但不限于用N(均值参数,标准差参数)表示。进一步,第一目标参数矩阵可以但不限于为一层网络结构中每组权重参数中的标准差参数构成的标准差参数矩阵(下文也可简称为标准差矩阵),第二目标参数矩阵可以但不限于为一层网络结构中均值参数构成的均值参数矩阵(下文也可简称为均值矩阵)。

可选地,在本实施例中,上述特征矩阵可以但不限于为对目标对象与第一目标参数矩阵进行叉乘运算得到的矩阵;特征向量可以但不限于为对目标对象与第二目标参数矩阵进行点乘运算得到的矩阵。

可选地,在本实施例中,上述参考曲线可以但不限于为标准正态分布函数对应的曲线,可以用N(0,1)表示。进一步,对该标准正态分布函数对应的曲线进行T次采样,将得到T个待确定矩阵,其中,每个待确定矩阵将与上述特征矩阵和特征向量进行组合运算,以得到与该待确定矩阵对应的识别子向量。

需要说明的是,如图4所示为相关技术提供的贝叶斯深度神经网络模型的识别逻辑示意图。在对每个待确定矩阵进行组合运算时,往往需要反复引入标准差矩阵σ和均值矩阵μ,以及作为待识别的目标对象的输入向量x,从而使得矩阵乘法计算量增加,导致在得到与目标对象对应的识别结果y时,增加识别操作的复杂度的问题。而图5所示为本申请实施例中提供的降低贝叶斯深度神经网络计算复杂度的方法的识别逻辑示意图。对标准差矩阵σ与作为待识别的目标对象的输入向量x进行叉乘运算,得到特征矩阵β;对均值矩阵μ与作为待识别的目标对象的输入向量x进行点乘运算,得到特征向量η。并对标准正态分布函数N(0,1)对应的曲线进行T次采样(Sampled,图中用S表示),得到T个待确定矩阵,如H

进一步,依次对每个待确定矩阵H

然后,根据上述方式得到的多个识别子向量,再确定得出与目标对象对应的识别结果

需要说明的是,上述图4和图5所示两种运算逻辑不会改变运算结果。也就是说,在不影响运算结果的情况下,本实施例中提供的识别过程的运算量更小,更有利于提高贝叶斯神经网络模型的识别效率。上述原理可以如下:

y=Wx

w

其中,H={h

可选地,在本实施例中,在得到与目标对象对应的识别结果之后,还可以包括但不限于:

1)在当前识别的一层网络结构并非目标贝叶斯深度神经网络模型中的最后一层网络结构的情况下,则将当前该层的识别结果作为下一层网络结构的输入向量,即作为下一层网络结构的待识别的目标对象。

2)在当前识别的一层网络结构为目标贝叶斯深度神经网络模型中的最后一层网络结构的情况下,则将当前该层的识别结果作为该目标贝叶斯深度神经网络模型的输出结果。

也就是说,针对贝叶斯深度神经网络模型中的每层网络结构,都可以适用上述本实施例中提供的处理逻辑,以减少每层网络结构中的运算量,从而达到简化对每层网络结构中待识别的目标对象进行识别操作,进而克服识别操作复杂的问题。

具体实现步骤可以如下:

S1,获取初始化的贝叶斯深度神经网络模型,利用给定的样本数据对其进行训练,以得到目标贝叶斯深度神经网络模型。然后获取目标贝叶斯深度神经网络模型中每层网络结构的高斯分布参数,以获取对应的第一目标参数矩阵(如标准差矩阵)和第二目标参数矩阵(如均值矩阵)。

S2,根据上述目标贝叶斯深度神经网络模型的网络模型架构以及输入向量,以完成贝叶斯深度学习前向传播计算。

其中,上述S2,贝叶斯深度学习前向传播计算过程包含以下步骤:

S21,获取一层网络结构中的高斯分布参数,如均值

S22,假设作为待识别的目标对象的输入向量

β

其中,i=1,2,…,M,j=1,2,…,N.

S23,存储上述特征矩阵β与特征向量η。

S24,对参考曲线(如标准正态分布函数)进行T次随机数采样,获取待确定矩阵

S25,利用不确定性矩阵H、特征矩阵β以及特征向量η,按如下公式完成贝叶斯深度学习前向传播过程中的矩阵向量乘运算。

z=

y=z+η

其中,

重复步骤四S24与步骤S25,直至遍历T个待确定矩阵,以得到T个识别子向量y

S26,根据T个识别子向量y

再者,需要说明的是,如表1所示为本实施例中采用目标贝叶斯深度神经网络模型进行深度学习的计算量。其中,分别统计了两种不同的数据运算量,乘法运算量和加法运算量。从表1中可以看出,当采样次数(T)大于2时,本申请实施例(如图5所示)中提供的方法的运算量将小于相关技术(如图4所示)提供的方法。根据下面的公式可以得出,本申请所提出的方法理论上可以减少50%的计算量:

其中,N、M分别为目标贝叶斯深度神经网络模型的一层网络结构中输入神经元数量和输出神经元数量。

表1

表1(续)

通过本申请提供的实施例,在获取目标贝叶斯深度神经网络模型的一层网络结构中高斯分布参数对应的第一目标参数矩阵及第二目标参数矩阵,通过预先将待识别的目标对象与第一目标参数矩阵进行运算得到特征矩阵,预先将该目标对象与第二目标参数矩阵进行运算得到特征向量,再利用上述特征矩阵和特征向量,与对参考曲线采样后的多个待确定矩阵中的每个待确定矩阵分别进行组合运算,以得到多个识别子向量,使得特征矩阵和特征向量得到复用,而无需对待识别的目标对象与多个待确定矩阵进行多次重复运算,以达到减少运算量,简化对象识别操作的效果,进而克服相关技术中对象识别操作的复杂度较高的问题。

作为一种可选的方案,利用特征矩阵和特征向量,与多个待确定矩阵中的每个待确定矩阵分别进行组合运算,得到多个识别子向量包括:

S1,重复执行以下步骤,直至遍历多个待确定矩阵:

S12,从多个待确定矩阵中获取当前待确定矩阵;

S14,对当前待确定矩阵与特征矩阵进行逐行内积运算,得到当前对象向量;

S16,对当前对象向量与特征向量进行叠加运算,得到与当前待确定矩阵相匹配的当前识别子向量;

S18,获取下一个待确定矩阵作为当前待确定矩阵。

具体结合图5所示进行说明。对标准正态分布函数对应的参考曲线进行T次采样(用“S”表示),得到不确定性矩阵H。然后对第k个不确定性矩阵H

对H

通过本申请提供的实施例,预先对输入向量进行运算得到的特征矩阵和特征向量,实现对输入向量的复用,以依次应用于对每个待确定矩阵的组合运算的过程,从而实现快速得到与该待确定矩阵对应的识别子向量。而无需重复计算,进而克服相关技术中识别操作复杂度较高的问题。

作为一种可选的方案,根据多个识别子向量确定与目标对象对应的识别结果包括:

S1,对多个识别子向量进行加权平均处理,得到处理结果;

S2,将处理结果作为与目标对象匹配的识别结果。

具体结合图5所示进行说明:假设T次采样得到的T个待确定矩阵,通过运算得到了T个识别子向量y

需要说明的是,在本实施例中,对于一层网络结构可以但不限于将输入向量作为待识别的目标对象,将输出向量作为与目标对象对应的识别结果。也就是说,通过上述逻辑运算过程,以达到对输入向量进行推理识别的目的。例如,假设输入向量为基于图像信息构成的向量,则可以但不限于通过本实施例提供的降低贝叶斯深度神经网络计算复杂度的方法,实现对输入向量进行识别,以得到图像识别结果,如人脸识别结果。这里仅是一种示例,本实施例中对此不作任何限定。

通过本申请提供的实施例,对多个识别子向量进行加权平均处理,以得到识别结果,从而保证识别结果的客观性和准确性。

作为一种可选的方案,在将处理结果作为与目标对象匹配的识别结果之后,还包括:

S1,在一层网络结构并非目标贝叶斯深度神经网络模型中的最后一层网络结构的情况下,从目标贝叶斯深度神经网络模型中,获取位于一层网络结构之后的下一层网络结构中的高斯分布参数对应的第一目标参数矩阵和第二目标参数矩阵;

S2,将识别结果作为下一层网络结构的待识别的目标对象,以确定与下一层网络结构的目标对象对应的识别结果。

具体结合图5所示进行说明:在得到识别结果

可选地,在本实施例中,在一层网络结构为目标贝叶斯深度神经网络模型中的最后一层网络结构的情况下,将识别结果作为目标贝叶斯深度神经网络模型的输出结果。

通过本申请提供的实施例,在一层网络结构并非目标贝叶斯深度神经网络模型中的最后一层网络结构的情况下,则将识别结果作为下一层网络结构的待识别的目标对象,输入下一层网络结构,以实现多次复用,达到提高操作效率的目的。

作为一种可选的方案,获取目标贝叶斯深度神经网络模型的一层网络结构中的高斯分布参数对应的第一目标参数矩阵和第二目标参数矩阵包括:

S1,利用样本数据对初始化的贝叶斯深度神经网络模型进行训练,以得到用于进行对象识别的目标贝叶斯深度神经网络模型;

S2,确定目标贝叶斯深度神经网络模型的网络模型架构,其中,网络模型架构中包括多层网络结构,第l层网络结构为目标贝叶斯深度神经网络模型中第l层输入神经元与第l层输出神经元之间的结构,l为正整数;

S3,从网络模型架构中获取第l层网络结构中的高斯分布参数,其中,高斯分布参数包括标准差参数和均值参数;

S4,根据均值参数确定第l层网络结构的均值参数矩阵,并根据标准差参数确定第l层网络结构的标准差参数矩阵,其中,第一目标参数矩阵包括标准差参数矩阵,第二目标参数矩阵包括均值参数矩阵。

可选地,在本实施例中,在从网络模型架构中获取一层网络结构之后,还包括:将第l层输出神经元作为第l+1层输入神经元;根据第l+1层输入神经元及第l+1层输出神经元,获取网络模型架构中第l层网络结构之后的第l+1层网络结构。

具体结合图3所示进行说明:假设第一层网络结构为输入神经元x与输出神经元h之间的连线都配置有对应的权重参数,如每条连线都有对应的高斯分布参数,如均值参数和标准差参数。进一步,利用该层网络结构中的全部高斯分布参数来得到第一目标参数矩阵和第二目标矩阵。如图3所示,在第一层网络结构中,在两个输入神经元和三个输出神经元之间,包括四组权重参数(即四条连线),即对应4个均值参数和4个标准差参数,利用这四个均值参数得到均值参数矩阵,利用四个标准差参数得到标准差参数矩阵。进一步,在第二层网络结构中,在三个输入神经元和一个输出神经元之间,包括三组权重参数(即三条连线),即对应3个均值参数和3个标准差参数,利用这3个均值参数得到均值参数矩阵,利用3个标准差参数得到标准差参数矩阵。

通过本申请提供的实施例,通过对每层网络结构进行分析,以获取高斯分布参数来得到第一目标参数矩阵和第二目标参数矩阵,从而实现利用输入向量分别与第一目标参数矩阵和第二目标参数矩阵进行运算,以得到特征矩阵和特征向量,便于快速识别出与目标对象对应的识别结果,提高识别效率。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

根据本发明实施例的另一个方面,还提供了一种用于实施降低贝叶斯深度神经网络计算复杂度的方法的降低贝叶斯深度神经网络计算复杂度的装置。如图6所示,该装置包括:

1)第一获取单元602,用于获取目标贝叶斯深度神经网络模型的一层网络结构中的高斯分布参数对应的第一目标参数矩阵和第二目标参数矩阵,其中,目标贝叶斯深度神经网络模型为利用样本数据对初始化的贝叶斯深度神经网络模型进行训练,得到的完成训练的神经网络模型;

2)第二获取单元604,用于获取待识别的目标对象与第一目标参数矩阵进行运算得到的特征矩阵,及目标对象与第二目标参数矩阵进行运算得到的特征向量;

3)第一运算单元606,用于利用特征矩阵和特征向量,与多个待确定矩阵中的每个待确定矩阵分别进行组合运算,得到多个识别子向量,其中,多个待确定矩阵为对参考曲线进行采样后得到;

4)第一识别单元608,用于根据多个识别子向量确定与目标对象对应的识别结果。

可选地,在本实施例中,上述降低贝叶斯深度神经网络计算复杂度的装置可以但不限于应用于基于贝叶斯深度神经网络模型进行学习识别的应用场景中。其中,在样本数据为样本文本数据的情况下,可以但不限于通过上述降低贝叶斯深度神经网络计算复杂度的装置实现对文本进行识别,如签名识别;在样本数据为样本图像数据的情况下,可以但不限于通过上述降低贝叶斯深度神经网络计算复杂度的方法实现对图像进行识别,如人脸识别;在样本数据为样本图像数据的情况下,可以但不限于通过上述降低贝叶斯深度神经网络计算复杂度的方法实现对图像进行识别,如语音识别等。上述仅是示例,本实施例中对此不作任何限定。

可选地,在本实施例中,上述待识别的目标对象可以但不限于为完成训练的目标贝叶斯深度神经网络模型的网络模型架构中每层网络结构的输入向量,对应的识别结果为与该输入向量对应的输出向量。其中,一层网络结构可以但不限于为输入神经元与输出神经元之间的结构。例如,假设目标贝叶斯深度神经网络模型的网络架构如图3所示,其包括两层网络结构,第一层网络结构的输入神经元为x,输出神经元为h,该层网络结构中包括四组权重参数(即四条连线),第二层网络结构的输入神经元为h,输出神经元为y,该层网络结构中包括三组权重参数(即三条连线。进一步,一层网络结构中的高斯分布参数可以包括但不限于:标准差参数和均值参数,如图3所示,每条连线上都将生成对应的标准差参数和均值参数,可以但不限于用N(均值参数,标准差参数)表示。进一步,第一目标参数矩阵可以但不限于为一层网络结构中每条连线上的均值参数构成的均值参数矩阵(下文也可简称为标准差矩阵),第二目标参数矩阵可以但不限于为一层网络结构中标准差参数构成的标准差参数矩阵(下文也可简称为均值矩阵)。

通过本申请提供的实施例,在获取目标贝叶斯深度神经网络模型的一层网络结构中高斯分布参数对应的第一目标参数矩阵及第二目标参数矩阵,通过预先将待识别的目标对象与第一目标参数矩阵进行运算得到特征矩阵,预先将该目标对象与第二目标参数矩阵进行运算得到特征向量,再利用上述特征矩阵和特征向量,与对参考曲线采样后的多个待确定矩阵中的每个待确定矩阵分别进行组合运算,以得到多个识别子向量,使得特征矩阵和特征向量得到复用,而无需对待识别的目标对象与多个待确定矩阵进行多次重复运算,以达到减少运算量,简化对象识别操作的效果,进而克服相关技术中对象识别操作的复杂度较高的问题。

作为一种可选的方案,第二获取单元604包括:

1)第一运算模块,用于对目标对象与第一目标参数矩阵进行叉乘运算,得到特征矩阵;

2)第二运算模块,用于对目标对象与第二目标参数矩阵进行点乘运算,得到特征向量。

具体示例可以参照上文记载的实施例,此处不再赘述。

作为一种可选的方案,第一运算单元606包括:

1)第一处理模块,用于重复执行以下步骤,直至遍历多个待确定矩阵:从多个待确定矩阵中获取当前待确定矩阵;对当前待确定矩阵与特征矩阵进行逐行内积运算,得到当前对象向量;对当前对象向量与特征向量进行叠加运算,得到与当前待确定矩阵相匹配的当前识别子向量;获取下一个待确定矩阵作为当前待确定矩阵。

具体示例可以参照上文记载的实施例,此处不再赘述。

作为一种可选的方案,第一识别单元608包括:

1)第二处理模块,用于对多个识别子向量进行加权平均处理,得到处理结果;

2)识别模块,用于将处理结果作为与目标对象匹配的识别结果。

具体示例可以参照上文记载的实施例,此处不再赘述。

作为一种可选的方案,还包括:

1)第三获取单元,用于在将处理结果作为与目标对象匹配的识别结果之后,在一层网络结构并非目标贝叶斯深度神经网络模型中的最后一层网络结构的情况下,从目标贝叶斯深度神经网络模型中,获取位于一层网络结构之后的下一层网络结构中的高斯分布参数对应的第一目标参数矩阵和第二目标参数矩阵;

2)第二识别单元,用于将识别结果作为下一层网络结构的待识别的目标对象,以确定与下一层网络结构的目标对象对应的识别结果。

具体示例可以参照上文记载的实施例,此处不再赘述。

作为一种可选的方案,上述装置还包括:

1)第三识别单元,用于在将处理结果作为与目标对象匹配的识别结果之后,在一层网络结构为目标贝叶斯深度神经网络模型中的最后一层网络结构的情况下,将识别结果作为目标贝叶斯深度神经网络模型的输出结果。

具体示例可以参照上文记载的实施例,此处不再赘述。

作为一种可选的方案,第一获取单元602包括:

1)训练模块,用于利用样本数据对初始化的贝叶斯深度神经网络模型进行训练,以得到用于进行对象识别的目标贝叶斯深度神经网络模型;

2)第一确定模块,用于确定目标贝叶斯深度神经网络模型的网络模型架构,其中,网络模型架构中包括多层网络结构,第l层网络结构为目标贝叶斯深度神经网络模型中第l层输入神经元与第l层输出神经元之间的结构,l为正整数;

3)第一获取模块,用于从网络模型架构中获取第l层网络结构中的高斯分布参数,其中,高斯分布参数包括标准差参数和均值参数;

4)第二确定模块,用于根据均值参数确定第l层网络结构的均值参数矩阵,并根据标准差参数确定第l层网络结构的标准差参数矩阵,其中,第一目标参数矩阵包括均值参数矩阵,第二目标参数矩阵包括标准差参数矩阵。

具体示例可以参照上文记载的实施例,此处不再赘述。

作为一种可选的方案,还包括:

1)第三确定模块,用于在从网络模型架构中获取一层网络结构之后,将第l层输出神经元作为第l+1层输入神经元;

2)第二获取模块,用于根据第l+1层输入神经元及第l+1层输出神经元,获取网络模型架构中第l层网络结构之后的第l+1层网络结构。

具体示例可以参照上文记载的实施例,此处不再赘述。

作为一种可选的方案,训练模块包括以下之一:

1)第一训练子模块,用于利用样本文本数据对初始化的贝叶斯深度神经网络模型进行训练,以得到用于对文本对象进行识别的目标贝叶斯深度神经网络模型;

2)第二训练子模块,用于利用样本图像数据对初始化的贝叶斯深度神经网络模型进行训练,以得到用于对图像对象进行识别的目标贝叶斯深度神经网络模型;

3)第三训练子模块,用于利用样本音频数据对初始化的贝叶斯深度神经网络模型进行训练,以得到用于对音频对象进行识别的目标贝叶斯深度神经网络模型。

具体示例可以参照上文记载的实施例,此处不再赘述。

根据本发明实施例的又一个方面,还提供了一种用于实施上述降低贝叶斯深度神经网络计算复杂度的方法的电子装置,如图7所示,该电子装置包括存储器702和处理器704,该存储器702中存储有计算机程序,该处理器704被设置为通过计算机程序执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

S1,获取目标贝叶斯深度神经网络模型的一层网络结构中的高斯分布参数对应的第一目标参数矩阵和第二目标参数矩阵,其中,目标贝叶斯深度神经网络模型为利用样本数据对初始化的贝叶斯深度神经网络模型进行训练,得到的完成训练的神经网络模型;

S2,获取待识别的目标对象与第一目标参数矩阵进行运算得到的特征矩阵,及目标对象与第二目标参数矩阵进行运算得到的特征向量;

S3,利用特征矩阵和特征向量,与多个待确定矩阵中的每个待确定矩阵分别进行组合运算,得到多个识别子向量,其中,多个待确定矩阵为对参考曲线进行采样后得到;

S4,根据多个识别子向量确定与目标对象对应的识别结果。

可选地,本领域普通技术人员可以理解,图7所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图7其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图7中所示更多或者更少的组件(如网络接口等),或者具有与图7所示不同的配置。

其中,存储器702可用于存储软件程序以及模块,如本发明实施例中的降低贝叶斯深度神经网络计算复杂度的方法和装置对应的程序指令/模块,处理器704通过运行存储在存储器702内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的降低贝叶斯深度神经网络计算复杂度的方法。存储器702可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器702可进一步包括相对于处理器704远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器702具体可以但不限于用于存储目标贝叶斯深度神经网络模型中的高斯分布参数等信息。作为一种示例,如图7所示,上述存储器702中可以但不限于包括上述降低贝叶斯深度神经网络计算复杂度的装置中的第一获取单元602、第二获取单元604、第一运算单元606及第一识别单元608。此外,还可以包括但不限于上述降低贝叶斯深度神经网络计算复杂度的装置中的其他模块单元,本示例中不再赘述。

可选地,上述的传输装置706用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置706包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置706为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

此外,上述电子装置还包括:显示器708,用于显示上述识别结果;和连接总线710,用于连接上述电子装置中的各个模块部件。

根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

S1,获取目标贝叶斯深度神经网络模型的一层网络结构中的高斯分布参数对应的第一目标参数矩阵和第二目标参数矩阵,其中,目标贝叶斯深度神经网络模型为利用样本数据对初始化的贝叶斯深度神经网络模型进行训练,得到的完成训练的神经网络模型;

S2,获取待识别的目标对象与第一目标参数矩阵进行运算得到的特征矩阵,及目标对象与第二目标参数矩阵进行运算得到的特征向量;

S3,利用特征矩阵和特征向量,与多个待确定矩阵中的每个待确定矩阵分别进行组合运算,得到多个识别子向量,其中,多个待确定矩阵为对参考曲线进行采样后得到;

S4,根据多个识别子向量确定与目标对象对应的识别结果。

可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

相关技术
  • 降低贝叶斯深度神经网络计算复杂度的方法和装置
  • 一种深度神经网络的贝叶斯结构学习方法及装置
技术分类

06120112518333