首页> 中国专利> 一种神经网络模型训练方法、信息推荐方法及存储介质

一种神经网络模型训练方法、信息推荐方法及存储介质

摘要

本申请公开了一种神经网络模型训练方法,所述神经网络模型包括特征提取模块和DNN模块,神经网络模型训练方法包括:利用特征提取模块提取训练样本的特征嵌入向量;利用DNN模块对所有特征嵌入向量进行拼接得到拼接向量,并提取行为嵌入向量;根据拼接向量和行为嵌入向量构建DNN模块的输入向量,并将输入向量输入DNN模块进行训练以便调节DNN模块的参数和行为嵌入向量的参数;将调节参数后的行为嵌入向量更新至存储模块,以便得到符合预设条件的神经网络模型。本申请使用的神经网络模型能够理解样本中的用户行为序列,提高了信息推荐的准确率。本申请还公开了一种信息推荐方法及一种存储介质,具有以上有益效果。

著录项

  • 公开/公告号CN112836081A

    专利类型发明专利

  • 公开/公告日2021-05-25

    原文格式PDF

  • 申请/专利权人 腾讯音乐娱乐科技(深圳)有限公司;

    申请/专利号CN202110224347.4

  • 发明设计人 萧永乐;顾旻玮;

    申请日2021-03-01

  • 分类号G06F16/635(20190101);G06F16/9535(20190101);G06N3/08(20060101);

  • 代理机构44285 深圳市深佳知识产权代理事务所(普通合伙);

  • 代理人王兆林

  • 地址 518052 广东省深圳市前海深港合作区前湾一路1号A栋201室(入驻深圳市前海商务秘书有限公司)

  • 入库时间 2023-06-19 11:05:16

说明书

技术领域

本申请涉及机器学习领域,特别涉及一种神经网络模型训练方法、信息推荐方法及存储介质。

背景技术

随着数字音乐和移动音乐的快速发展,在线音乐流媒体通过个性化推荐算法帮助用户找到其喜欢的内容,提升用户的在线时长和留存率。

相关技术中,主要将深度神经网络(DNN)为排序模型实现信息推荐,但是深度神经网络的排序模型的训练过程中需要假设样本之间相互独立,信息推荐的准确率较低。

因此,如何提高信息推荐的准确率是本领域技术人员目前需要解决的技术问题。

发明内容

本申请的目的是提供一种神经网络模型训练方法、信息推荐方法及存储介质,能够提高信息推荐的准确率。

为解决上述技术问题,本申请提供一种神经网络模型训练方法,所述神经网络模型包括特征提取模块、DNN模块和存储模块,所述神经网络模型训练方法包括:

利用所述特征提取模块提取训练样本的特征嵌入向量;

利用所述DNN模块对所有所述特征嵌入向量进行拼接得到拼接向量,并提取行为嵌入向量;其中,所述行为嵌入向量为用于记录用户历史行为的高维度信息反馈的嵌入向量;

根据所述拼接向量和所述行为嵌入向量构建所述DNN模块的输入向量,并将所述输入向量输入所述DNN模块进行训练以便调节所述DNN模块的参数和所述行为嵌入向量的参数;

将调节参数后的行为嵌入向量更新至所述存储模块,以便得到符合预设条件的神经网络模型。

可选的,将所述输入向量输入所述DNN模块进行训练以便调节所述DNN模块的参数和所述行为嵌入向量的参数,包括:

将所述输入向量输入所述DNN模块,并利用所述DNN模块以目标损失函数为学习目标调节所述DNN模块的参数和所述行为嵌入向量的参数。

可选的,在利用所述DNN模块以目标损失函数为学习目标调节所述DNN模块的参数和所述行为嵌入向量的参数之前,还包括:

根据所述神经网络模型的模型最小化平均Logistic损失确定第一损失函数;

根据所述行为嵌入向量与所述DNN模块倒数第二个隐层输出向量的均方误差确定第二损失函数;

对所述第一损失函数和所述第二损失函数进行加权计算得到所述目标损失函数。

可选的,所述提取行为嵌入向量,包括:

从用户行为记忆模块中提取正向行为嵌入向量和负向行为嵌入向量;其中,所述正向行为嵌入向量用于记录用户正向行为的高维度信息反馈,所述负向行为嵌入向量用于记录用户负向行为的高维度信息反馈。

