神经网络预测方法及装置与流程

文档序号:17491518发布日期:2019-04-23 20:36阅读:175来源:国知局
神经网络预测方法及装置与流程

本公开涉及神经网络技术领域,尤其涉及一种神经网络预测方法及装置。



背景技术:

在实际的生活中,需要对各种事件进行预测,例如针对即将上映的电影预测票房、针对即将上映的电视剧预测收视率、美国总统选举、当前彩票的中奖数字、足球赛的胜负等,各种待预测事件的影响因素复杂、各影响因素之间不同的关联关系也会导致不同的预测结果,但在传统的预测手段中,只能针对有限的数据,利用概率统计等相关算法进行预测,预测结果的准确率低。



技术实现要素:

有鉴于此,本公开提出了一种神经网络预测方法及装置,能够对待预测对象的特征信息进行处理,并根据需求输出一个或多个预测结果,提高了预测结果的准确率。

根据本公开的一方面,提供了一种神经网络预测方法,所述方法包括:

获取待预测对象的特征信息;

将所述特征信息输入预测模型中进行处理,获取针对所述待预测对象的预测结果;

输出所述待预测对象的预测结果,

其中,所述预测模型包括长短期记忆网络lstm模块、深度神经网络dnn模块以及多任务学习网络mtl模块。

在一种可能的实现方式中,将所述特征信息输入预测模型中进行处理,获取针对所述待预测对象的预测结果,包括:

将所述特征信息输入所述lstm模块中进行处理,确定所述待预测对象的长短期记忆信息;

将所述长短期记忆信息输入所述dnn模块中进行处理,确定所述待预测对象的深度信息;

将所述深度信息输入所述mtl模块中进行处理,确定针对所述待预测对象的预测结果。

在一种可能的实现方式中,所述预测模型还包括嵌入模块,

其中,将所述特征信息输入预测模型中进行处理,获取针对所述待预测对象的预测结果,还包括:

将初始信息输入所述嵌入模块进行向量化处理,确定所述初始信息的向量信息;

将所述初始信息和所述向量信息确定为所述特征信息。

在一种可能的实现方式中,所述预测结果包括:

主预测结果以及相关预测结果,

其中,在所述预测模型的目标函数中,与所述主预测结果相关联的参数权重大于与所述相关预测结果相关联的参数权重。

在一种可能的实现方式中,输出所述待预测对象的预测结果,包括以下任意一种:

输出所述待预测对象的主预测结果;

输出所述待预测对象的主预测结果以及相关预测结果。

在一种可能的实现方式中,所述方法还包括:

获取样本对象当前周期的特征信息;

将所述当前周期的特征信息以及前一周期的训练预测结果输入初始预测模型中进行处理,获取针对所述样本对象当前周期的训练预测结果;

根据所述样本对象的多个周期的训练预测结果以及所述多个周期的期望预测结果,分别确定所述样本对象的多个周期的模型损失;

根据所述模型损失,调整所述初始预测模型中的参数权重,确定调整后的预测模型;

在所述模型损失满足训练条件的情况下,将调整后的预测模型确定为最终的预测模型。

在一种可能的实现方式中,根据所述模型损失,调整所述初始预测模型中的参数权重,确定调整后的预测模型,包括:

根据所述样本对象多个周期的模型损失,依次调整所述mtl模块、所述dnn模块、所述lstm模块以及所述嵌入模块中的参数权重,确定调整后的预测模型。

根据本公开的另一方面,提供了一种神经网络预测装置,其特征在于,所述装置包括:

特征信息获取单元,用于获取待预测对象的特征信息;

预测结果获取单元,用于将所述特征信息输入预测模型中进行处理,获取针对所述待预测对象的预测结果;

预测结果输出单元,用于输出所述待预测对象的预测结果,

其中,所述预测模型包括长短期记忆网络lstm模块、深度神经网络dnn模块以及多任务学习网络mtl模块。

在一种可能的实现方式中,所述预测结果获取单元包括:

