基于深度学习网络的预测方法、装置、设备及存储介质与流程

文档序号:18602193发布日期:2019-09-03 22:47阅读:117来源:国知局
基于深度学习网络的预测方法、装置、设备及存储介质与流程

本发明属于电子信息技术领域,尤其涉及一种基于深度学习网络的预测方法、装置、设备及存储介质。



背景技术:

神经网络作为计算机科学的一个传统分支,实现了通过将神经元节点构建为层状结构来模拟生物大脑的功能。上世纪60年代,美国计算机科学家frankrosenblatt构建了感知器(perceptron,即单层神经网络),并证明了其经过学习(训练)之后可以逼近任意线性可分(linearseparable)函数的泛化能力,在此之后,单隐层前馈神经网络(即两层神经网络)为感知器建立了额外的一层神经元节点,让神经网络通过学习可以逼近各种非线性函数。近年来,由于大数据应用的普及与计算机硬件的进步,深度神经网络(deepneuralnetwork,简称dnn)即多层神经网络,凭借其可以对数据特征进行提取(featureextraction)的能力,被用来对数据进行分类(classification)及递归(regression)运算,在计算机视觉、自然语言识别以及生物检测等领域有着广泛的应用。

由于使用多层神经网络的一个重要问题是如何对网络进行训练,如果采用传统的反向传播算法(backpropagation),位于神经网络前几层的参数很难得到有效调整,同时由于网络结构过于复杂,神经网路很容易“过拟合”(overfitting)训练数据,因此,hinton等提出了一种巧妙的机制来解决这一问题,他们首先利用无监督学习来预训练每一层网路,即每次用无监督学习只训练一层,将其训练结果作为其高一层的输入,最后再用监督学习去调整所有层。

相比多用于自动数据聚类分析的无监督学习技术,监督学习得益于其强大的分类能力,例如基于卷积神经网络(cnn)的监督学习技术,在算法以及硬件实现上都有迅猛的发展,然而,监督学习技术有其应用的局限性。例如,一方面,如果拥有关于染色体x-y配对的大量数据,就能够利用深度学习来进行监督学习和预测,然而,如果让算法在无监督或在小样本监督条件下学习,这方面的算法在很大程度上尚处于摇篮期。另一方面,反向传播计算需要庞大的计算能力,训练、测试成千上万的数据可能需要长达几周的时间,同时伴随计算服务器体积大、功耗高等问题。以上这些问题已成为深度学习在许多实时性要求高或需要低功耗的领域的瓶颈,比如自动驾驶领域。只有探索更好的深度学习算法与架构,才能满足复杂多变的数据和模型规模继续扩大的需求。



技术实现要素:

本发明的目的在于提供一种基于深度学习网络的预测方法、装置、设备及存储介质,旨在解决现有深度学习网络计算量大、训练时间长的问题。

一方面,本发明提供了一种基于深度学习网络的预测方法,所述方法包括下述步骤:

当接收到对输入的待预测数据进行预测的请求时,将所述待预测数据输入到预先构建并训练好的记忆预测模型中,所述记忆预测模型由多层记忆网络和与所述多层记忆网络对应的多层概率更新网络组成;

通过所述多层记忆网络中的当前层记忆网络对所述待预测数据进行特征提取,通过与所述当前层记忆网络对应的当前层概率更新网络对所述提取到的特征所属的类别进行预测,以得到当前层预测分类值,并获取所述预测分类值对应类别出现次数和当前层所述提取到的特征所属类别出现次数;

判断所述预测分类值是否满足预设的终止条件;

是则,输出所述待预测数据的预测分类值;

否则,将所述当前层记忆网络提取的特征输入到下一层记忆网络,将所述下一层记忆网络设置为所述当前层记忆网络,并跳转至通过所述多层记忆网络中的当前层记忆网络对所述待预测数据进行特征提取的步骤。

另一方面,本发明提供了一种基于深度学习网络的预测装置,所述装置包括:

数据输入单元,用于当接收到对输入的待预测数据进行预测的请求时,将所述待预测数据输入到预先构建并训练好的记忆预测模型中,所述记忆预测模型由多层记忆网络和与所述多层记忆网络对应的多层概率更新网络组成;

类别预测单元,用于通过所述多层记忆网络中的当前层记忆网络对所述待预测数据进行特征提取,通过与所述当前层记忆网络对应的当前层概率更新网络对所述提取到的特征所属的类别进行预测,以得到当前层预测分类值,并获取所述预测分类值对应类别出现次数和当前层所述提取到的特征所属类别出现次数;

终止条件判断单元,用于判断所述预测分类值是否满足预设的终止条件;

分类值输出单元,用于当所述预测分类值满足所述预设的终止条件时,输出所述待预测数据的预测分类值;以及

网络设置单元,用于当所述预测分类值不满足所述预设的终止条件时,将所述当前层记忆网络提取的特征输入到下一层记忆网络,将所述下一层记忆网络设置为所述当前层记忆网络,并触发所述类别预测单元执行对应的步骤。

另一方面,本发明还提供了一种计算设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前所述方法的步骤。

另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如前所述方法的步骤。

本发明在当接收到对输入的待预测数据进行预测的请求时,将待预测数据输入到预先构建并训练好的、由多层记忆网络和与其对应的多层概率更新网络组成的记忆预测模型中,通过当前层记忆网络对待预测数据进行特征提取,通过对应的当前层概率更新网络对该特征所属的类别进行预测,以得到当前层预测分类值,当该预测分类值满足预设的终止条件时,输出该预测分类值,否则,将当前层记忆网络提取的特征输入到下一层记忆网络,继续执行特征提取和类别预测的步骤,从而提高了对待预测数据的预测速度和预测准确度,进而提高了用户体验。

附图说明

图1是本发明实施例一提供的基于深度学习网络的预测方法的实现流程图;

图2是本发明实施例一提供的基于深度学习网络的预测方法中的预测结果反馈流程示例图;

图3是本发明实施例二提供的基于深度学习网络的预测方法中记忆预测模型的训练流程图;

图4是本发明实施例二提供的记忆预测模型训练示例图;

图5是本发明实施例三提供的基于深度学习网络的预测装置的结构示意图;

图6是本发明实施例四提供的基于深度学习网络的预测装置的结构示意图;以及

图7是本发明实施例五提供的计算设备的结构示意图。

具体实施方式

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

以下结合具体实施例对本发明的具体实现进行详细描述:

实施例一:

图1示出了本发明实施例一提供的基于深度学习网络的预测方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

在步骤s101中,当接收到对输入的待预测数据进行预测的请求时,将待预测数据输入到预先构建并训练好的记忆预测模型中,该记忆预测模型由多层记忆网络和与多层记忆网络对应的多层概率更新网络组成。

本发明实施例适用于计算设备,例如,个人计算机、服务器等。待预测的数据可以为一组具有时序特征的无监督学习的文本、语音或者音乐等,也可以为一组有监督学习的外部指令,例如,图像分类指令等。

人的大脑通过6层新皮层记忆结构将每时每刻看到、听到、感觉到的事物从底层记忆向高层记忆逐层传递,底层记忆提取事物的特征较为简单,越往上层记忆提取事物的特征越精细,从而达到对事物识别的目的,例如图像检测,计算机需要进行100万步以上的计算,而大脑可以在100步内解决。因此,优选地,本发明实施例的记忆预测模型包括六层记忆网络,其中,每层记忆网络对应一层概率更新网络,从而通过模拟人脑新皮层记忆结构,本发明实施例能够根据待预测数据的规模调整记忆网络的层次,提高了记忆网络的运行效率。

进一步优选地,每层记忆网络为回声状态网络(esn),该回声状态网络通过使用大规模随机连接的循环网络取代经典神经网络中的中间层,从而简化网络的训练过程,进而提高了网络的训练速度。可选地,本发明实施例也可以采用其它类似的循环神经网络(rnn)变种,例如长短时记忆网络(lstm)、门限循环单元(gru)等。