可选的,将所述输入向量输入所述DNN模块进行训练以便调节所述DNN模块的参数和所述行为嵌入向量的参数,包括:

将所述输入向量输入所述DNN模块进行训练以便调节所述DNN模块的参数并确定反向传播的隐层输出向量;

若所述训练样本为正样本,则根据所述隐层输出向量更新所述正向行为嵌入向量;

若所述训练样本为负样本,则根据所述隐层输出向量更新所述负向行为嵌入向量。

可选的,在将调节参数后的行为嵌入向量更新至所述存储模块之后,还包括:

判断所述神经网络模型是否训练完毕;

若是,则将所述存储模块中所述调节参数后的行为嵌入向量上传至云服务器进行存储;

若否,则确定新的训练样本,并进入利用所述特征提取模块提取所述新的训练样本的特征嵌入向量的步骤。

本申请还提供了一种信息推荐方法,应用于基于神经网络模型的信息推荐装置,所述神经网络模型包括特征提取模块、DNN模块和存储模块,所述信息推荐方法包括:

利用所述特征提取模块提取目标数据的特征嵌入向量;

利用所述DNN模块对所有所述特征嵌入向量进行拼接得到拼接向量,并从所述存储模块中提取行为嵌入向量;其中,所述行为嵌入向量中记录有用户历史行为的高维度信息反馈;

根据所述拼接向量和所述行为嵌入向量构建所述DNN模块的输入向量,并将所述输入向量输入所述DNN模块得到所述目标数据的推荐概率;

根据所述推荐概率判断是否推荐所述目标数据。

可选的,从所述存储模块中提取行为嵌入向量,包括:

确定信息推荐请求端的用户标识;

判断所述存储模块中是否存储有所述用户标识对应的行为嵌入向量;

若是,则从所述存储模块中提取所述用户标识对应的行为嵌入向量;

若否,则从云服务器下载所述用户标识对应的行为嵌入向量至所述存储模块,以便从所述存储模块中提取所述用户标识对应的行为嵌入向量。

可选的,在向用户推荐所述目标数据之后,还包括:

接收用户反馈信息;其中,所述用户反馈信息为用户对所述目标数据的反馈信息;

根据所述拼接向量和所述用户反馈信息构建训练集;

将所述训练集输入至所述神经网络模型进行迭代训练,并根据迭代训练后所述DNN模块的倒数第二个隐层的输出向量更新所述行为嵌入向量。

本申请还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述方法执行的步骤。

本申请提供了一种神经网络模型训练方法,利用特征提取模块提取训练样本中的特征嵌入向量,进而将所有特征进行拼接得到拼接向量,以便利用拼接向量反映训练样本自身的特征。本申请引入行为嵌入向量参与神经网络模型的训练过程,行为嵌入向量用于记录用户历史行为的高维度信息反馈。本申请通过将拼接向量和行为嵌入向量作为DNN模块的输入向量,进而在训练过程中调节所述DNN模块的参数和所述行为嵌入向量的参数,以便得到符合预设条件的神经网络模型。调节参数后的行为嵌入向量能够记录用户行为序列的高维度信息,因此在神经网络模型进行信息推荐时,可以基于行为嵌入向量进行评分,使得神经网络模型能够理解样本中的用户行为序列,克服了传统方案中神经网络模型样本独立无法理解用户行为序列的缺点,进而提高了信息推荐的准确率。

本申请还提供了一种信息推荐方法,该信息推荐方法基于神经网络模型实现,该神经网络模型包括特征提取模块、DNN模块和存储模块。在信息推荐的过程中,可以利用特征提取模块提取目标数据的特征嵌入向量,并将特征嵌入向量进行拼接得到拼接向量,以便利用拼接向量反映训练样本自身的特征。存储模块中存储记录有用户历史行为的高维度信息反馈的行为嵌入向量,通过将拼接向量和所述行为嵌入向量作为DNN模块的输入向量可以得到目标数据的推荐概率,该推荐概率根据样本自身特征及用户行为的高维度信息共同确定。由此可见,本申请所使用的神经网络模型能够理解样本中的用户行为序列,克服了传统方案中神经网络模型样本独立无法理解用户行为序列的缺点,进而提高了信息推荐的准确率。

本申请同时还提供了一种存储介质,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种信息推荐系统的架构图;