lstm处理子单元,用于将所述特征信息输入所述lstm模块中进行处理,确定所述待预测对象的长短期记忆信息;

dnn处理子单元,用于将所述长短期记忆信息输入所述dnn模块中进行处理,确定所述待预测对象的深度信息;

mtl处理子单元,用于将所述深度信息输入所述mtl模块中进行处理,确定针对所述待预测对象的预测结果。

在一种可能的实现方式中,所述预测模型还包括嵌入模块,

所述预测结果获取单元还包括:

嵌入子单元,用于将初始信息输入所述嵌入模块进行向量化处理,确定所述初始信息的向量信息;

信息确定子单元,用于将所述初始信息和所述向量信息确定为所述特征信息。

在一种可能的实现方式中,所述预测结果包括:

主预测结果以及相关预测结果,

其中,在所述预测模型的目标函数中,与所述主预测结果相关联的参数权重大于与所述相关预测结果相关联的参数权重。

在一种可能的实现方式中,所述预测结果输出单元用于输出以下任意一种:

输出所述待预测对象的主预测结果;

输出所述待预测对象的主预测结果以及相关预测结果。

在一种可能的实现方式中,还包括:

样本特征信息获取单元,用于获取样本对象当前周期的特征信息;

训练预测结果获取单元,用于将所述当前周期的特征信息以及前一周期的训练预测结果输入初始预测模型中进行处理,获取针对所述样本对象当前周期的训练预测结果;

模型损失确定单元,用于根据所述样本对象的多个周期的训练预测结果以及所述多个周期的期望预测结果,分别确定所述样本对象的多个周期的模型损失;

权重调整单元,用于根据所述模型损失,调整所述初始预测模型中的参数权重,确定调整后的预测模型;

预测模型确定单元,用于在所述模型损失满足训练条件的情况下,将调整后的预测模型确定为最终的预测模型。

在一种可能的实现方式中,所述权重调整单元包括:

权重调整子单元,用于根据所述样本对象多个周期的模型损失,依次调整所述mtl模块、所述dnn模块、所述lstm模块以及所述嵌入模块中的参数权重,确定调整后的预测模型。

根据本公开的另一方面,提供了一种神经网络预测装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。

根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。

根据本公开实施例各方面的神经网络预测方法及装置,通过利用包括长短期记忆网络lstm、深度神经网络dnn以及多任务学习网络mtl的预测模型,对待预测对象的特征信息进行处理,获取针对待预测对象的预测结果,能够捕捉待预测对象的特征信息之间的时序性、待预测对象的特征信息之间的关联性,从而提高了预测结果的准确率。

根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

附图说明

包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。

图1是根据一示例性实施例示出的一种神经网络预测方法的流程图。

图2是根据一示例性实施例示出的一种神经网络预测方法中步骤s12的流程图。

图3是根据一示例性实施例示出的一种神经网络预测方法中步骤s12的流程图。

图4是根据一示例性实施例示出的一种神经网络预测方法的流程图。

图5是根据一示例性实施例示出的一种预测模型的框图。

图6是根据一示例性实施例示出的一种三层神经网络结构示意图。

图7是根据一示例性实施例示出的一种神经网络预测方法的多任务学习网络的示意图。

图8是根据一示例性实施例示出的向量信息和初始信息的输入示意图。

图9是根据一示例性实施例示出的一种神经网络预测方法的应用场景的示意图。

图10是根据一示例性实施例示出的一种神经网络预测装置的框图。

图11是根据一示例性实施例示出的一种神经网络预测装置的框图。

图12是根据一示例性实施例示出的一种用于神经网络预测的装置的框图。

具体实施方式

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

图1是根据一示例性实施例示出的一种神经网络预测方法的流程图。该方法可应用于服务器中,如图1所示,该神经网络预测方法包括:

步骤s11,获取待预测对象的特征信息。