在步骤s102中,通过多层记忆网络中的当前层记忆网络对待预测数据进行特征提取,通过与当前层记忆网络对应的当前层概率更新网络对提取到的特征所属的类别进行预测,以得到当前层预测分类值,并获取预测分类值对应类别出现次数和当前层提取到的特征所属类别出现次数。

在本发明实施例中,首先,将由对待预测数据形成的初始输入序列输入到多层记忆网络的当前层记忆网络中,例如,输入到第一层记忆网络(l1层)的输入层,l1层输出第一特征向量,然后,通过与l1层对应的当前层概率更新网络对提取到的特征所属的类别进行预测,以得到当前层预测分类值,并获取预测分类值对应类别出现次数和当前层提取到的特征所属类别出现次数。作为示例地,若l1层从输入序列提取得到的特征为x1、x2、x3、x4,通过当前层概率更新网络对该特征所属类别进行预测,经过预测,特征x1、x2、x3、x4都在a类别中出现,特征x1、x3还在b类别中出现,特征x2、x3还在c类别中出现,因此,在该层概率更新网络中,类别a出现了4次,类别b和c分别出现了2次,从而最终做出的预测为该特征属于a。

在本发明实施例中,优选地,概率更新网络采用贝叶斯方法,通过贝叶斯方法对提取到的特征所属的类别进行概率计算,以得到该特征的预测分类值,从而能对特征的分类做出更科学、合理的判断。

在步骤s103中,判断该预测分类值是否满足预设的终止条件,当满足时,则执行步骤s104,否则执行步骤s105。

在本发明实施例中,终止条件可以为预设数量个连续层的预测分类值相同。例如,两个连续层的预测分类值相同时,即可终止运算,无需继续向上传递。

在步骤s104中,将当前层预测分类值作为待预测数据的预测结果进行输出。

在步骤s105中,将当前层记忆网络提取的特征输入到下一层记忆网络,将下一层记忆网络设置为当前层记忆网络,并跳转至步骤s102。

在本发明实施例中,当当前层预测分类值不满足终止条件时,将当前层记忆网络提取的特征输入到下一层记忆网络,将下一层记忆网络设置为当前层记忆网络,并跳转至步骤s102,以通过下一层记忆网络对输入的序列继续进行特征提取和类别预测。作为示例地,例如,将初始的输入序列输入到第一层记忆网络(l1层)的输入层,l1层输出第一特征向量,若该层对应的概率更新网络输出的预测分类值没有达到终止条件,则将第一特征向量作为第二层记忆网络(l2层)的输入序列,输入到l2层的输入层,l2层输出第二特征向量,然后,l2层对应的概率更新网络对第二特征向量进行预测,如果还没有达到终止条件时,则将第二特征向量作为第三层记忆网络(l3层)的输入序列,输入到l3层的输入层,依此依次向高层记忆网络传递,以通过下一层记忆网络对输入的序列继续进行特征提取和类别预测。

在本发明实施例中,通过记忆预测模型得到准确的预测分类值后,各层将输出的预测分类值对应类别出现的次数以及特征所属类别出现的次数反馈给概率更新网络,反馈流程如图2所示,反馈过程和预测过程的执行方向相向。作为示例地,图2所示的记忆预测模型包括6层记忆网络l1、l2、l3、l4、l5以及l6,通过记忆预测模型的l6层得到准确的预测分类值后,首先,l6层将输出的预测分类值对应的类别出现的次数以及特征所属类别出现的次数反馈给l6层对应的概率更新网络,以用于计算该层类别出现的概率p6(类别)与在该类别出现的情况下特征出现的概率p6(特征|类别),接下来,l5层将输出的预测分类值对应的类别出现的次数以及特征所属类别出现的次数反馈给l5层对应的概率更新网络,以用于计算该层类别出现的概率p5(类别)与在该类别出现的情况下特征出现的概率p5(特征|类别),依此进行反馈,以便于后续能更好地对其它输入序列进行预测。