图2为本申请实施例所提供的一种信息推荐方法的流程图;

图3为本申请实施例所提供的一种DNN模块的构示意图;

图4为本申请实施例所提供的一种用户行为模块更新流程图;

图5为本申请实施例所提供的一种行为嵌入向量更新方法的流程图;

图6为本申请实施例所提供的一种信息推荐装置的结构示意图;

图7为本申请实施例所提供的一种电子设备的结构图。

具体实施方式

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

为了便于理解本申请提供的信息推荐方法,下面对其使用的系统进行介绍。请参见图1,图1为本申请实施例提供的一种信息推荐系统的架构图,如图1所示,该信息推荐系统包括主机设备101、数据库102和云服务器103。主机设备101中设置有包括特征提取模块、DNN模块和存储模块的神经网络模型,主机设备101可以利用数据库中的训练样本训练神经网络模型,以便调节DNN模块和存储模块中行为嵌入向量的参数。行为嵌入向量能够记录用户历史行为的高维度信息反馈,训练后的神经网络模型能学习到用户行为序列对当前预测结果的影响,提高信息推荐的准确率。主机设备101还可以将行为嵌入向量存储至云服务器103,并在需要进行信息推荐时从云服务器103获取相应的行为嵌入向量更新至存储模块,以便在需要进行信息推荐时下载相应的行为嵌入向量进行预测。

下面请参见图2,图2为本申请实施例所提供的一种神经网络模型训练方法的流程图,本实施例中训练的神经网络模型包括特征提取模块、DNN模块和存储模块,本实施例的训练过程可以应用于图1对应实施例介绍的主机设备,本实施例可以包括以下步骤:

S201:利用特征提取模块提取训练样本的特征嵌入向量;

其中,本步骤中提到的训练样本为用于对神经网络模型进行训练的样本,训练样本中可以包括稀疏特征和连续特征,稀疏特征可以包括用户身份、职业、年龄等信息,连续特征可以包括用户操作顺序、用户使用频次等信息。作为一种可行的实施方式,本实施例可以从历史数据中获取训练样本。

本实施例可以根据实际应用场景选取相应的神经网络模型,选取的神经网络模型可以包括Wide&Deep模型、DCN模型、DeepFM模型等。在将训练样本输入神经网络模型之后,可以利用特征提取模块对训练样本进行编码和特征映射等操作得到对应的特征嵌入向量。作为一种可行的实施方式,可以利用特征提取模块对训练样本中的稀疏特征进行one-hot编码得到编码结果,然后对编码结果进行特征映射得到稠密的特征嵌入向量。本实施例还可以利用特征提取模块对连续特征进行离散化处理得到,然后再对离散处理的结果进行特征映射得到该连续特征稠密的特征嵌入向量。上述对连续特征执行的离散化操作能够提升训练后模型的鲁棒性。

S202:利用DNN模块对所有特征嵌入向量进行拼接得到拼接向量,并提取行为嵌入向量;

其中,本实施例中所使用的神经网络模型包括的DNN(Deep Neural Networks)模块,DNN模块为神经网络中用于学习特征嵌入向量的高阶组合特征的部分。具体的,DNN模块可以对所有所述特征嵌入向量进行拼接得到长向量,本实施例将该长向量称之为拼接向量。

作为一种可行的实施方式,本实施例可以从存储模块中提取行为嵌入向量,行为嵌入向量用于记录用户历史行为的高维度信息反馈。作为另一种可行的实施方式,训练神经网络模型的设备中还可以包括用户行为记忆模块,本实施例可以从用户行为记忆模块中提取用于记录用户历史行为的高维度信息反馈的行为嵌入向量。具体的,本实施例提取的行为嵌入向量包括正向行为嵌入向量和负向行为嵌入向量。正向行为嵌入向量用于记录用户的正向操作(如喜欢)的高维信息反馈,负向行为嵌入向量用于记录用户的负向操作(如不喜欢)的高维信息反馈。本实施例通过引入行为嵌入向量增加神经网络模型DNN部分的深度,提升模型对特征高维交叉上的能力,训练后的神经网络模型能够理解并记录样本中用户行为序列的高维信息表示,克服传统神经网络模型的无法理解用户行为序列的弊端,让神经网络模型学习到用户行为序列对当前预测影响的理解能力,从而提升模型表现。本实施例中的用户行为记忆模块可以应用于多种推荐系统中的神经网络模型,如Wide&Deep模型、DCN模型、DeepFM模型等。