举例来说,所述待预测对象可包括电影、电视剧、球赛、彩票、总统选举等即将发生的事件,所述特征信息包括可能对待预测对象的预测结果产生影响的各种影响因素,例如,对即将上映的电影的票房等进行预测时,待预测对象为电影,预测结果可为该电影的票房、观影人数等,特征信息可包括例如该电影的题材、档期、导演和演员等相关联的各种信息。而对球赛的比赛结果进行预测时,待预测对象为球赛,预测结果可为该球赛的结果(胜负)、比分等,特征信息可包括双方教练、球员、天气、历史胜负等相关联的各种信息。针对每个待预测对象,可以尽可能多地获取该对象的多种(多维度)特征信息,在实际预测中,每个待预测对象的特征信息可以例如为100维至200维。

在一种可能的实现方式中,特征信息可包括特征信息本身以及与特征信息相关的数值,该数值可包括离散型或连续型的实数值。以电影的票房预测的场景为例,特征信息可包括题材和演员,其中,题材可用一个布尔值来表示是否属于爱情题材这一特征,取值1表示当前样本(电影)属于爱情题材,取值0表示不属于爱情题材;而演员可使用可量化的指标来表示,例如,使用演员在电影上映前一段时间内在搜索引擎中的搜索量。

步骤s12,将所述特征信息输入预测模型中进行处理,获取针对所述待预测对象的预测结果,其中,所述预测模型包括长短期记忆网络lstm模块、深度神经网络dnn模块以及多任务学习网络mtl模块。

举例来说,所述预测模型包括训练好的神经网络预测模型,且所述神经网络预测模型包括长短期记忆网络lstm(longshort-termmemory)模块、深度神经网络dnn(deepneuralnetwork)模块以及多任务学习网络mtl(multi-tasklearning)模块。

实际的预测中,t时刻的预测结果往往与t-1时刻以及更早之前的预测结果具有一定的关联性。例如,之前(t-1时刻)已经根据某一电影的题材、导演、演员等特征信息,获取到了相对应的预测结果(票房);而当前(t时刻)该电影的特征信息可能产生变化(例如演员的正面或负面新闻等)。在该情况下,当前(t时刻)的预测结果可能是基于之前(t-1时刻)的预测结果而产生一定的变化。也就是说,当前的预测结果与之前的预测结果之间可能具有时间上的关联性。lstm模块可用于在预测结果的处理过程中引入这种时序信息。

同一待预测对象的多个/多维特征信息之间存在复杂的关联关系,而关联关系是否被准确的捕捉,直接影响到预测结果的准确度,基于深度神经网络的dnn模块用于捕捉不同的特征信息的组合模式。且dnn模块的层数越多(深度越大)其学习能力越强,最后形成的预测模型的稳定性更高,拟合能力也越强。

为同时输出一个待预测对象的多个预测结果,可利用mtl模块将多个预测结果同时进行处理。

将待预测对象的特征信息,输入训练好的预测模型进行处理后,可获取待预测对象的一个或多个预测结果,例如,将电影的特征信息输入训练好的预测模型进行处理后,可获取电影的票房的预测结果,也可以同时获取电影的票房和口碑等多个预测结果。

可以理解的是,根据待预测对象的特征信息,可根据需求灵活设定预测结果的获取情况,包括获取待预测对象的一个预测结果,和获取待预测对象的多个预测结果,在预测模型的训练过程中进行设定即可。本公开对此不作限制。

步骤s13,输出所述待预测对象的预测结果。

举例来说,获取到的是针对待预测对象的多个预测结果,根据需求,选择输出其中一个待预测对象的预测结果。

在本实施例中,通过利用包括lstm模块、dnn模块以及mtl模块的预测模型,对待预测对象的特征信息进行处理后,获取针对所述待预测对象的预测结果,根据本公开的各方面,能够捕捉待预测对象的特征信息之间的时序性、待预测对象的特征信息之间的关联性,提高了预测结果的准确率。

图2是根据一示例性实施例示出的一种神经网络预测方法中步骤s12的流程图,该方法可应用于服务器中,在上述实施例的基础上,如图2所示,步骤s12包括:

步骤s121,将所述特征信息输入所述lstm模块中进行处理,确定所述待预测对象的长短期记忆信息。

举例来说,所述待预测对象的特征信息需要输入lstm模块进行处理。图5是根据一示例性实施例示出的一种预测模型的框图。

在图5给出的实施例中,将待预测对象的特征信息,输入lstm模型进行处理,获取所述待预测对象的长短期记忆信息。由于在实际的预测中,待预测对象t时刻的预测结果往往与t-1以及更早之前的预测结果具有一定的相关性,为了在预测过程中引入这种时序信息,可以利用循环神经网络(recurrentneuralnetwork,rnn)进行处理。

在rnn的结构中,一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。其中,输入层与隐藏层、隐藏层与输出层、隐藏层与隐藏层之间分别共享一组权重参数。这些权重参数可通过bptt(backpropagationthroughtime)算法来求解。

尽管理论上rnn能够对任何长度的序列数据进行处理,实际上随着序列的长度增加,rnn会遇到深度神经网络的梯度消失问题。因此,可引入lstm结构来缓解rnn的梯度消失问题。lstm结构用于替换rnn结构中隐藏层的神经元,其使用输出门、输入门、遗忘门来决定信息在传输过程中是否被保留,每个门的具体参数同样由bptt学习算法得出。

lstm模块可用于处理待预测对象在一个时间段内的多个时间点上的特征信息,捕捉多个时间点上的特征信息之间的时序信息。lstm模块的输出信息为待预测对象的长短期记忆信息,lstm模块将长短期记忆信息输出至dnn模块。

步骤s122,将所述长短期记忆信息输入所述dnn模块中进行处理,确定所述待预测对象的深度信息。

举例来说,dnn模块包括多层全连接层,且dnn模块采用基于自编码(autoencoder)的预训练(pre-training)来解决dnn的梯度消失问题。图6是根据一示例性实施例示出的一种三层神经网络结构示意图。如图6所示,针对dnn的每一层输入,首先使用图6中的三层神经网络结构来拟合自身,其中输出层是输入层的复制,该网络结构学习的目标是通过“输入层-隐藏层”(编码权重)和“隐藏层-输出层”(解码权重)这两组权重参数尽可能地拟合输入层自身。隐藏层的结点数与dnn中下一层的结点数相同。最终使用编码权重作为当前输入层与下一个隐藏层之间权重参数的初始值,以此类推,将dnn中每一层的权重参数都通过上述预训练的方式进行初始化,最终可以使得整个dnn获得良好的收敛性。

在一种可能的实现方式中,根据预训练后的dnn模型,可以构建出dnn模块。将待预测对象的长短期记忆信息输入dnn模型中,可以对待预测对象的多维特征信息之间的关联关系进行捕捉处理,从而确定待预测对象的深度信息。

步骤s123,将所述深度信息输入所述mtl模块中进行处理,确定针对所述待预测对象的预测结果。

举例来说,可以将待预测对象的关系信息输入到mtl模块中进行处理。其中,mtl模块用于实现多任务学习,多任务学习是基于共享表示(sharedrepresentation),让主任务(maintasks)使用相关任务(relatedtasks),来提升主任务泛化效果的一种机器学习方法。例如,对于视频流量的预测,主任务是准确地预测视频流量vv(videoview),但同时预测多个相关任务会提升主任务的预测准确率,相关任务包括视频播放量、点击量、播放量等。多任务学习分为硬参数共享(hardparametersharing)和软参数共享(softparametersharing)两种,本实施例使用的是硬参数共享。

图7是根据一示例性实施例示出的一种神经网络预测方法的多任务学习网络的示意图。如图7所示,该多任务学习网络可以同时实现主任务输出以及相关任务输出,得到待预测对象的相应的主预测结果以及相关预测结果。本领域技术人员应理解,对于多任务学习网络的具体结构以及参数共享方式可根据需要进行设置,只要可以经过该mtl模块进行多任务学习即可,本公开对此不作限制。