在本发明实施例中,当接收到对输入的待预测数据进行预测的请求时,通过记忆预测模型中的当前层记忆网络对待预测数据进行特征提取,并通过对应的当前层概率更新网络对该特征所属的类别进行预测,获取当前层预测分类值,当该预测分类值满足预设的终止条件时,输出该预测分类值,否则,将当前层记忆网络提取的特征输入到下一层记忆网络,从而通过模拟人脑新皮层记忆结构对待预测数据进行预测,提高了待预测数据的预测速度和预测准确度,进而提高了用户体验。

实施例二:

图3示出了本发明实施例二提供的基于深度学习网络的预测方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

在步骤s301中,将预设的训练样本输入到预先构建的记忆预测模型中的记忆网络。

在本发明实施例中,训练样本可以为一组具有时序特征的无监督学习的文本、语音或者音乐等,也可以为一组有监督学习的外部指令,例如,图像分类指令等。

在步骤s302中,通过记忆网络中的每层记忆网络对由训练样本所形成的输入序列进行特征提取。

在步骤s303中,通过记忆网络对应的概率更新网络对该特征所属的类别进行预测,输出该特征的预测分类值。

在步骤s304中,根据预设的权值计算公式和输出的预测分类值,计算记忆网络中每层记忆网络的输入层、隐含层、输出层到输出层的连接权值向量。

在本发明实施例中,优选地,根据公式计算第j层记忆网络的输入层、隐含层、输出层到输出层的连接权值向量wi,其中,δ()为预设的激活函数,激活函数可以为sigmoid、tanh或者relu等,m为所述该层记忆网络输入层的节点个数,xi为该层输入序列中的第i个输入,bi为该层记忆网络输出层的第i个输出节点的偏移量,qj为第j层输出的预测分类值,从而提高了记忆预测模型的训练速度。

本发明实施例的记忆预测模型训练过程如图4所示,当输入层接收到的输入序列为[x1,x2,x3....xn]时,首先,通过记忆网络中的l1层对该输入序列进行特征提取,然后,通过l1层对应的概率更新网络对该特征所属的类别进行概率计算p1(类别|特征),以输出该特征的预测分类值q1,然后,根据预设的权值计算公式和输出的该预测分类值q1,计算l1层的输入层、隐含层、输出层到输出层的连接权值向量w1,然后,将l1层提取的特征作为输入序列输入到l2层,通过l2层提取的特征和与其对应的概率更新网络输出的预测分类值q2,对l2层的连接权值向量w2进行训练,依此,对l3、l4、l5、l6的连接权值向量进行逐层训练,以完成对记忆预测模型的训练。

实施例三:

图5示出了本发明实施例三提供的基于深度学习网络的预测装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:

数据输入单元51,用于当接收到对输入的待预测数据进行预测的请求时,将待预测数据输入到预先构建并训练好的记忆预测模型中,该记忆预测模型由多层记忆网络和与多层记忆网络对应的多层概率更新网络组成。

本发明实施例适用于计算设备,例如,个人计算机、服务器等。待预测的数据可以为一组具有时序特征的无监督学习的文本、语音或者音乐等,也可以为一组有监督学习的外部指令,例如,图像分类指令等。

人的大脑通过6层新皮层记忆结构将每时每刻看到、听到、感觉到的事物从底层记忆向高层记忆逐层传递,底层记忆提取事物的特征较为简单,越往上层记忆提取事物的特征越精细,从而达到对事物识别的目的,例如图像检测,计算机需要进行100万步以上的计算,而大脑可以在100步内解决。因此,优选地,本发明实施例的记忆预测模型包括六层记忆网络,其中,每层记忆网络对应一层概率更新网络,从而通过模拟人脑新皮层记忆结构,本发明实施例能够根据待预测数据的规模调整记忆网络的层次,提高了记忆网络的运行效率。