神经网络模型中还可以包括内积FM(因子分解机)模块,内积FM模块和DNN模块共享输入特征。内积FM模块的输入部分由多个稀疏特征进行one-hot编码,然后经过特征映射得到稠密的特征嵌入向量。输出由两部分组成,一部分是一个Addition单元,另外一部分是多个内积单元。前者反映一阶特征,后者则反映二阶特征组合对预测结果的影响。本实施例也可以将特征嵌入向量输入到内积FM模块。每个特征嵌入向量记为

S203:根据拼接向量和所述行为嵌入向量构建所述DNN模块的输入向量,并将输入向量输入所述DNN模块进行训练以便调节DNN模块的参数和行为嵌入向量的参数;

S204:将调节参数后的行为嵌入向量更新至所述存储模块,以便得到符合预设条件的神经网络模型。

其中,在得到拼接向量和行为嵌入向量的基础上,可以根据所述拼接向量和所述行为嵌入向量构建所述DNN模块的输入向量,在DNN模块中进行训练以便调节所述DNN模块的参数和所述行为嵌入向量的参数。在训练过程中,神经网络模型可以利用拼接向量学习样本自身信息,还可以利用行为嵌入向量学习用户历史行为的高维信息,以便学习到用户行为序列对当前预测结果的影响。

可以理解的是,本实施例在将调节参数后的行为嵌入向量更新至用户行为模块后,判断所有训练样本是否均训练完毕,若否,则继续选取新的训练样本执行上述训练过程。在将最新的行为嵌入向量存储至神经网络模型的存储模块之后可以输出得到符合预设条件的神经网络模型,上述预设条件为学习所有训练样本中用户行为序列。

目前以DeepFM为代表的神经网络排序模型训练过程假设样本之间相互独立,无法理解样本中用户行为序列对最终预测结果的影响,与实际场景存在差异,线上表现较差。另外,能理解样本中用户行为序列的循环神经网络(RNN)排序模型一般模型复杂度过高,无法达到上线性能要求。由于本实施例使用的神经网络模型相对原深度学习模型只新增行为嵌入向量的参数,模型的复杂度基本保持不变。训练后得到的神经网络模型既可以理解并记录用户历史操作行为提升模型表现,又保持模型复杂度达到上线性能要求。

本实施例利用特征提取模块提取训练样本中的特征嵌入向量,进而将所有特征进行拼接得到拼接向量,以便利用拼接向量反映训练样本自身的特征。本实施例引入行为嵌入向量参与神经网络模型的训练过程,行为嵌入向量用于记录用户历史行为的高维度信息反馈。本实施例通过将拼接向量和行为嵌入向量作为DNN模块的输入向量,进而在训练过程中调节所述DNN模块的参数和所述行为嵌入向量的参数,以便得到符合预设条件的神经网络模型。调节参数后的行为嵌入向量能够记录用户行为序列的高维度信息,因此在神经网络模型进行信息推荐时,可以基于行为嵌入向量进行评分,使得神经网络模型能够理解样本中的用户行为序列,本实施例克服了传统方案中神经网络模型样本独立无法理解用户行为序列的缺点,进而提高了信息推荐的准确率。

请参见图3,图3为本申请实施例所提供的一种训练神经网络模型的原理示意图。神经网络模型中的内积FM模块和DNN模块共享输入特征。内积FM模块的输入部分由多个稀疏特征进行one-hot编码,然后经过特征映射得到稠密的特征嵌入向量。用户行为记忆模块为参与神经网络模型训练的模块,用户行为记忆模块中存储有正向行为嵌入向量和负向行为嵌入向量。