在mtl模块中,相关任务相对于主任务相当于引入了噪声,而引入噪声可以提高模型的泛化能力。主任务和相关任务之间的正则效果,防止过拟合,提升模型泛化能力。且mtl模块的注意力机制(attention),可帮助预测模型更加关注相关的特征。

在本实施例中,通过利用包括lstm模块、dnn模块、mtl模块的预测模型,对待预测对象的特征信息进行处理后,获取针对所述待预测对象的预测结果,根据本公开的各方面,能够捕捉待预测对象的特征信息之间的时序性、待预测对象的特征信息之间的关联性,提高了预测结果的准确率。

图3是根据一示例性实施例示出的一种神经网络预测方法中步骤s12的流程图,该方法可应用于服务器中,在上述实施例的基础上,所述预测模型还包括嵌入模块。如图3所示,步骤s12还包括:

步骤s1211,将初始信息输入所述嵌入模块进行向量化处理,确定所述初始信息的向量信息。

举例来说,在实际的预测中,特征信息包括导演的历史票房、导演擅长题材、演员a的百度指数、演员a的历史票房等,其中导演的历史票房和导演擅长题材都属于导演这个主体,而演员a的百度指数、演员a的历史票房都属于演员a这个主体。即一个待预测对象包括多个主体,多个特征信息属于同一个主体。

初始信息是直接采集各种信息后,经过简单数学处理获取的离散型或连续性的实数值,但单纯依靠数值的特征信息,通常只能从一个维度反应特征信息的影响。例如,演员a在电影上映前一段时间内在搜索引擎中的搜索量作为演员a的百度指数,用于预测电影的票房。百度指数本质上反映的是主创的热度,而单纯依靠特征工程很难穷举所有影响流量的维度,除此之外,数值对外部数据的依赖也较为严重。

在嵌入模块中,将涉及到的每一个主体的所有特征信息进行拼接,用一个固定长度的向量来表示,得到每一个主体的向量信息,以流量预测为例,每一个主创、题材都对应一个固定长度的向量。

在预测模型的输入层中,除了输入初始信息,还输入利用初始信息拼接后生成的每一个主体的向量信息,在嵌入层的训练过程中,和隐藏中的结点一样,输入层中的向量信息同样需要更新,同一个主体的特征信息对应的向量信息进行权值共享。

图8是根据一示例性实施例示出的向量信息和初始信息的输入示意图,如图8所示,以电视剧流量预测为例,输入电视剧的多个特征1、特征2及特征3,图中的数值型特征表示电视剧的传统特征,在此基础上增加嵌入层(embeddinglayer)输入,即将当前电视剧的导演、主演等特征分别用一个固定长度的向量来表示,并随机初始化向量中的每一维,输出可以是当前样本的流量,在多任务学习的框架下可以增加输出,如评分等。中间层可以使用任意的神经网络结构(图中使用的是dnn),在学习过程中通过后向传播算法不断调整神经网络的参数以及嵌入层中向量的数值。训练完成后,每个特征获得一个向量表示,同时得到最终神经网络的参数。在进行预测时,除了传统的数值型特征,将当前电视剧的特征对应特征的向量拼接成嵌入层,与数值型特征一起基于训练得到的参数进行前向传播,最终计算出每个特征在输出层的深度信息y1、y2及y3。

特征信息的向量化表示,相较于传统的数值表示方式稳定性更好。向量信息有利于刻画特征信息之间的相似性,例如题材“奇幻”和“魔幻”具有一定程度的相似性,按照传统的布尔表示方式,无法刻画这种相似性,而嵌入之后可以利用向量之间的相似度来刻画这种相似性。并且,通过嵌入训练得到的向量往往蕴含了当前特征在多个维度上对于预测结构的信息量,减少了提取特征信息的工程负担。

步骤s1212,将所述初始信息和所述向量信息确定为所述特征信息。

举例来说,加入了嵌入层的预测模型,在lstm模块的输入中,需要同时包括初始信息和向量信息。