进一步优选地,每层记忆网络为回声状态网络(esn),该回声状态网络通过使用大规模随机连接的循环网络取代经典神经网络中的中间层,从而简化网络的训练过程,进而提高了网络的训练速度。可选地,本发明实施例也可以采用其它类似的循环神经网络(rnn)变种,例如长短时记忆网络(lstm)、门限循环单元(gru)等。

类别预测单元52,用于通过多层记忆网络中的当前层记忆网络对待预测数据进行特征提取,通过与当前层记忆网络对应的当前层概率更新网络对提取到的特征所属的类别进行预测,以得到当前层预测分类值,并获取预测分类值对应类别出现次数和当前层提取到的特征所属类别出现次数。

在本发明实施例中,首先,将由对待预测数据形成的初始输入序列输入到多层记忆网络的当前层记忆网络中,例如,输入到第一层记忆网络(l1层)的输入层,l1层输出第一特征向量,然后,通过与l1层对应的当前层概率更新网络对提取到的特征所属的类别进行预测,以得到当前层预测分类值,并获取预测分类值对应类别出现次数和当前层提取到的特征所属类别出现次数。作为示例地,若l1层从输入序列提取得到的特征为x1、x2、x3、x4,通过当前层概率更新网络对该特征所属类别进行预测,经过预测,特征x1、x2、x3、x4都在a类别中出现,特征x1、x3还在b类别中出现,特征x2、x3还在c类别中出现,因此,在该层概率更新网络中,类别a出现了4次,类别b和c分别出现了2次,从而最终做出的预测为该特征属于a。

在本发明实施例中,优选地,概率更新网络采用贝叶斯方法,通过贝叶斯方法对提取到的特征所属的类别进行概率计算,以得到该特征的预测分类值,从而能对特征的分类做出更科学、合理的判断。

终止条件判断单元53,用于判断该预测分类值是否满足预设的终止条件。

在本发明实施例中,终止条件可以为预设数量个连续层的预测分类值相同。例如,两个连续层的预测分类值相同时,即可终止运算,无需继续向上传递。

分类值输出单元54,用于当所述预测分类值满足所述预设的终止条件时,将当前层预测分类值作为待预测数据的预测结果进行输出。

网络设置单元55,用于当所述预测分类值不满足所述预设的终止条件时,将当前层记忆网络提取的特征输入到下一层记忆网络,将下一层记忆网络设置为当前层记忆网络,并触发所述类别预测单元52执行对应的步骤。

在本发明实施例中,当当前层预测分类值不满足终止条件时,将当前层记忆网络提取的特征输入到下一层记忆网络,将下一层记忆网络设置为当前层记忆网络,并跳转至类别预测单元52,以通过下一层记忆网络对输入的序列继续进行特征提取和类别预测。作为示例地,例如,将初始的输入序列输入到第一层记忆网络(l1层)的输入层,l1层输出第一特征向量,若该层对应的概率更新网络输出的预测分类值没有达到终止条件,则将第一特征向量作为第二层记忆网络(l2层)的输入序列,输入到l2层的输入层,l2层输出第二特征向量,然后,l2层对应的概率更新网络对第二特征向量进行预测,如果还没有达到终止条件时,则将第二特征向量作为第三层记忆网络(l3层)的输入序列,输入到l3层的输入层,依此依次向高层记忆网络传递,以通过下一层记忆网络对输入的序列继续进行特征提取和类别预测。

在本发明实施例中,基于深度学习网络的预测装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。

实施例四:

图6示出了本发明实施例四提供的基于深度学习网络的预测装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:

训练样本输入单元61,用于将预设的训练样本输入到预先构建的记忆预测模型中的记忆网络;

样本特征提取单元62,用于通过记忆网络中的每层记忆网络对由训练样本所形成的输入序列进行特征提取;

预测值输出单元63,用于通过记忆网络对应的概率更新网络对该特征所属的类别进行预测,输出所述特征的预测分类值;