下面以图3所示的神经网络模型描述训练过程,例如训练样本包括歌曲A特征信息,歌曲B特征信息和歌曲C特征信息,其中用户喜欢歌曲A和歌曲C(即正样本),用户不喜欢歌曲B(即负样本)。在训练神经网络模型之前可以对用户记忆模块中的正向行为嵌入向量m1和负向行为嵌入向量m0执行初始化操作以使行为嵌入向量具有正态分布的向量权重。在训练过程中,可以先将歌曲A的特征信息输入神经网络模型,特征提取模块可以提取歌曲A特征信息的特征嵌入向量,DNN模块可以将所有特征嵌入向量、正向行为嵌入向量m1和负向行为嵌入向量m0拼接为输入向量,在DNN模块的全连接层中对输入向量进行正向传播计算,以便在输出层输出实际得分。通过将实际得分与预设得分进行比较,并根据比较结果进行反向传播得到隐层输出向量。由于歌曲A为正样本,因此利用隐层输出向量调整正向行为嵌入向量m1中的参数得到更新后的正向行为嵌入向量m’1,不对负向行为嵌入向量m0进行调整。通过上述方式再将歌曲B对应的特征嵌入向量、正向行为嵌入向量m’1和负向行为嵌入向量m0进行训练,并根据反向传播得到的隐层输出向量调整负向行为嵌入向量m0得到更新后的负向行为嵌入向量m’0。在利用歌曲C特征信息训练神经网络模型时,可以利用正向行为嵌入向量m’1和负向行为嵌入向量m’0进行训练,并根据反向传播得到的隐层输出向量调整正向行为嵌入向量m’1得到更新后的正向行为嵌入向量m”1。

在上述更新正向行为嵌入向量和负向行为嵌入向量之后,还可以将每一次更新的正向行为嵌入向量和负向行为嵌入向量记录至用户行为记忆模块。在所有训练样本训练完毕后,可以将用户行为记忆模块中的正向行为嵌入向量和负向行为嵌入向量存储至神经网络模型的存储模块,以便完成神经网络模型的训练过程。

作为对于图2对应实施例的进一步介绍,可以通过以下实施方式训练神经网络模型:将所述拼接向量和所述行为嵌入向量设置为DNN模块输入向量;将输入向量输入所述DNN模块,并利用所述DNN模块以目标损失函数为学习目标调节所述DNN模块的参数和所述行为嵌入向量的参数。

具体的,DNN模块可以对特征嵌入向量进行拼接得到拼接向量x。DNN模块的输入除了包括拼接向量x以外,还包括用户行为记忆模块中的行为嵌入向量。给定用户u,用户行为记忆模块中的行为嵌入向量可以包括正向行为嵌入向量m

当然,在基于目标损失函数将所述输入向量输入所述DNN模块进行训练之前,还可以存在确定目标损失函数的操作:根据所述神经网络模型的模型最小化平均Logistic损失确定第一损失函数;根据所述用户行为记忆模块中的行为嵌入向量与所述DNN模块倒数第二个隐层输出向量的均方误差确定第二损失函数;对所述第一损失函数和所述第二损失函数进行加权计算得到所述目标损失函数。

其中,为了使训练后神经网络模型的预测结果拟合真实结果,本实施例可以根据模型最小化平均Logistic损失确定第一损失函数,第一损失函数loss

其中,y∈{0,1}代表样本真实结果,

同时,模型学习过程要让用户行为记忆模块中的行为嵌入向量尽可能记录用户正向操作和负向操作的高维信息表示,让后续样本训练时模型更好理解用户的历史行为对预测的影响。具体地,可以根据所述用户行为记忆模块中的行为嵌入向量与所述DNN模块倒数第二个隐层输出向量的均方误差确定第二损失函数,第二损失函数loss

其中,y∈{0,1}代表样本真实结果,m

作为一种可行的实施方式,为了让行为嵌入向量记录用户操作的高维信息,模型在更新m

在得到第一损失函数loss

对第一损失函数loss

作为一种可行的实施方式,在将所述新的行为嵌入向量更新至所述用户行为记忆模块之后,还可以判断神经网络模型是否训练完毕;若是,则将存储模块中调节参数后的行为嵌入向量上传至云服务器;若否,则确定新的训练样本,并进入利用所述特征提取模块提取所述新的训练样本的特征嵌入向量的步骤,以便再次执行S201~S203的相关操作。上述过程在利用行为嵌入向量记录所有训练样本中用户历史行为的高维度信息反馈之后,可以将行为嵌入向量存储至神经网络模型的存储模块,以便在神经网络模型进行信息推荐时可以直接利用存储模块中的行为嵌入向量进行预测。进一步的,在得到行为嵌入向量之后,还可以将调节参数后的行为嵌入向量导出至云服务器存储,以便对下一用户的对应的行为嵌入向量进行训练。在将行为嵌入向量导出至云服务器存储之后,若要进行信息推荐,则可以从云服务器下载相应的行为嵌入向量至存储模块,以便利用行为嵌入向量进行预测。