在本实施例中,由于加入了嵌入层,使得数值表示方式的稳定性更好,更利于捕捉特征信息之间的相似性,通过训练后的向量信息蕴含了当前特征信息在多个维度上对于预测结果的信息量,减少了信息特征提取工程的负担。

在一种可能的实现方式中,所述预测结果包括主预测结果以及相关预测结果,其中,在所述预测模型的目标函数中,与所述主预测结果相关联的参数权重大于与所述相关预测结果相关联的参数权重。

预测模型输出的多个预测结果,在训练模型的目标函数中,可设置先关的参数权重,来调整不同预测结果之间的准确度。例如,待预测主题为电影,主预测结果为票房,相关预测结果为口碑,在目标函数中,通过分别调整票房和口碑的参数权重,调整主预测结果为票房或口碑。

在本实施例中,预测结果包括主预测结果和相关预测结果,通过调整预测模型的目标函数中参数权重,可调整主预测结果和相关预测结果的准确度。

在一种可能的实现方式中,输出所述待预测对象的预测结果,包括以下任意一种:输出所述待预测对象的主预测结果;输出所述待预测对象的主预测结果以及相关预测结果。

由于主预测结果的准确度高于相关预测结果,当更加关注预测结果的准确度时,可只输出主预测结果,如只输出票房的预测结果;当同时关注各预测结果之间的相关性时,同时输出主预测结果和相关预测结果,在输出主预测结果票房的同时,输出相关预测结果口碑。

进一步的,预测结果包括一个时间点的预测结果,也可以包括一个时段内不同时间点的预测结果。

在本实施例中,通过选择是否输出预测结果中的主预测结果和相关预测结果,可以根据不同的关注需求获取到相关的预测结果的组合,使得本实施例的适用性更加广泛。

图4是根据一示例性实施例示出的一种神经网络预测方法的流程图,该方法可应用于服务器中,如图4所示,所述方法还包括:

步骤s14,获取样本对象当前周期的特征信息。

举例来说,一定数量的所述样本对象的特征信息用于训练预测模型,例如将已经上映过的已知票房的电影的特征信息,作为样本对象的特征信息,对于初始的预测模型进行训练。

步骤s15,将所述当前周期的特征信息以及前一周期的训练预测结果输入初始预测模型中进行处理,获取针对所述样本对象当前周期的训练预测结果。

举例来说,利用lstm模块,可处理样本对象的多个时间周期的特征信息。其中,在当前周期的预测结果的处理过程中,除输入当前周期的特征信息,还需要输入前一后期的训练预测结果共同处理。

步骤s16,根据所述样本对象的多个周期的训练预测结果以及所述多个周期的期望预测结果,分别确定所述样本对象的多个周期的模型损失。

举例来说,例如需要计算三个周期的训练预测结果,首先获取预设的初始样本对象、初始期望预测结果,将初始样本对象输入初始预测模型进行处理,得到初始训练预测结果。

然后将所述初始训练预测结果和第一个周期的样本对象输入调整后的初始预测模型进行处理,得到第一个周期的训练预测结果。

再根据第一个周期的训练预测结果和第二个周期的特征信息,利用初始预测模型进行处理,得到第二个周期的训练预测结果,以及根据第二个周期的训练预测结果和第三个周期的特征信息,利用初始预测模型进行处理,得到第三个周期的训练预测结果,最终得到各个周期的训练预测结果。

由于样本对象在每个周期的都有一个已知的实际结果,因此根据样本对象在各个周期的训练预测结果和实际结果,可以得到初始预测模型在各个周期的模型损失。

步骤s17,根据所述模型损失,调整所述初始预测模型中的参数权重,确定调整后的预测模型。

举例来说,将上述各个周期的模型损失相加后,对所有网络参数求梯度,然后根据反向传播算法bptt(backpropagationthroughtime)调整梯度,更新初始预测模型中的参数权重。