权值向量计算单元64,用于根据预设的权值计算公式和输出的预测分类值,计算记忆网络中每层记忆网络的输入层、隐含层、输出层到输出层的连接权值向量;

数据输入单元65,用于当接收到对输入的待预测数据进行预测的请求时,将待预测数据输入到预先构建并训练好的记忆预测模型中,该记忆预测模型由多层记忆网络和与多层记忆网络对应的多层概率更新网络组成;

类别预测单元66,用于通过多层记忆网络中的当前层记忆网络对待预测数据进行特征提取,通过与当前层记忆网络对应的当前层概率更新网络对提取到的特征所属的类别进行预测,以得到当前层预测分类值,并获取预测分类值对应类别出现次数和当前层提取到的特征所属类别出现次数;

终止条件判断单元67,用于判断该预测分类值是否满足预设的终止条件;

分类值输出单元68,用于当所述预测分类值满足所述预设的终止条件时,将当前层预测分类值作为待预测数据的预测结果进行输出;以及

网络设置单元69,用于当所述预测分类值不满足所述预设的终止条件时,将当前层记忆网络提取的特征输入到下一层记忆网络,将下一层记忆网络设置为当前层记忆网络,并触发类别预测单元66执行对应的步骤。

在本发明实施例中,基于深度学习网络的预测装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。各单元的具体实施方式可参考实施例一和实施例二的描述,在此不再赘述。

实施例五:

图7示出了本发明实施例五提供的计算设备的结构,为了便于说明,仅示出了与本发明实施例相关的部分。

本发明实施例的计算设备7包括处理器70、存储器71以及存储在存储器71中并可在处理器70上运行的计算机程序72。该处理器70执行计算机程序72时实现上述基于深度学习网络的预测方法实施例中的步骤,例如图1所示的步骤s101至s105。或者,处理器70执行计算机程序72时实现上述各装置实施例中各单元的功能,例如图5所示单元51至55的功能。

在本发明实施例中,当接收到对输入的待预测数据进行预测的请求时,将待预测数据输入到预先构建并训练好的、由多层记忆网络和与其对应的多层概率更新网络组成的记忆预测模型中,通过当前层记忆网络对待预测数据进行特征提取,通过对应的当前层概率更新网络对该特征所属的类别进行预测,以得到当前层预测分类值,并获取预测分类值对应类别出现次数和当前层提取到的特征所属类别出现次数,当该预测分类值满足预设的终止条件时,输出该预测分类值,否则,将当前层记忆网络提取的特征输入到下一层记忆网络,本发明实施例通过模拟人脑新皮层记忆结构对待预测数据进行预测,从而提高了对待预测数据的预测速度和预测准确度,进而提高了用户体验。

本发明实施例的计算设备可以为个人计算机、服务器。该计算设备7中处理器70执行计算机程序72时实现基于深度学习网络的预测方法时实现的步骤可参考前述方法实施例的描述,在此不再赘述。

实施例六:

在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述基于深度学习网络的预测方法实施例中的步骤,例如,图1所示的步骤s101至s105。或者,该计算机程序被处理器执行时实现上述各装置实施例中各单元的功能,例如图5所示单元51至55的功能。

在本发明实施例中,当接收到对输入的待预测数据进行预测的请求时,将待预测数据输入到预先构建并训练好的、由多层记忆网络和与其对应的多层概率更新网络组成的记忆预测模型中,通过当前层记忆网络对待预测数据进行特征提取,通过对应的当前层概率更新网络对该特征所属的类别进行预测,以得到当前层预测分类值,并获取预测分类值对应类别出现次数和当前层提取到的特征所属类别出现次数,当该预测分类值满足预设的终止条件时,输出该预测分类值,否则,将当前层记忆网络提取的特征输入到下一层记忆网络,本发明实施例通过模拟人脑新皮层记忆结构对待预测数据进行预测,从而提高了对待预测数据的预测速度和预测准确度,进而提高了用户体验。

本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,rom/ram、磁盘、光盘、闪存等存储器。

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

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