请参见图4,图4为本申请实施例所提供的一种信息推荐方法的流程图,本实施例可以应用于基于神经网络模型的信息推荐装置,该神经网络模型可以为上述实施例中训练后的神经网络模型,该神经网络模型包括特征提取模块、DNN模块和存储模块,该信息推荐方法可以包括以下步骤:

S401:利用特征提取模块提取目标数据的特征嵌入向量;

S402:利用DNN模块对所有特征嵌入向量进行拼接得到拼接向量,并从存储模块中提取行为嵌入向量;

其中,行为嵌入向量中记录有用户历史行为的高维度信息反馈。不同用户的用户历史行为并不完全相同,因此本实施例在进行信息推荐时可以该目标数据对应的用户,进而利用该用户对应的行为嵌入向量执行S403~S404的相关操作。

具体的,本实施例可以通过以下方式从所述存储模块中提取行为嵌入向量:确定信息推荐请求端的用户标识;判断所述存储模块中是否存储有所述用户标识对应的行为嵌入向量;若是,则从所述存储模块中提取所述用户标识对应的行为嵌入向量;若否,则从云服务器下载所述用户标识对应的行为嵌入向量至所述存储模块,以便从所述存储模块中提取所述用户标识对应的行为嵌入向量。信息推荐请求端为请求信息推荐装置发送推荐信息的设备,信息推荐请求端的用户标识为信息推荐请求端上当前登录用户的标识。

S403:根据拼接向量和所述行为嵌入向量构建DNN模块的输入向量,并将输入向量输入DNN模块得到目标数据的推荐概率;

S404:根据推荐概率判断是否推荐所述目标数据。

其中,本实施例可以预先设置参考概率,若推荐概率大于或等于参考概率则推荐目标数据,若推荐概率小于参考概率则不推荐目标数据。进一步,该参考概率可以为固定值;该参考概率也可以为根据推荐响应率设置的值,上述推荐响应率为描述用户对推荐信息反馈喜欢或不喜欢的概率(可能存在用户不对推荐信息进行反馈的情况),推荐响应率越大则参考概率的值越大。

进一步的,在向用户推荐所述目标数据之后,用户可以对推荐的目标数据进行反馈,在信息推荐设备接收到用户反馈信息之后,可以根据所述拼接向量和所述用户反馈信息构建训练集;将所述训练集输入至所述神经网络模型进行迭代训练,并根据迭代训练后所述DNN模块的倒数第二个隐层的输出向量更新所述行为嵌入向量。在更新所述行为嵌入向量的过程中,还可以将所述DNN模块的倒数第二个隐层的输出向量的状态设置为冻结状态;其中,处于冻结状态的向量保持不变;在所述训练后的神经网络模型进入反向传播流程时,更新所述DNN模块的倒数第二个隐层的输出向量。

本实施例基于神经网络模型实现,该神经网络模型包括特征提取模块、DNN模块和存储模块。在信息推荐的过程中,可以利用特征提取模块提取目标数据的特征嵌入向量,并特征嵌入向量进行拼接得到拼接向量,以便利用拼接向量反映训练样本自身的特征。存储模块中存储记录有用户历史行为的高维度信息反馈的行为嵌入向量,通过将拼接向量和所述行为嵌入向量作为DNN模块的输入向量可以得到目标数据的推荐概率,该推荐概率根据样本自身特征及用户行为的高维度信息共同确定。由此可见,本实施例所使用的神经网络模型能够理解样本中的用户行为序列,克服了传统方案中神经网络模型样本独立无法理解用户行为序列的缺点,进而提高了信息推荐的准确率。

用户行为记忆模块的行为嵌入向量代表着用户历史行为的高维信息表示,若得不到及时更新,模型将无法知道用户的最新行为。为了保持用户行为记忆模块的及时更新,保证模型的优势,本方案设计了以下用户行为记忆模块预测、更新流程和实施方案,具体如图5所示,图5为本申请实施例所提供的一种用户行为模块更新流程图。

由于行为嵌入向量需要频繁、实时的更新,而神经网络模型大部分参数并不需要频繁更新,因此为了线上性能考虑,用户行为记忆模块在线上预测过程时不会存储在模型文件中,本实施例可以将行为嵌入向量单独在线上进行存储中。具体地,本方案线上预测和更新流程与实施如下所述:

在通过所述拼接向量和所述行为嵌入向量训练所述神经网络模型之后,还可以将所述训练后的神经网络模型中的行为嵌入向量导出至云服务器存储,并记录所述行为嵌入向量与用户标识的关联信息。若需要进行信息推荐时则确定对应的目标用户标识,并从所述云服务器下载所述目标用户标识对应的目标行为嵌入向量;将所述目标行为嵌入向量输入至所述训练后的神经网络模型以便进行基于行为记忆的信息推荐操作。

上述过程在神经网络模型训练完成后,将所有用户的行为嵌入向量会导出到线上存储。在需要进行信息推荐时,线上服务可以从线上存储读取对应用户的行为嵌入向量,并拼接到原始特征之后。线上服务将拼接好的长向量输入到模型中,经过模型预测即可得到当前样本综合用户历史行为的模型预测分数。

本实施例中线上服务可以将拼接向量存储到特征日志中。上述实施例可以在近线上(near line)实现,近线上相对“线上(在线)”处理实时性较弱,居于离线和在线之间。在近线上部分,可以采集用户近实时流水,近实时流水记录了用户对推荐物品的操作(喜欢或不喜欢)。线上服务将近实时流水中用户反馈信息和特征日志进行关联,并构建训练集。在得到训练集后,本实施例可以对训练集在神经网络模型上进行迭代训练(Fine Tuning),并根据DNN模块倒数第二个隐层输出向量z

本实施例中用户行为记忆模块可以理解并记录用户历史操作行为,针对每个用户u,都有对应的正向行为嵌入向量m

请参见图6,图6为本申请实施例所提供的一种神经网络模型训练装置的结构示意图上述被训练的神经网络模型包括特征提取模块和DNN模块,所述神经网络模型训练装置包括:

特征嵌入向量提取模块601,用于利用所述特征提取模块提取训练样本的特征嵌入向量;

向量获取模块602,用于利用所述DNN模块对所有所述特征嵌入向量进行拼接得到拼接向量,并提取行为嵌入向量;其中,所述行为嵌入向量为用于记录用户历史行为的高维度信息反馈的嵌入向量;

训练模块603,用于根据所述拼接向量和所述行为嵌入向量构建所述DNN模块的输入向量,并将所述输入向量输入所述DNN模块进行训练以便调节所述DNN模块的参数和所述行为嵌入向量的参数;还用于将调节参数后的行为嵌入向量更新至所述存储模块,以便得到符合预设条件的神经网络模型。

本实施例利用特征提取模块提取训练样本中的特征嵌入向量,进而将所有特征进行拼接得到拼接向量,以便利用拼接向量反映训练样本自身的特征。本实施例引入行为嵌入向量参与神经网络模型的训练过程,行为嵌入向量用于记录用户历史行为的高维度信息反馈。本实施例通过将拼接向量和行为嵌入向量作为DNN模块的输入向量,进而在训练过程中调节所述DNN模块的参数和所述行为嵌入向量的参数,以便得到符合预设条件的神经网络模型。调节参数后的行为嵌入向量能够记录用户行为序列的高维度信息,因此在神经网络模型进行信息推荐时,可以基于行为嵌入向量进行评分,使得神经网络模型能够理解样本中的用户行为序列,本实施例克服了传统方案中神经网络模型样本独立无法理解用户行为序列的缺点,进而提高了信息推荐的准确率。

进一步的,训练模块603用于将所述输入向量输入所述DNN模块,并利用所述DNN模块以目标损失函数为学习目标调节所述DNN模块的参数和所述行为嵌入向量的参数。

进一步的,还包括:

损失函数确定单元,用于在利用所述DNN模块以目标损失函数为学习目标调整所述行为嵌入向量中的参数得到所述新的行为嵌入向量之前,根据所述神经网络模型的模型最小化平均Logistic损失确定第一损失函数;还用于根据所述用户行为记忆模块中的行为嵌入向量与所述DNN模块倒数第二个隐层输出向量的均方误差确定第二损失函数;还用于对所述第一损失函数和所述第二损失函数进行加权计算得到所述目标损失函数。

进一步的,向量获取模块602包括:

行为嵌入向量提取单元,用于从用户行为记忆模块中提取正向行为嵌入向量和负向行为嵌入向量;其中,所述正向行为嵌入向量用于记录用户正向行为的高维度信息反馈,所述负向行为嵌入向量用于记录用户负向行为的高维度信息反馈。

进一步的,训练模块603用于将所述输入向量输入所述DNN模块进行训练以便调节所述DNN模块的参数并确定反向传播的隐层输出向量;还用于若所述训练样本为正样本,则根据所述隐层输出向量更新所述正向行为嵌入向量;还用于若所述训练样本为负样本,则根据所述隐层输出向量更新所述负向行为嵌入向量。

进一步的,还包括:

判断模块,用于在将调节参数后的行为嵌入向量更新至所述存储模块之后,判断所述神经网络模型是否训练完毕;

存储模块,用于若神经网络模型训练完毕,则将所述存储模块中所述调节参数后的行为嵌入向量上传至云服务器进行存储;

迭代模块,用于若神经网络模型未训练完毕,则确定新的训练样本,并进入利用所述特征提取模块提取所述新的训练样本的特征嵌入向量的步骤。

本申请实施例还提供的一种信息推荐装置,所述信息推荐装置包括基于神经网络模型和决策模块;

所述神经网络模型包括特征提取模块、DNN模块和存储模块;其中,所述特征提取模块,用于提取目标数据的特征嵌入向量;所述DNN模块,用于对所有所述特征嵌入向量进行拼接得到拼接向量,根据所述存储模块中存储的行为嵌入向量和所述拼接向量构建输入向量,并对所述输入向量进行前向传播计算得到所述目标数据的推荐概率;其中,所述行为嵌入向量中记录有用户历史行为的高维度信息反馈;

所述决策模块用于根据所述推荐概率判断是否推荐所述目标数据。

本实施例基于神经网络模型实现,该神经网络模型包括特征提取模块、DNN模块和存储模块。在信息推荐的过程中,可以利用特征提取模块提取目标数据的特征嵌入向量,并特征嵌入向量进行拼接得到拼接向量,以便利用拼接向量反映训练样本自身的特征。存储模块中存储记录有用户历史行为的高维度信息反馈的行为嵌入向量,通过将拼接向量和所述行为嵌入向量作为DNN模块的输入向量可以得到目标数据的推荐概率,该推荐概率根据样本自身特征及用户行为的高维度信息共同确定。由此可见,本实施例所使用的神经网络模型能够理解样本中的用户行为序列,克服了传统方案中神经网络模型样本独立无法理解用户行为序列的缺点,进而提高了信息推荐的准确率。

进一步的,所述DNN模块从所述存储模块中提取行为嵌入向量的过程包括:确定信息推荐请求端的用户标识;判断所述存储模块中是否存储有所述用户标识对应的行为嵌入向量;若是,则从所述存储模块中提取所述用户标识对应的行为嵌入向量;若否,则从云服务器下载所述用户标识对应的行为嵌入向量至所述存储模块,以便从所述存储模块中提取所述用户标识对应的行为嵌入向量。

进一步的,还包括:

修正模块,用于在向用户推荐所述目标数据之后,接收用户反馈信息;其中,所述用户反馈信息为用户对所述目标数据的反馈信息;还用于根据所述拼接向量和所述用户反馈信息构建训练集;还用于将所述训练集输入至所述神经网络模型进行迭代训练,并根据迭代训练后所述DNN模块的倒数第二个隐层的输出向量更新所述行为嵌入向量。

由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

本申请还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请还提供了一种电子设备,参见图7,本申请实施例提供的一种电子设备的结构图,如图7所示,可以包括处理器710和存储器720。

其中,处理器710可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器710可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器710也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器710可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器710还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。

存储器720可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器720还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器720至少用于存储以下计算机程序721,其中,该计算机程序被处理器710加载并执行之后,能够实现前述任一实施例公开的方法中的相关步骤。另外,存储器720所存储的资源还可以包括操作系统722和数据723等,存储方式可以是短暂存储或者永久存储。其中,操作系统722可以包括Windows、Linux、Android等。

在一些实施例中,电子设备还可包括有显示屏730、输入输出接口740、通信接口750、传感器760、电源770以及通信总线780。

当然,图7所示的电子设备的结构并不构成对本申请实施例中电子设备的限定,在实际应用中电子设备可以包括比图7所示的更多或更少的部件,或者组合某些部件。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号