在一种可能的实现方式中,根据所述模型损失,调整所述初始预测模型中的参数权重,确定调整后的预测模型,包括:根据所述样本对象多个周期的模型损失,依次调整所述mtl模块、所述dnn模块、所述lstm模块以及所述嵌入模块中的参数权重,确定调整后的预测模型。

同样以上述三个周期的训练过程为例,根据获取到的第一周期的模型损失、第二周期的模型损失和第三周期的模型损失,采用反向传播算法,依次调整所述mtl模块、所述dnn模块、所述lstm模块以及所述嵌入模块中的参数权重,确定调整后的预测模型。

当预测模型需要进行满足设定的迭代训练次数时,在每次的迭代训练中,重复上述步骤。

步骤s18,在所述模型损失满足训练条件的情况下,将调整后的预测模型确定为最终的预测模型。

举例来说,训练条件包括设定的迭代训练次数,和/或设定的收敛条件。

在本实施例中,根据不同周期的特征信息与初始预测模型进行训练,得到满足训练条件的预测模型,得到的预测模型能够更好的反应出待预测对象的特征信息的时序性、关联性,并能得到准确的预测结果。

在本实施例中,依次调整所述初始预测模型中的各个模块的参数权重,最终得到满足训练条件的预测模型,各个模块的参数权重的调整,保证了预测模型输出的预测结果的准确度。

应用示例:

以下结合“对电影a1进行预测”作为一个示例性应用场景,给出根据本公开实施例的应用示例,以便于理解神经网络预测方法的流程。本领域技术人员应理解,以下应用示例仅仅是出于便于理解本发明实施例的目的,不应视为对本发明实施例的限制。

图9是根据一示例性实施例示出的一种神经网络预测方法的应用场景的示意图。如图9所示,在该应用示例中,训练预测模型(步骤900)。在该应用示例中,获取电影a1的当前周期的特征信息。

在电影a1作为待预测对象的应用示例中,将所述当前周期的特征信息以及前一周期的训练预测结果输入初始预测模型中进行处理,获取针对所述样本对象当前周期的训练预测结果。例如,利用lstm模块,处理样本对象的多个时间周期的特征信息,其中,在当前周期的预测结果的处理过程中,除输入当前周期的特征信息,还需要输入前一周期的训练预测结果共同处理。例如,将第二周期的特征信息以及第一周期的训练预测结果输入初始预测模型中进行处理,获取针对样本对象当前周期的训练预测结果。

在该应用示例中,根据所述样本对象的多个周期的训练预测结果以及所述多个周期的期望预测结果,分别确定所述样本对象的多个周期的模型损失。

在该应用示例中,根据所述模型损失,采用反向传播算法调整所述初始预测模型中的参数权重,确定调整后的预测模型。例如,根据电影a1样本对象当前周期的模型损失,依次调整所述mtl模块、所述dnn模块以及所述lstm模块、所述嵌入模块中的参数权重,确定当前周期调整后的预测模型。

在该应用示例中,在所述模型损失满足训练条件的情况下,将调整后的预测模型确定为最终的预测模型。例如,训练条件包括设定的迭代训练次数,和/或设定的收敛条件。在满足迭代训练次数和/或满足设定的收敛条件时,可以将调整后的预测模型确定为最终的预测模型。

在该应用示例中,服务器可以获取待预测的电影a1的特征信息(步骤901),并将特征信息输入该预测模型进行处理(步骤902),从而获取到待预测对象的预测结果,例如,电影a1的预测结果。在该应用示例中,该预测结果可以包括主预测结果(票房)以及相关预测结果(口碑、播放率等)。

根据本公开实施例,能够通过包括多个神经网络模块的预测模型,对待预测对象的特征信息进行处理,从而获取针对待预测对象的预测结果,提高了该预测结果的准确度。

图10是根据一示例性实施例示出的一种神经网络预测装置的框图,如图10所示,所述神经网络预测装置包括:

特征信息获取单元11,用于获取待预测对象的特征信息。

预测结果获取单元12,用于将所述特征信息输入预测模型中进行处理,获取针对所述待预测对象的预测结果。其中,所述预测模型包括长短期记忆网络lstm模块、深度神经网络dnn模块以及多任务学习网络mtl模块。

预测结果输出单元13,用于输出所述待预测对象的预测结果。

在本实施例中,通过利用包括长短期记忆网络lstm模块、深度神经网络dnn模块以及多任务学习网络mtl模块的预测模型,对待预测对象的特征信息进行处理后,获取针对所述待预测对象的预测结果,根据本公开的各方面,能够捕捉待预测对象的特征信息之间的时序性、待预测对象的特征信息之间的关联性,提高了预测结果的准确率。

图11是根据一示例性实施例示出的一种神经网络预测装置的框图,在上述实施例的基础上,在一种可能的实现方式中,如图11所示,预测结果获取单元12包括:

lstm处理子单元121,用于将所述特征信息输入所述lstm模块中进行处理,确定所述待预测对象的长短期记忆信息;

dnn处理子单元122,用于将所述长短期记忆信息输入所述dnn模块中进行处理,确定所述待预测对象的深度信息;

mtl处理子单元123,用于将所述深度信息输入所述mtl模块中进行处理,确定针对所述待预测对象的预测结果。

在上述实施例的基础上,在一种可能的实现方式中,如图11所示,所述特征信息包括初始信息,所述预测结果获取单元12还包括:

嵌入子单元124,用于将所述初始信息输入所述嵌入模块进行向量化处理,确定所述初始信息的向量信息;

信息确定子单元125,用于将所述初始信息和所述向量信息确定为所述特征信息。

在本实施例中,由于加入了嵌入层,使得数值表示方式的稳定性更好,更利于捕捉特征信息之间的相似性,通过训练后的向量信息蕴含了当前特征信息在多个维度上对于预测结果的信息量,减少了信息特征提取工程的负担。

在一种可能的实现方式中,所述预测结果包括主预测结果以及相关预测结果,其中,在所述预测模型的目标函数中,与所述主预测结果相关联的参数权重大于与所述相关预测结果相关联的参数权重。

在一种可能的实现方式中,所述预测结果输出单元,用于输出以下任意一种:输出所述待预测对象的主预测结果;输出所述待预测对象的主预测结果以及相关预测结果。

在上述实施例的基础上,在一种可能的实现方式中,如图11所示,所述神经网络预测装置,还包括:

样本特征信息获取单元14,用于分别获取样本对象当前周期的特征信息。

训练预测结果获取单元15,用于将所述当前周期的特征信息以及前一周期的训练预测结果输入初始预测模型中进行处理,获取针对所述样本对象当前周期的训练预测结果。

模型损失确定单元16,用于根据所述样本对象的多个周期的训练预测结果以及所述多个周期的期望预测结果,分别确定所述样本对象的多个周期的模型损失。

权重调整单元17,用于根据所述模型损失,调整所述初始预测模型中的参数权重,确定调整后的预测模型。

预测模型确定单元18,用于在所述模型损失满足训练条件的情况下,将调整后的预测模型确定为最终的预测模型。

在本实施例中,根据不同周期的特征信息与初始预测模型进行训练,得到满足训练条件的预测模型,得到的预测模型能够更好的反应出待预测对象的特征信息的时序性、关联性,并能得到准确的预测结果。

在一种可能的实现方式中,所述权重调整单元包括:权重调整子单元,用于根据所述多个样本对象多个周期的模型损失,依次调整所述mtl模块、所述dnn模块、所述lstm模块以及所述嵌入模块中的参数权重,确定调整后的预测模型。

在一种可能的实现方式中,还提供一种神经网络预测装置,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:执行本申请权利要求中任意一项所述方法的神经网络预测步骤。

在一种可能的实现方式中,还提供一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现本申请权利要求中任意一项所述的方法。

图12是根据一示例性实施例示出的一种用于神经网络预测的装置1900的框图。例如,装置1900可以被提供为一服务器。参照图12,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。

装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(i/o)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由装置1900的处理组件1922执行以完成上述方法。

本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。

这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

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