CN114462584B - 推荐模型的训练方法、推荐方法、装置、服务器及介质 - Google Patents
推荐模型的训练方法、推荐方法、装置、服务器及介质 Download PDFInfo
- Publication number
- CN114462584B CN114462584B CN202210371311.3A CN202210371311A CN114462584B CN 114462584 B CN114462584 B CN 114462584B CN 202210371311 A CN202210371311 A CN 202210371311A CN 114462584 B CN114462584 B CN 114462584B
- Authority
- CN
- China
- Prior art keywords
- value
- recommendation
- model
- sample
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开关于一种推荐模型的训练方法、推荐方法、装置、服务器及存储介质。推荐模型的训练方法包括:获取训练样本数据;训练样本数据包括样本账户特征,样本信息特征,以及样本账户针对样本推荐信息的实际访问结果;将样本账户特征以及样本信息特征输入待训练的推荐模型,得到样本账户针对样本推荐信息的预测访问结果;基于预测访问结果和实际访问结果,确定第一损失函数的值,以及,基于门控参数的实际值和期望值,确定第二损失函数的值;基于第一损失函数的值和第二损失函数的值,确定总损失值;基于总损失值,更新推荐模型和门控参数,以得到训练完成的推荐模型。本公开可以实现门控参数的自主更新,从而可以提高训练出的推荐模型的灵活性。
Description
技术领域
本公开涉及信息推荐技术领域,尤其涉及一种推荐模型的训练方法、推荐方法、装置、服务器及存储介质。
背景技术
随着信息推荐技术的发展,出现了一种利用神经网络模型实现信息推荐的技术,通过对推荐模型进行训练,在对用户进行信息推荐时,可以将推荐信息的特征以及用户的特征输入模型中,由模型输出用户访问各推荐信息的概率,从而可以为用户提供高契合度的推荐信息。
相关技术中,目前的推荐模型中,在得到推荐信息的特征以及用户的特征后,可以将上述特征按照一定的方式跳跃输入至推荐模型各层级的网络中,然而,目前这种跳跃输入方式的设置一般需要通过大量实验的方式确定得到,因此,训练出的推荐模型灵活性较低。
发明内容
本公开提供一种推荐模型的训练方法、推荐方法、装置、服务器及存储介质,以至少解决相关技术中训练出的推荐模型灵活性较低的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种推荐模型的训练方法,包括:
获取训练样本数据;所述训练样本数据包括样本账户的样本账户特征,样本推荐信息的样本信息特征,以及所述样本账户针对于所述样本推荐信息的实际访问结果;
将所述样本账户特征以及所述样本信息特征输入待训练的推荐模型,得到所述样本账户针对于所述样本推荐信息的预测访问结果;其中,所述推荐模型具有门控结构,所述门控结构对应的门控参数的实际值用于指示将输入至所述推荐模型的样本账户特征以及所述样本信息特征跳跃输入至所述推荐模型中的至少一个指定隐藏层;
基于所述预测访问结果和所述实际访问结果,确定第一损失函数的值,以及,基于所述门控参数的实际值和所述门控参数的期望值,确定第二损失函数的值;基于所述第一损失函数的值和所述第二损失函数的值,确定总损失值;
基于所述总损失值,更新所述推荐模型和所述门控参数,以得到训练完成的推荐模型。
在一示例性实施例中,所述样本账户特征以及所述样本信息特征的数量为多个;所述获取训练样本数据之后,还包括:从所述样本账户特征或者所述样本信息特征中,获取当前样本特征,以及获取所述当前样本特征对应的第一子参数;所述第一子参数用于表征所述当前样本特征的重要程度;确定所述当前样本特征针对所述推荐模型中指定隐藏层的第二子参数;所述第二子参数用于表征所述当前样本特征跳跃输入至所述推荐模型中指定隐藏层的重要程度;根据所述第一子参数,以及所述第二子参数,得到所述当前样本特征针对所述推荐模型中指定隐藏层的门控结构对应的门控参数的实际值。
在一示例性实施例中,所述将所述样本账户特征以及所述样本信息特征输入待训练的推荐模型,得到所述样本账户针对于所述样本推荐信息的预测访问结果,包括:根据所述当前样本特征针对所述推荐模型中指定隐藏层的门控结构对应的门控参数的实际值,确定所述当前样本特征针对所述推荐模型中指定隐藏层的输入幅度;将所述当前样本特征输入至所述推荐模型的输入层,以及按照所述输入幅度对所述当前样本特征进行加权处理,并将加权后的当前样本特征跳跃输入至所述推荐模型中指定隐藏层,得到所述预测访问结果。
在一示例性实施例中,所述基于所述总损失值,更新所述推荐模型和所述门控参数,包括:基于所述总损失值,更新所述当前样本特征对应的第一子参数,以及所述当前样本特征针对所述推荐模型中指定隐藏层的第二子参数,以更新所述当前样本特征针对所述推荐模型中指定隐藏层的门控结构对应的门控参数的实际值。
在一示例性实施例中,所述基于所述第一损失函数的值和所述第二损失函数的值,确定总损失值,包括:获取针对于所述推荐模型的模型训练信息;根据所述模型训练信息,调整所述第二损失函数的值对所述总损失值的影响比重。
在一示例性实施例中,所述模型训练信息包括所述推荐模型的训练步数;所述根据所述模型训练信息,调整所述第二损失函数的值对所述总损失值的影响比重,包括:获取与所述第一损失函数对应的第一权重,以及根据所述训练步数,确定所述第二损失函数对应的第二权重;按照所述第一权重以及所述第二权重,对所述第一损失函数的值和所述第二损失函数的值进行加权求和,得到所述总损失值。
在一示例性实施例中,所述根据所述训练步数,确定所述第二损失函数对应的第二权重,包括:随着所述训练步数的增加,控制所述第二权重的值由初始值逐渐增加,直至所述第二权重的值到达预设阈值;所述初始值为首次对所述推荐模型进行训练时所述第二权重的值。
在一示例性实施例中,所述根据所述训练步数,确定所述第二损失函数对应的第二权重,包括:在所述第二权重的值到达所述预设阈值后,当检测到所述总损失值大于或者等于预设的损失值阈值,或者,检测到所述推荐模型的推荐准确率小于或者等于预设的准确率阈值时,将所述第二权重的值重新置为所述初始值;在将所述第二权重的值保持为所述初始值,并对所述推荐模型进行预设训练步数的训练后,随着所述训练步数的增加,控制所述第二权重的值由所述初始值逐渐增大,直至所述第二权重的值重新到达所述预设阈值。
根据本公开实施例的第二方面,提供一种推荐方法,包括:
响应于信息推荐请求,获取与所述信息推荐请求对应的目标账户的账户特征,以及各候选推荐信息的信息特征;
将所述账户特征以及所述信息特征输入至所述训练完成的推荐模型,得到所述目标账户针对所述各候选推荐信息的预测访问结果;其中,所述推荐模型通过如第一方面中任一项实施例所述的推荐模型的训练方法得到;
根据所述预测访问结果,从所述各候选推荐信息中筛选出针对所述目标账户的目标推荐信息,并将所述目标推荐信息推荐至所述目标账户。
根据本公开实施例的第三方面,提供一种推荐模型的训练装置,包括:
训练样本获取单元,被配置为执行获取训练样本数据;所述训练样本数据包括样本账户的样本账户特征,样本推荐信息的样本信息特征,以及所述样本账户针对于所述样本推荐信息的实际访问结果;
预测结果获取单元,被配置为执行将所述样本账户特征以及所述样本信息特征输入待训练的推荐模型,得到所述样本账户针对于所述样本推荐信息的预测访问结果;其中,所述推荐模型具有门控结构,所述门控结构对应的门控参数的实际值用于指示将输入至所述推荐模型的样本账户特征以及所述样本信息特征跳跃输入至所述推荐模型中的至少一个指定隐藏层;
模型损失获取单元,被配置为执行基于所述预测访问结果和所述实际访问结果,确定第一损失函数的值,以及,基于所述门控参数的实际值和所述门控参数的期望值,确定第二损失函数的值;基于所述第一损失函数的值和所述第二损失函数的值,确定总损失值;
模型参数更新单元,被配置为执行基于所述总损失值,更新所述推荐模型和所述门控参数,以得到训练完成的推荐模型。
在一示例性实施例中,所述样本账户特征以及所述样本信息特征的数量为多个;所述训练样本获取单元,还被配置为执行从所述样本账户特征或者所述样本信息特征中,获取当前样本特征,以及获取所述当前样本特征对应的第一子参数;所述第一子参数用于表征所述当前样本特征的重要程度;确定所述当前样本特征针对所述推荐模型中指定隐藏层的第二子参数;所述第二子参数用于表征所述当前样本特征跳跃输入至所述推荐模型中指定隐藏层的重要程度;根据所述第一子参数,以及所述第二子参数,得到所述当前样本特征针对所述推荐模型中指定隐藏层的门控结构对应的门控参数的实际值。
在一示例性实施例中,所述预测结果获取单元,进一步被配置为执行根据所述当前样本特征针对所述推荐模型中指定隐藏层的门控结构对应的门控参数的实际值,确定所述当前样本特征针对所述推荐模型中指定隐藏层的输入幅度;将所述当前样本特征输入至所述推荐模型的输入层,以及按照所述输入幅度对所述当前样本特征进行加权处理,并将加权后的当前样本特征跳跃输入至所述推荐模型中指定隐藏层,得到所述预测访问结果。
在一示例性实施例中,所述预测结果获取单元,进一步被配置为执行根据所述当前样本特征针对所述推荐模型中指定隐藏层的门控结构对应的门控参数的实际值,确定所述当前样本特征针对所述推荐模型中指定隐藏层的输入幅度;将所述当前样本特征输入至所述推荐模型的输入层,以及按照所述输入幅度对所述当前样本特征进行加权处理,并将加权后的当前样本特征跳跃输入至所述推荐模型中指定隐藏层,得到所述预测访问结果。
在一示例性实施例中,所述模型损失获取单元,进一步被配置为执行获取针对于所述推荐模型的模型训练信息;根据所述模型训练信息,调整所述第二损失函数的值对所述总损失值的影响比重。
在一示例性实施例中,所述模型训练信息包括所述推荐模型的训练步数;所述模型损失获取单元,进一步被配置为执行获取与所述第一损失函数对应的第一权重,以及根据所述训练步数,确定所述第二损失函数对应的第二权重;按照所述第一权重以及所述第二权重,对所述第一损失函数的值和所述第二损失函数的值进行加权求和,得到所述总损失值。
在一示例性实施例中,所述模型损失获取单元,进一步被配置为执行随着所述训练步数的增加,控制所述第二权重的值由初始值逐渐增加,直至所述第二权重的值到达预设阈值;所述初始值为首次对所述推荐模型进行训练时所述第二权重的值。
在一示例性实施例中,所述模型损失获取单元,进一步被配置为执行在所述第二权重的值到达所述预设阈值后,当检测到所述总损失值大于或者等于预设的损失值阈值,或者,检测到所述推荐模型的推荐准确率小于或者等于预设的准确率阈值时,将所述第二权重的值重新置为所述初始值;在将所述第二权重的值保持为所述初始值,并对所述推荐模型进行预设训练步数的训练后,随着所述训练步数的增加,控制所述第二权重的值由所述初始值逐渐增大,直至所述第二权重的值重新到达所述预设阈值。
根据本公开实施例的第四方面,提供一种推荐装置,包括:
推荐特征获取单元,被配置为执行响应于信息推荐请求,获取与所述信息推荐请求对应的目标账户的账户特征,以及各候选推荐信息的信息特征;
访问结果获取单元,被配置为执行将所述账户特征以及所述信息特征输入至所述训练完成的推荐模型,得到所述目标账户针对所述各候选推荐信息的预测访问结果;其中,所述推荐模型通过如第一方面中任一项实施例所述的推荐模型的训练方法得到;
目标信息推荐单元,被配置为执行根据所述预测访问结果,从所述各候选推荐信息中筛选出针对所述目标账户的目标推荐信息,并将所述目标推荐信息推荐至所述目标账户。
根据本公开实施例的第五方面,提供一种服务器,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如第一方面中任一项实施例所述的推荐模型的训练方法,或者如第二方面所述的推荐方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行如第一方面中任一项实施例所述的推荐模型的训练方法,或者如第二方面所述的推荐方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品中包括指令,所述指令被服务器的处理器执行时,使得所述服务器能够执行如第一方面中任一项实施例所述的推荐模型的训练方法,或者如第二方面所述的推荐方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
通过获取训练样本数据;训练样本数据包括样本账户的样本账户特征,样本推荐信息的样本信息特征,以及样本账户针对于样本推荐信息的实际访问结果;将样本账户特征以及样本信息特征输入待训练的推荐模型,得到样本账户针对于样本推荐信息的预测访问结果;其中,推荐模型具有门控结构,门控结构对应的门控参数的实际值用于指示将输入至推荐模型的样本账户特征以及样本信息特征跳跃输入至推荐模型中的至少一个指定隐藏层;基于预测访问结果和实际访问结果,确定第一损失函数的值,以及,基于门控参数的实际值和门控参数的期望值,确定第二损失函数的值;基于第一损失函数的值和第二损失函数的值,确定总损失值;基于总损失值,更新推荐模型和门控参数,以得到训练完成的推荐模型。本公开通过构建预测访问结果和实际访问结果的第一损失函数值,以及构建门控参数的实际值和期望值的第二损失函数值,从而得到总损失值并用于进行推荐模型训练,来实现门控参数的更新,以指示特征的跳跃输入,相比于现有技术需要通过大量实验的方式确定得到特征的跳跃输入方式,本公开可以实现门控参数的自主更新,从而可以提高训练出的推荐模型的灵活性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种推荐模型的训练方法的流程图。
图2是根据一示例性实施例示出的一种推荐模型的结构示意图。
图3是根据一示例性实施例示出的获取门控参数的流程图。
图4是根据一示例性实施例示出的将特征输入至推荐模型的流程图。
图5是根据一示例性实施例示出的调整第二损失函数的值的影响比重的流程图。
图6是根据一示例性实施例示出的根据训练步数,确定第二权重的流程图。
图7是根据一示例性实施例示出的第二权重的值与训练步数的变化关系示意图。
图8是根据一示例性实施例示出的一种推荐方法的流程图。
图9是根据一示例性实施例示出的一种推荐模型的训练装置的框图。
图10是根据一示例性实施例示出的一种推荐装置的框图。
图11是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
还需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
图1是根据一示例性实施例示出的一种推荐模型的训练方法的流程图,如图1所示,推荐模型的训练方法用于服务器中,包括以下步骤。
在步骤S101中,获取训练样本数据;训练样本数据包括样本账户的样本账户特征,样本推荐信息的样本信息特征,以及样本账户针对于样本推荐信息的实际访问结果。
其中,推荐模型是用于为用户进行信息推荐的神经网络模型,该模型可以通过将用户的用户特征以及需要进行信息推荐的推荐信息的信息特征输入至推荐模型中,推荐模型则可以根据用户特征以及信息特征确定出用户访问该推荐信息的概率,进而可以通过推荐概率来为用户推荐与用户相关度更高的推荐信息。
训练样本数据则指的是用于对上述推荐模型进行模型训练的数据,该训练样本数据可以包括用于训练推荐模型的样本账户数据的特征,即样本账户特征,样本推荐信息数据的特征,即样本信息特征,以及该样本账户针对样本推荐信息的实际访问结果,即样本账户是否对该样本推荐信息存在诸如点击、点赞以及分享等访问操作。
具体来说,当服务器对推荐模型进行训练时,可以预先采集用于训练的训练样本数据对应的数据特征,例如样本账户的样本账户特征,和样本推荐信息的样本信息特征,以及上述样本账户针对于上述样本推荐信息的实际访问结果,即该样本账户是否访问上述样本推荐信息。
在步骤S102中,将样本账户特征以及样本信息特征输入待训练的推荐模型,得到样本账户针对于样本推荐信息的预测访问结果;其中,推荐模型具有门控结构,门控结构对应的门控参数的实际值用于指示将输入至推荐模型的样本账户特征以及样本信息特征跳跃输入至推荐模型中的至少一个指定隐藏层。
门控参数则指的是推荐模型中携带的门控结构的参数,门控参数的实际值则指的是在训练过程中,推荐模型携带的门控参数对应的实际数值,该门控参数的实际值可以用于指示训练样本数据的特征跳跃输入至推荐模型中包含的各个隐藏层,本实施例中提供的推荐模型可以包含多个隐藏层,并且在向推荐模型输入训练样本数据的特征来进行模型训练时,除了将上述特征输入至推荐模型的输入层中,还可以将特征输入至推荐模型的隐藏层中,来提升特征的表达能力,例如针对某一个特征A,门控参数的实际值指示有将特征A跳跃输入至隐藏层A,并且将特征A跳跃输入至隐藏层B,而针对另外一个特征B,则可以指示有将特征B跳跃输入至隐藏层A,并且将特征B跳跃输入至隐藏层C等等。该门控参数的实际值可以是推荐模型根据输入的训练样本数据的特征确定得到。
预测访问结果则指的是推荐模型输出的预测结果,可以是表征样本账户针对样本推荐信息的预测访问概率。服务器在得到门控参数的实际值后,还可以按照门控参数的实际值,将各个训练样本数据的特征,即样本账户特征以及样本信息特征输入至推荐模型中,例如门控参数的实际值指示有将样本账户特征A跳跃输入至隐藏层A,并且将样本账户特征A跳跃输入至隐藏层B,那么服务器则可以在将样本账户特征A输入至推荐模型的输入层的同时,将其输入至推荐模型中的隐藏层A以及隐藏层B中,从而利用推荐模型,得到相应的预测访问结果。
如图2所示,图2可以是一个推荐模型的模型结构示意图,可见输入至推荐模型可以包含特征0、特征1、特征2、特征3、……、特征N,隐藏层包含隐藏层0、隐藏层1等等,而gatei,j则表示特征i跳连至隐藏层j的门控参数,即gate0,0表示特征0跳连至隐藏层0的门控参数,gate0,1则表示特征0跳连至隐藏层1的门控参数,而gate1,0即表示特征1跳连至隐藏层0的门控参数,以此类推。在该推荐模型中,特征0除了输入至推荐模型的输入层中,还会按照与特征0相关的门控参数的实际值,将其跳跃输入至推荐模型的各个隐藏层中,即推荐模型中各隐藏层的输入除了包含前一层的输出,还包含各个特征按照门控参数的实际值的跳跃输入,从而通过最后的输出层输出相应的预测访问结果。
在步骤S103中,基于预测访问结果和实际访问结果,确定第一损失函数的值,以及,基于门控参数的实际值和门控参数的期望值,确定第二损失函数的值;基于第一损失函数的值和第二损失函数的值,确定总损失值。
其中,总损失值指的是推荐模型总的损失函数值,总损失值有两个部分组成,第一损失函数的值以及第二损失函数的值,其中,第一损失函数是根据预测访问结果和实际访问结果构建的损失函数,例如可以是点击率预估值等的交叉熵损失函数,而第二损失函数则指的是门控参数的实际值和期望值所构造的损失函数,可以是门控参数的熵正则项损失,该门控参数的期望值可以是0或者1,即第二损失函数可以用于约束各个门控参数的值趋向于0或者1,从而使跳跃输入的选择性更加明确。例如第二损失函数可以如下公式所示:
其中,Lossentropy表示第二损失函数,i表示N个特征中的特征i,j表示L个隐藏层中的隐藏层j,gatei,j表征特征i跳跃输入至隐藏层j的特征跳连参数,可见只有当gatei,j趋向于0或者1的时候,Lossentropy才能取得最小值0,所以该项loss会趋使各个gatei,j变为0或者1。
在步骤S104中,基于总损失值,更新推荐模型和门控参数,以得到训练完成的推荐模型。
最后,服务器则可以利用步骤S103得到的总损失值,来对推荐模型进行训练,来更新推荐模型的模型参数,以及各个特征对应的门控参数,进行模型训练,从而得到训练完成的推荐模型,例如可以是模型的总损失值小于一个损失值阈值,或者训练步数达到一定步数时,停止训练得到最终的推荐模型。
上述推荐模型的训练方法中,通过获取训练样本数据;训练样本数据包括样本账户的样本账户特征,样本推荐信息的样本信息特征,以及样本账户针对于样本推荐信息的实际访问结果;将样本账户特征以及样本信息特征输入待训练的推荐模型,得到样本账户针对于样本推荐信息的预测访问结果;其中,推荐模型具有门控结构,门控结构对应的门控参数的实际值用于指示将输入至推荐模型的样本账户特征以及样本信息特征跳跃输入至推荐模型中的至少一个指定隐藏层;基于预测访问结果和实际访问结果,确定第一损失函数的值,以及,基于门控参数的实际值和门控参数的期望值,确定第二损失函数的值;基于第一损失函数的值和第二损失函数的值,确定总损失值;基于总损失值,更新推荐模型和门控参数,以得到训练完成的推荐模型。本公开通过构建预测访问结果和实际访问结果的第一损失函数值,以及构建门控参数的实际值和期望值的第二损失函数值,从而得到总损失值并用于进行推荐模型训练,来实现门控参数的更新,以指示特征的跳跃输入,相比于现有技术需要通过大量实验的方式确定得到特征的跳跃输入方式,本公开可以实现门控参数的自主更新,从而可以提高训练出的推荐模型的灵活性。
在一示例性实施例中,样本账户特征以及样本信息特征的数量为多个;如图3所示,步骤S101之后,还可以包括:
在步骤S301中,从样本账户特征或者样本信息特征中,获取当前样本特征,以及获取当前样本特征对应的第一子参数;第一子参数用于表征当前样本特征的重要程度。
其中,当前样本特征指的是用于训练推荐模型的训练样本数据的特征中的任意一个,本实施例中,服务器可以从多个训练样本数据的特征,即上述多个样本账户特征或者样本信息特征中,选取任意一个作为当前样本特征,并确定出用于表征当前样本特征的重要程度的参数,作为当前样本特征对应的第一子参数。例如,当前样本特征可以是特征i,服务器可以根据当前样本特征,即特征i自身的重要程度,得到用于表征上述重要程度的参数αi,作为当前样本特征对应的第一子参数。
在步骤S302中,确定当前样本特征针对推荐模型中指定隐藏层的第二子参数;第二子参数用于表征当前样本特征跳跃输入至推荐模型中指定隐藏层的重要程度。
指定隐藏层则可以指的是推荐模型中多个隐藏层中的任意一个,而第二子参数则是用于表征当前样本特征跳跃输入至推荐模型中指定隐藏层的重要程度的参数。例如,指定隐藏层可以是隐藏层j,服务器还可以根据当前样本特征,即特征i跳跃输入至推荐模型中指定隐藏层,即隐藏层j的重要程度,来得到当前样本特征针对推荐模型中指定隐藏层的第二子参数βi,j。
在步骤S303中,根据第一子参数,以及第二子参数,得到当前样本特征针对推荐模型中指定隐藏层的门控结构对应的门控参数的实际值。
最后,服务器则可以根据步骤S601中得到的用于表征当前样本特征的重要程度的第一子参数,以及步骤S602中得到的用于表征当前样本特征跳跃输入至指定隐藏层的重要程度的第二子参数,确定得到当前样本特征针对推荐模型中指定隐藏层对应的门控参数的实际值,从而通过上述方式,服务器可以得到所有样本特征针对推荐模型中各个隐藏层的对应的门控参数的实际值。
例如,当前样本特征i针对指定隐藏层j的门控参数可以通过如下公式计算得到:
其中,gatei,j表示当前样本特征i针对指定隐藏层j的门控参数,αi表示当前样本特征i的第一子参数,βi,j则表示当前样本特征i针对指定隐藏层j的第二子参数,通过将第一子参数和第二子参数进行相乘,并利用激活函数sigmoid来对第一子参数和第二子参数的乘积进行处理,从而可以得到上述门控参数。
本实施例中,当前样本特征针对指定隐藏层的门控参数可以根据当前样本特征自身的重要程度,以及当前样本特征跳跃输入至指定隐藏层的重要程度得到,从而实现了根据当前样本特征的性质以及指定隐藏层的性质来确定门控参数,可以进一步提高得到的门控参数的准确性。
进一步地,如图4所示,步骤S102可以进一步包括:
在步骤S401中,根据当前样本特征针对推荐模型中指定隐藏层的门控结构对应的门控参数的实际值,确定当前样本特征针对推荐模型中指定隐藏层的输入幅度。
输入幅度指的是当前样本特征跳跃输入至指定隐藏层的输入幅度。本实施例中,将当前样本特征跳跃输入至指定隐藏层时,并非是直接将当前样本特征跳跃输入至指定隐藏层,而是按照一定幅度进行输入,例如可以是对当前样本特征进行一定幅度的收缩后,再将其跳跃输入至指定隐藏层,该输入幅度可以由门控参数的实际值进行表征。例如,特征跳连参数gatei,j可以由以下公式得到:
由于激活函数sigmoid输出的数值范围为0-1之间的一个范围,即可用于表征相应的输入幅度,如果gatei,j=0.3,则表明当前样本特征i针对指定隐藏层j的输入幅度为30%,即服务器可以将当前样本特征i以30%的输入幅度将其跳跃输入至指定隐藏层j,而如果gatei,j=0.5,则表明当前样本特征i针对指定隐藏层j的输入幅度为50%,即服务器可以将当前样本特征i以50%的输入幅度将其跳跃输入至指定隐藏层j。
在步骤S402中,将当前样本特征输入至推荐模型的输入层,以及按照输入幅度对当前样本特征进行加权处理,并将加权后的当前样本特征跳跃输入至推荐模型中指定隐藏层,得到预测访问结果。
在得到当前样本特征针对指定隐藏层的收缩幅度后,还可以将当前样本特征输入至推荐模型的输入层,以及按照输入幅度对当前样本特征进行加权处理,并将加权后的当前样本特征跳跃输入至推荐模型中指定隐藏层,从而可以由推荐模型输出相应的预测概率。
其中,各个隐藏层的输出可以用如下公式表示:
其中,其中Outputj表示隐藏层j的输出,FC表示多层感知机结构中全连接层操作,Wj表示隐藏层j的全连接层的权重参数,Concat()算子表示对特征进行concat操作,gatei,j*feati表示将门控参数的实际值乘以对应的特征,即按照输入幅度对特征进行加权处理。
本实施例中,还可以利用当前样本特征针对推荐模型中指定隐藏层的门控参数实际值,得到相应的输入幅度,并按照输入幅度对当前样本特征加权处理后,跳跃输入至指定隐藏层,从而实现了自动选择合适的特征以动态的幅值方式跳跃输入到合适的隐藏层中,进一步提升了推荐模型的表达能力和灵活性。
另外,步骤S104可以进一步包括:基于总损失值,更新当前样本特征对应的第一子参数,以及当前样本特征针对推荐模型中指定隐藏层的第二子参数,以更新当前样本特征针对推荐模型中指定隐藏层的门控结构对应的门控参数的实际值。
本实施例中,利用总损失值对推荐模型的门控参数的实际值进行更新的方式可以是,利用得到的总损失值,对当前样本特征对应的第一子参数,以及当前样本特征针对推荐模型中指定隐藏层的第二子参数分别进行更新,从而可以根据更新后的第一子参数和第二子参数,来实现当前样本特征针对推荐模型中指定隐藏层对应的门控参数的实际值更新,从而通过上述方式,可以实现所有样本训练数据的特征针对各个推荐模型中隐藏层的门控参数的更新。
本实施例中,对门控参数的更新,可以通过对第一子参数和第二子参数进行更新来实现,即在模型训练的过程中,会同时更新第一子参数和第二子参数,从而可以提高门控参数更新的实时性。
在一示例性实施例中,步骤S103可以进一步包括:获取针对于推荐模型的模型训练信息;根据模型训练信息,调整第二损失函数的值对总损失值的影响比重。
其中,模型训练信息指的是推荐模型相关的训练信息,例如可以是推荐模型的训练步数或者推荐模型的损失值等等,影响比重则指的是第二损失函数的值对总损失值的影响权重,影响比重越大,则表明第二损失函数的值对总损失值的影响力越大。由于在训练过程中,第二损失函数的值也会不断变化,而为了保证推荐模型在训练过程中的效率以及模型的准确性,通常可以按照模型训练信息的不同设置相应的第二损失函数的值的影响比重,例如在训练步数较少时,可以为第二损失函数的值设置一个较少的影响比重,来使得模型训练时主要依靠由预测访问结果和实际访问结果,确定得到的第一损失函数的值来进行训练,以更快的实现收敛,而随着训练步数的增加,则可以逐渐增加第二损失函数的值的影响比重,来得到更好的特征跳跃输入搜索结果。
本实施例中,服务器可以按照推荐模型的模型训练信息,来对第二损失函数的值的影响比重进行调整,从而可以实现第二损失函数的值的影响比重根据训练信息的变化而变化,从而可以在提高模型收敛速度的同时,得到更准确的特征跳跃输入搜索结果。
进一步地,模型训练信息包括推荐模型的训练步数;如图5所示,根据模型训练信息,调整第二损失函数的值对总损失值的影响比重,可以进一步包括:
在步骤S501中,获取与第一损失函数对应的第一权重,以及根据训练步数,确定第二损失函数对应的第二权重。
其中,第一权重指的是第一损失函数对总损失值的影响权重,第一权重可以是服务器中预先进行设置,属于一个固定值,而第二权重则指的是第二损失函数对总损失值的影响权重,该第二权重可以随着训练步数的改变而发生相应的变化,本实施例中,推荐模型的模型训练信息可以是推荐模型的训练步数,服务器可以通过设定第一权重和第二权重,并且在训练步数发生变化时,可以根据变化的训练步数得到一个相应的第二权重,从而可以实现利用训练步数,对第二损失函数的值对总损失值的影响比重进行调整。
在步骤S502中,按照第一权重以及第二权重,对第一损失函数的值和第二损失函数的值进行加权求和,得到总损失值。
在步骤S501服务器分别得到第一权重和第二权重后,则可以利用第一权重和第二权重,分别对第一损失函数的值和第二损失函数的值进行加权求和,从而得到最后的总损失值。例如,总损失值的计算可如下所示:
其中,Losstotal表示推荐模型的总损失值,λ1表示与第一损失函数对应的第一权重,λ2则表示第二损失函数对应的第二权重,而Losstask和Lossentropy则分别表征第一损失函数的值和第二损失函数的值,可见,本实施例中通过训练步数对λ2进行调整,则可以实现按照训练步数,来调整第二损失函数的值对总损失值的影响比重。
本实施例中,通过为第一损失函数与第二损失函数分别设定相应的第一权重和第二权重,并且第二权重还可以根据训练步数进行调整,从而实现了按照训练步数,来调整第二损失函数的值对总损失值的影响比重,并通过加权的方式调整总损失值,在保证模型准确性的同时,可以提高总损失值的获取效率。
在一示例性实施例中,步骤S502可以进一步包括:随着训练步数的增加,控制第二权重的值由初始值逐渐增加,直至第二权重的值到达预设阈值;初始值为首次对推荐模型进行训练时第二权重的值。
其中,初始值指的是第一次进行推荐模型训练时,服务器设定的第二权重的初始值,该初始值可以设定为零,而预设阈值则指的是预先设定的第二权重的最大阈值,本实施例中,第二权重是一个随着训练步数的增加,由初始值逐渐增加至预设阈值的过程。例如,在首次对推荐模型进行训练时,第二权重的值可以设定为初始值0,之后随着训练步数的不断增加,第二权重的值也会不断增加,直到到达某一个训练步数,可以是到达训练步数A时,第二权重的达到预先设定的阈值,之后在继续对推荐模型进行训练的过程中,则不再对第二权重的值进行调整,而是继续将其保持在预先设定的阈值。
本实施例中,可以在训练步数不断增加的同时,将第二权重的值由初始值逐渐增加,直到到达第二权重预先设定的阈值,可以使得第二权重的值与训练步数的变化相适应,并且可以避免因训练步数的不断增加为导致第二权重的不断增加,从而可以保证第一损失函数的值对总损失值的影响程度,进一步提高训练出的事件概率预测模型的准确性。
另外,如图6所示,步骤S302可以进一步包括:
在步骤S601中,在第二权重的值到达预设阈值后,当检测到总损失值大于或者等于预设的损失值阈值,或者,检测到推荐模型的推荐准确率小于或者等于预设的准确率阈值时,将第二权重的值重新置为初始值。
为了保证推荐模型的模型参数以及门控参数可以适应于数据分布的变化,即在数据分布变化时,也可以即时调整网络参数与门控参数,来使得特征跳跃输入状态达到最优,本实施例中,服务器可以进一步在第二权重的值到达预设阈值后,对第二权重进行调整,来使得网络参数以及门控参数可以适应数据分布的变化。其中,对第二权重进行调整的条件可以是总损失值大于或者等于预设的损失值阈值,即总损失值上升到设定的阈值时,则会执行第二权重的调整。也可以是推荐模型的准确率小于或者等于预设的准确率阈值,该准确率可以用推荐模型的AUC值来表示,当AUC值下降至某一个阈值,此时可以表明模型的准确率下降,那么服务器则可以对第二权重的值重新进行调整,调整的方式可以是重新将第二权重的值设置为初始值。
例如,在第二权重的值由初始值经过训练步数A增加到预设阈值后,假如在继续训练的过程中检测到总损失值大于或者等于预设的损失值阈值,或者,检测到推荐模型的准确率小于或者等于预设的准确率阈值,此时推荐模型的训练步数可以是训练步数B,那么服务器则可以将当前第二权重的值由预设阈值重新调整为初始值。
在步骤S602中,在将第二权重的值保持为初始值,并对推荐模型进行预设训练步数的训练后,随着训练步数的增加,控制第二权重的值由初始值逐渐增大,直至第二权重的值重新到达预设阈值。
之后,服务器则可以将第二权重的值保持为初始值,来对推荐模型进行训练,以重新使得门控参数可以重新拟合新数据的分布,直到训练步数达到预设的训练步数后,服务器可以使得第二权重的值可以再次随着训练步数的增加,由初始值再次增加至预设阈值。例如,在第二权重的值保持为初始值进行一定训练步数的训练后,此时训练步数由训练步数B变成训练步数C,那么服务器则可以再次控制第二权重的值由初始值随着训练步数的不断增加而增加,直到重新达到预设阈值。
图7为一个实施例中第二权重的值与训练步数的变化关系示意图,第二权重的初始值可以设置为0,预设阈值则可以设置为max,如图7所示,在开始训练时,第二权重的值为初始值0,随着训练步数的不断增加,在训练步数达到步数A时,第二权重的值达到预设阈值max,此时即使训练步数继续增加,第二权重的值保持在预设阈值max不再变化。直到训练步数达到步数B,此时服务器检测到总损失值大于或者等于预设的损失值阈值,或者,检测到推荐模型的准确率小于或者等于预设的准确率阈值,即表明数据分布可能发生变化,为了适应数据的变化,服务器可以在步数B时将第二权重的值由预设阈值max重新设置为初始值0,并将其保持为初始值0进行预设步数的训练,此时推荐模型的训练步数达到步数C,服务器则可以再次随着训练步数的增加而增加第二权重的值,直到第二权重的值再次达到预设阈值max。
本实施例中,在第二权重的值到达预设阈值后,还可以在检测到总损失值大于或者等于预设的损失值阈值,或者,检测到事件概率预测模型的准确率小于或者等于预设的准确率阈值时,将第二权重的值重新设置为初始值,并经过预设训练步数的训练后,再次随着训练步数的增加而增加,使其再次到达预设阈值,从而可以在数据的分布发生变化时,来重新调整推荐模型的网络参数与门控参数,以实现模型参数的实时更新。
图8是根据一示例性实施例示出的一种推荐方法的流程图,如图8所示,推荐方法用于服务器中,包括以下步骤。
在步骤S801中,响应于信息推荐请求,获取与信息推荐请求对应的目标账户的账户特征,以及各候选推荐信息的信息特征。
其中,信息推荐请求是用于为目标账户进行信息推荐的请求,而目标账户则指的是需要进行信息推荐的账户,候选推荐信息则指的是在推荐信息库中可以用于推荐给目标账户的推荐信息。本实施例中,当用户通过其终端触发某一个操作,例如用户通过其终端触发刷新页面操作时,该终端则可以向服务器触发用于为该目标账户进行信息推荐的信息推荐请求,此时服务器则可以对该请求进行响应,从而得到该目标账户的账户特征,并且从推荐信息库中提取出各个候选推荐信息的信息特征。
在步骤S802中,将账户特征以及信息特征输入至训练完成的推荐模型,得到目标账户针对各候选推荐信息的预测访问结果;其中,推荐模型通过如上任一项实施例所述的推荐模型的训练方法得到。
预测访问结果指的是由推荐模型输出的,目标账户针对各个候选推荐信息的预测访问情况,例如可以是目标账户对各个候选推荐信息的预测访问概率,本实施例中,在推荐模型通过上述实施例提供的推荐模型的训练方法训练完成后,服务器则可以进一步将步骤S801中得到的账户特征以及信息特征输入至训练完成的推荐模型中,之后则可以通过推荐模型输出得到目标账户针对各个候选推荐信息的预测访问结果。
在步骤S803中,根据预测访问结果,从各候选推荐信息中筛选出针对目标账户的目标推荐信息,并将目标推荐信息推荐至目标账户。
目标推荐信息则指的是候选推荐信息中,最终推荐至目标账户的推荐信息。最后,服务器在得到目标账户针对每一个候选推荐信息的预测访问结果后,则可以进一步基于上述预测访问结果,从各个候选推荐信息中,筛选出用于推荐给目标账户的目标推荐信息,例如预测访问结果可以是目标账户针对各个候选推荐信息的预测访问概率,服务器则可以将预测访问概率最大的候选推荐信息,作为目标推荐信息推荐至目标账户。
上述推荐方法中,响应于信息推荐请求,获取与信息推荐请求对应的目标账户的账户特征,以及各候选推荐信息的信息特征;将账户特征以及信息特征输入至训练完成的推荐模型,得到目标账户针对各候选推荐信息的预测访问结果;其中,推荐模型通过如上任一项实施例所述的推荐模型的训练方法得到;根据预测访问结果,从各候选推荐信息中筛选出针对目标账户的目标推荐信息,并将目标推荐信息推荐至目标账户。本公开提高的推荐方法中,训练的推荐模型通过构建预测访问结果和实际访问结果的第一损失函数值,以及构建门控参数的实际值和期望值的第二损失函数值,从而得到总损失值并用于进行推荐模型训练,来实现门控参数的更新,以指示特征的跳跃输入,相比于现有技术需要通过大量实验的方式确定得到特征的跳跃输入方式,本公开训练的推荐模型可以实现门控参数的自主更新,从而可以提高训练出的推荐模型的灵活性,因此通过该推荐模型得到的推荐信息,可以提高与目标账户的相关性。
在一示例性实施例中,还提供了一种推荐系统的神经网络特征跳连搜索方法,该方法可以端到端的实现结构参数和网络参数的联合优化,为特征选择合适的跳连位置;网络的结构参数可以随数据流分布的变化而及时调整:当监控到网络在一定时间内训练AUC发生下降时候,则调整结构参数的熵正则化约束参数,使结构参数可以做自适应调整至合适的状态。每一个用于跳连的特征,都配备相应的门控单元gatei,j,gatei,j表示特征i跳连至j层的缩放幅度,该门控单元由两个相乘的可训练参数控制,其中一个参数αi控制某个特征的自身重要程度,另一个参数βi,j控制该特征i跳连至j层的重要程度,两个参数相乘后被sigmoid激活函数作用输出一个数值范围在0~1之间的门控值,该门控值乘以相应特征后,再concat到相应隐藏层的输入中。从而实现了自适应的随数据分布变化及时调整网络结构参数,使特征跳连状态达到最优,将网络参数和结构参数优化过程统一,单阶段的训练即可实现网络参数训练和结构调优,提高多层感知机结构的灵活性和拟合能力,进而提升推荐系统准确率。具体步骤如下所示:
步骤一:获取训练数据构建训练样本
训练样本数据为常见的推荐样本数据,训练样本里包含用户特征,物料特征等,每种特征分为稀疏特征,即sparse特征和密集特征,即dense特征两类,其中sparse特征需要经过嵌入层,即Embedding层的处理后才能输入进多层感知机结构网络中。
步骤二:训练模型的结构和参数
如图2所示,显示了多层感知机结构,输入数据,数据的前向流动方式,以及特征跳连和搜索模式。图2中带有箭头的线表示输入数据的前向流动方式,对于普通的多层感知机结构,第一层的输入为各个特征concat之后的形式,之后各层的输入为前一层的输出,数据流动为层与层的级连模式。对于本实施例中提出的带有特征跳连的多层感知机结构,各个特征除了用于给第一层之外,它们还可以独立的跳连至各个隐藏层中,例如图2中的特征0,它除了参与concatation作为第一层的输入之外,还可以直接跳连至网络的第二层和第三层作为输入。图2中的gate表示各个特征跳连融合各个隐层的输入的时候,需要乘以的门控单元gatei,j,gatei,j表示特征i跳连至j层的缩放幅度,该门控单元由两个相乘的可训练参数控制,其中参数αi表示某个特征的自身重要程度,另一个参数βi,j表示该特征i跳连至j层的重要程度,两个参数相乘后被sigmoid激活函数作用输出一个数值范围在0~1之间的门控值,如下式所示。
该门控值乘以相应特征后,再concat到相应隐层的输入中。对于含有跳连特征多层感知机结构的隐藏层,其前向传播可以用下式表示:
其中Outputj表示第j层的输出,FC表示多层感知机结构中全连接层操作,Wj表示第j层的全连接层的权重参数,Concat()算子表示对特征进行concat 操作,gatei,j*feati表示将门控单元乘以对应的特征。网络最后一层的输出一般为2维向量。
步骤三:训练模型
网络层中第一层的输入为各个特征concat的结果,之后网络每层的前向传播则是按照隐藏层的输入为前一层的输出以及各特征乘以gate后concat的结果,网络最后一层的输出一般为二维向量。
训练过程中,可训练参数分别为网络的普通参数,以及结构参数αi和βi,j,一般情况下,网络的普通参数和结构参数应该关联到不同的优化器中。网络的整体训练loss可以用下式来描述:
其中Losstask表示任务loss,一般可以为点击率预估值等的交叉熵损失函数,λ1为任务loss的缩放系数,可以按照经验和具体任务来设置。Lossentropy表示gate的熵正则项loss,此项的作用是约束各个gate的值趋向于0或者1,从而使跳连的选择性更加明确。熵正则项loss表示为下式:
只有当gatei,j趋向于0或者1的时候,Lossentropy才能取得最小值0,所以该项loss会趋使各个gate变为0或者1。λ2为控制正则项幅度的参数,在本实施例中,λ2设置为随训练步数step和训练loss(或者其他训练指标)变化的值,如图7所示。
当网络接入数据流开始训练,将λ2设置为随训练步数step线性上升的值,当上升至步数a时,λ2上升至最大值且保持不变,在从0到步数a的过程中,各个gate值会逐渐收敛到合适的值,并在Lossentropy的作用下逐步趋向0或者1,gatei,j=0表示i特征不会跳连至j层,而gatei,j=1表示i特征适合跳连至j隐层中。在训练过程中,需要监控loss值Losstotal或者AUC等值,当loss值上升至设定阈值或者AUC值下降至设定的阈值时,说明这段时间的数据分布发生了明显的变化,当前网络的特征跳连的gate模式已经不再适应当前的数据分布,此时,即步数B时会触发将λ2下降至0的操作,当λ2设置为0时候,门控单元中的结构参数将α,β将不再受到正则项的约束,可以在梯度的作用下调整至合适的值以使gate和跳连模式重新拟合新数据的分布,在至步数c时候,结构参数调整完毕,此时再将λ2线性升至预设max值即可。
步骤四:模型的预测阶段
上述过程为模型在流式数据中长期训练的方法,在部署模型时候,模型输入数据格式和模型训练时格式是一致的,即包括用户特征,物料特征等。部署模型的数据流来自于实时预估的数据。模型的最终输出为点击预测值或其他预测值,一般为表示概率意义的值,可以根据该预测值的高低对待预测数据进行排序。
上述实施例中,可以在单阶段的训练过程中,为网络找到合适的特征跳连结构,提升模型的表达和拟合能力,且可以实时根据数据流的分布变化来及时动态调整最优跳连结构。在定量指标方面,该方法可以显著提升模型预测AUC,提升预测精度。
应该理解的是,虽然本公开的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
可以理解的是,本说明书中上述方法的各个实施例之间相同/相似的部分可互相参见,每个实施例重点说明的是与其他实施例的不同之处,相关之处参见其他方法实施例的说明即可。
图9是根据一示例性实施例示出的一种推荐模型的训练装置的框图。参照图9,该装置包括训练样本获取单元901,预测结果获取单元902,模型损失获取单元903和模型参数更新单元904。
训练样本获取单元901,被配置为执行获取训练样本数据;训练样本数据包括样本账户的样本账户特征,样本推荐信息的样本信息特征,以及样本账户针对于样本推荐信息的实际访问结果;
预测结果获取单元902,被配置为执行将样本账户特征以及样本信息特征输入待训练的推荐模型,得到样本账户针对于样本推荐信息的预测访问结果;其中,推荐模型具有门控结构,门控结构对应的门控参数的实际值用于指示将输入至推荐模型的样本账户特征以及样本信息特征跳跃输入至推荐模型中的至少一个指定隐藏层;
模型损失获取单元903,被配置为执行基于预测访问结果和实际访问结果,确定第一损失函数的值,以及,基于门控参数的实际值和门控参数的期望值,确定第二损失函数的值;基于第一损失函数的值和第二损失函数的值,确定总损失值;
模型参数更新单元904,被配置为执行基于总损失值,更新推荐模型和门控参数,以得到训练完成的推荐模型。
在一示例性实施例中,样本账户特征以及样本信息特征的数量为多个;训练样本获取单元901,还被配置为执行从样本账户特征或者样本信息特征中,获取当前样本特征,以及获取当前样本特征对应的第一子参数;第一子参数用于表征当前样本特征的重要程度;确定当前样本特征针对推荐模型中指定隐藏层的第二子参数;第二子参数用于表征当前样本特征跳跃输入至推荐模型中指定隐藏层的重要程度;根据第一子参数,以及第二子参数,得到当前样本特征针对推荐模型中指定隐藏层的门控结构对应的门控参数的实际值。
在一示例性实施例中,预测结果获取单元902,进一步被配置为执行根据当前样本特征针对推荐模型中指定隐藏层的门控结构对应的门控参数的实际值,确定当前样本特征针对推荐模型中指定隐藏层的输入幅度;将当前样本特征输入至推荐模型的输入层,以及按照输入幅度对当前样本特征进行加权处理,并将加权后的当前样本特征跳跃输入至推荐模型中指定隐藏层,得到预测访问结果。
在一示例性实施例中,预测结果获取单元902,进一步被配置为执行根据当前样本特征针对推荐模型中指定隐藏层的门控结构对应的门控参数的实际值,确定当前样本特征针对推荐模型中指定隐藏层的输入幅度;将当前样本特征输入至推荐模型的输入层,以及按照输入幅度对当前样本特征进行加权处理,并将加权后的当前样本特征跳跃输入至推荐模型中指定隐藏层,得到预测访问结果。
在一示例性实施例中,模型损失获取单元903,进一步被配置为执行获取针对于推荐模型的模型训练信息;根据模型训练信息,调整第二损失函数的值对总损失值的影响比重。
在一示例性实施例中,模型训练信息包括推荐模型的训练步数;模型损失获取单元903,进一步被配置为执行获取与第一损失函数对应的第一权重,以及根据训练步数,确定第二损失函数对应的第二权重;按照第一权重以及第二权重,对第一损失函数的值和第二损失函数的值进行加权求和,得到总损失值。
在一示例性实施例中,模型损失获取单元903,进一步被配置为执行随着训练步数的增加,控制第二权重的值由初始值逐渐增加,直至第二权重的值到达预设阈值;初始值为首次对推荐模型进行训练时第二权重的值。
在一示例性实施例中,模型损失获取单元903,进一步被配置为执行在第二权重的值到达预设阈值后,当检测到总损失值大于或者等于预设的损失值阈值,或者,检测到推荐模型的推荐准确率小于或者等于预设的准确率阈值时,将第二权重的值重新置为初始值;在将第二权重的值保持为初始值,并对推荐模型进行预设训练步数的训练后,随着训练步数的增加,控制第二权重的值由初始值逐渐增大,直至第二权重的值重新到达预设阈值。
图10是根据一示例性实施例示出的一种推荐装置的框图。参照图10,该装置包括推荐特征获取单元1001,访问结果获取单元1002和目标信息推荐单元1003。
推荐特征获取单元1001,被配置为执行响应于信息推荐请求,获取与信息推荐请求对应的目标账户的账户特征,以及各候选推荐信息的信息特征;
访问结果获取单元1002,被配置为执行将账户特征以及信息特征输入至训练完成的推荐模型,得到目标账户针对各候选推荐信息的预测访问结果;其中,推荐模型通过如上任一项实施例所述的推荐模型的训练方法得到;
目标信息推荐单元1003,被配置为执行根据预测访问结果,从各候选推荐信息中筛选出针对目标账户的目标推荐信息,并将目标推荐信息推荐至目标账户。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图11是根据一示例性实施例示出的一种用于事件概率预测模型的训练的电子设备1100的框图。例如,电子设备1100可以为服务器。参照图11,电子设备1100包括处理组件1120,其进一步包括一个或多个处理器,以及由存储器1122所代表的存储器资源,用于存储可由处理组件1120的执行的指令,例如应用程序。存储器1122中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1120被配置为执行指令,以执行上述方法。
电子设备1100还可以包括:电源组件1124被配置为执行电子设备1100的电源管理,有线或无线网络接口1126被配置为将电子设备1100连接到网络,和输入输出(I/O)接口1128。电子设备1100可以操作基于存储在存储器1122的操作系统,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD或类似。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器1122,上述指令可由电子设备1100的处理器执行以完成上述方法。存储介质可以是计算机可读存储介质,例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品中包括指令,上述指令可由电子设备1100的处理器执行以完成上述方法。
需要说明的,上述的装置、电子设备、计算机可读存储介质、计算机程序产品等根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (20)
1.一种推荐模型的训练方法,其特征在于,包括:
获取训练样本数据;所述训练样本数据包括样本账户的样本账户特征,样本推荐信息的样本信息特征,以及所述样本账户针对于所述样本推荐信息的实际访问结果;
将所述样本账户特征以及所述样本信息特征输入待训练的推荐模型,得到所述样本账户针对于所述样本推荐信息的预测访问结果;其中,所述推荐模型具有门控结构,所述门控结构对应的门控参数的实际值用于指示将输入至所述推荐模型的样本账户特征以及所述样本信息特征跳跃输入至所述推荐模型中的至少一个指定隐藏层;
基于所述预测访问结果和所述实际访问结果,确定第一损失函数的值,以及,基于所述门控参数的实际值和所述门控参数的期望值,确定第二损失函数的值;基于所述第一损失函数的值和所述第二损失函数的值,确定总损失值;
基于所述总损失值,更新所述推荐模型和所述门控参数,以得到训练完成的推荐模型。
2.根据权利要求1所述的方法,其特征在于,所述样本账户特征以及所述样本信息特征的数量为多个;所述获取训练样本数据之后,还包括:
从所述样本账户特征或者所述样本信息特征中,获取当前样本特征,以及获取所述当前样本特征对应的第一子参数;所述第一子参数用于表征所述当前样本特征的重要程度;
确定所述当前样本特征针对所述推荐模型中指定隐藏层的第二子参数;所述第二子参数用于表征所述当前样本特征跳跃输入至所述推荐模型中指定隐藏层的重要程度;
根据所述第一子参数,以及所述第二子参数,得到所述当前样本特征针对所述推荐模型中指定隐藏层的门控结构对应的门控参数的实际值。
3.根据权利要求2所述的方法,其特征在于,所述将所述样本账户特征以及所述样本信息特征输入待训练的推荐模型,得到所述样本账户针对于所述样本推荐信息的预测访问结果,包括:
根据所述当前样本特征针对所述推荐模型中指定隐藏层的门控结构对应的门控参数的实际值,确定所述当前样本特征针对所述推荐模型中指定隐藏层的输入幅度;
将所述当前样本特征输入至所述推荐模型的输入层,以及按照所述输入幅度对所述当前样本特征进行加权处理,并将加权后的当前样本特征跳跃输入至所述推荐模型中指定隐藏层,得到所述预测访问结果。
4.根据权利要求2所述的方法,其特征在于,所述基于所述总损失值,更新所述推荐模型和所述门控参数,包括:
基于所述总损失值,更新所述当前样本特征对应的第一子参数,以及所述当前样本特征针对所述推荐模型中指定隐藏层的第二子参数,以更新所述当前样本特征针对所述推荐模型中指定隐藏层的门控结构对应的门控参数的实际值。
5.根据权利要求1所述的方法,其特征在于,所述基于所述第一损失函数的值和所述第二损失函数的值,确定总损失值,包括:
获取针对于所述推荐模型的模型训练信息;
根据所述模型训练信息,调整所述第二损失函数的值对所述总损失值的影响比重。
6.根据权利要求5所述的方法,其特征在于,所述模型训练信息包括所述推荐模型的训练步数;
所述根据所述模型训练信息,调整所述第二损失函数的值对所述总损失值的影响比重,包括:
获取与所述第一损失函数对应的第一权重,以及根据所述训练步数,确定所述第二损失函数对应的第二权重;
按照所述第一权重以及所述第二权重,对所述第一损失函数的值和所述第二损失函数的值进行加权求和,得到所述总损失值。
7.根据权利要求6所述的方法,其特征在于,所述根据所述训练步数,确定所述第二损失函数对应的第二权重,包括:
随着所述训练步数的增加,控制所述第二权重的值由初始值逐渐增加,直至所述第二权重的值到达预设阈值;所述初始值为首次对所述推荐模型进行训练时所述第二权重的值。
8.根据权利要求7所述的方法,其特征在于,所述根据所述训练步数,确定所述第二损失函数对应的第二权重,包括:
在所述第二权重的值到达所述预设阈值后,当检测到所述总损失值大于或者等于预设的损失值阈值,或者,检测到所述推荐模型的推荐准确率小于或者等于预设的准确率阈值时,将所述第二权重的值重新置为所述初始值;
在将所述第二权重的值保持为所述初始值,并对所述推荐模型进行预设训练步数的训练后,随着所述训练步数的增加,控制所述第二权重的值由所述初始值逐渐增大,直至所述第二权重的值重新到达所述预设阈值。
9.一种推荐方法,其特征在于,包括:
响应于信息推荐请求,获取与所述信息推荐请求对应的目标账户的账户特征,以及各候选推荐信息的信息特征;
将所述账户特征以及所述信息特征输入至所述训练完成的推荐模型,得到所述目标账户针对所述各候选推荐信息的预测访问结果;其中,所述推荐模型通过如权利要求1至8中任一项所述的推荐模型的训练方法得到;
根据所述预测访问结果,从所述各候选推荐信息中筛选出针对所述目标账户的目标推荐信息,并将所述目标推荐信息推荐至所述目标账户。
10.一种推荐模型的训练装置,其特征在于,包括:
训练样本获取单元,被配置为执行获取训练样本数据;所述训练样本数据包括样本账户的样本账户特征,样本推荐信息的样本信息特征,以及所述样本账户针对于所述样本推荐信息的实际访问结果;
预测结果获取单元,被配置为执行将所述样本账户特征以及所述样本信息特征输入待训练的推荐模型,得到所述样本账户针对于所述样本推荐信息的预测访问结果;其中,所述推荐模型具有门控结构,所述门控结构对应的门控参数的实际值用于指示将输入至所述推荐模型的样本账户特征以及所述样本信息特征跳跃输入至所述推荐模型中的至少一个指定隐藏层;
模型损失获取单元,被配置为执行基于所述预测访问结果和所述实际访问结果,确定第一损失函数的值,以及,基于所述门控参数的实际值和所述门控参数的期望值,确定第二损失函数的值;基于所述第一损失函数的值和所述第二损失函数的值,确定总损失值;
模型参数更新单元,被配置为执行基于所述总损失值,更新所述推荐模型和所述门控参数,以得到训练完成的推荐模型。
11.根据权利要求10所述的装置,其特征在于,所述样本账户特征以及所述样本信息特征的数量为多个;所述训练样本获取单元,还被配置为执行从所述样本账户特征或者所述样本信息特征中,获取当前样本特征,以及获取所述当前样本特征对应的第一子参数;所述第一子参数用于表征所述当前样本特征的重要程度;确定所述当前样本特征针对所述推荐模型中指定隐藏层的第二子参数;所述第二子参数用于表征所述当前样本特征跳跃输入至所述推荐模型中指定隐藏层的重要程度;根据所述第一子参数,以及所述第二子参数,得到所述当前样本特征针对所述推荐模型中指定隐藏层的门控结构对应的门控参数的实际值。
12.根据权利要求11所述的装置,其特征在于,所述预测结果获取单元,进一步被配置为执行根据所述当前样本特征针对所述推荐模型中指定隐藏层的门控结构对应的门控参数的实际值,确定所述当前样本特征针对所述推荐模型中指定隐藏层的输入幅度;将所述当前样本特征输入至所述推荐模型的输入层,以及按照所述输入幅度对所述当前样本特征进行加权处理,并将加权后的当前样本特征跳跃输入至所述推荐模型中指定隐藏层,得到所述预测访问结果。
13.根据权利要求11所述的装置,其特征在于,所述模型参数更新单元,进一步被配置为执行基于所述总损失值,更新所述当前样本特征对应的第一子参数,以及所述当前样本特征针对所述推荐模型中指定隐藏层的第二子参数,以更新所述当前样本特征针对所述推荐模型中指定隐藏层的门控结构对应的门控参数的实际值。
14.根据权利要求10所述的装置,其特征在于,所述模型损失获取单元,进一步被配置为执行获取针对于所述推荐模型的模型训练信息;根据所述模型训练信息,调整所述第二损失函数的值对所述总损失值的影响比重。
15.根据权利要求14所述的装置,其特征在于,所述模型训练信息包括所述推荐模型的训练步数;所述模型损失获取单元,进一步被配置为执行获取与所述第一损失函数对应的第一权重,以及根据所述训练步数,确定所述第二损失函数对应的第二权重;按照所述第一权重以及所述第二权重,对所述第一损失函数的值和所述第二损失函数的值进行加权求和,得到所述总损失值。
16.根据权利要求15所述的装置,其特征在于,所述模型损失获取单元,进一步被配置为执行随着所述训练步数的增加,控制所述第二权重的值由初始值逐渐增加,直至所述第二权重的值到达预设阈值;所述初始值为首次对所述推荐模型进行训练时所述第二权重的值。
17.根据权利要求16所述的装置,其特征在于,所述模型损失获取单元,进一步被配置为执行在所述第二权重的值到达所述预设阈值后,当检测到所述总损失值大于或者等于预设的损失值阈值,或者,检测到所述推荐模型的推荐准确率小于或者等于预设的准确率阈值时,将所述第二权重的值重新置为所述初始值;在将所述第二权重的值保持为所述初始值,并对所述推荐模型进行预设训练步数的训练后,随着所述训练步数的增加,控制所述第二权重的值由所述初始值逐渐增大,直至所述第二权重的值重新到达所述预设阈值。
18.一种推荐装置,其特征在于,包括:
推荐特征获取单元,被配置为执行响应于信息推荐请求,获取与所述信息推荐请求对应的目标账户的账户特征,以及各候选推荐信息的信息特征;
访问结果获取单元,被配置为执行将所述账户特征以及所述信息特征输入至所述训练完成的推荐模型,得到所述目标账户针对所述各候选推荐信息的预测访问结果;其中,所述推荐模型通过如权利要求1至8中任一项所述的推荐模型的训练方法得到;
目标信息推荐单元,被配置为执行根据所述预测访问结果,从所述各候选推荐信息中筛选出针对所述目标账户的目标推荐信息,并将所述目标推荐信息推荐至所述目标账户。
19.一种服务器,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至8中任一项所述的推荐模型的训练方法,或者如权利要求9所述的推荐方法。
20.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行如权利要求1至8中任一项所述的推荐模型的训练方法,或者如权利要求9所述的推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210371311.3A CN114462584B (zh) | 2022-04-11 | 2022-04-11 | 推荐模型的训练方法、推荐方法、装置、服务器及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210371311.3A CN114462584B (zh) | 2022-04-11 | 2022-04-11 | 推荐模型的训练方法、推荐方法、装置、服务器及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114462584A CN114462584A (zh) | 2022-05-10 |
CN114462584B true CN114462584B (zh) | 2022-07-22 |
Family
ID=81416656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210371311.3A Active CN114462584B (zh) | 2022-04-11 | 2022-04-11 | 推荐模型的训练方法、推荐方法、装置、服务器及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114462584B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109447244A (zh) * | 2018-10-11 | 2019-03-08 | 中山大学 | 一种结合门控循环单元神经网络的广告推荐方法 |
CN109993668A (zh) * | 2019-04-09 | 2019-07-09 | 桂林电子科技大学 | 一种基于门控循环单元神经网络的景点推荐方法 |
CN111931054A (zh) * | 2020-08-14 | 2020-11-13 | 中国科学院深圳先进技术研究院 | 一种基于改进残差结构的序列推荐方法和系统 |
CN112699305A (zh) * | 2021-01-08 | 2021-04-23 | 网易传媒科技(北京)有限公司 | 多目标推荐方法、装置、计算设备以及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10042961B2 (en) * | 2015-04-28 | 2018-08-07 | Microsoft Technology Licensing, Llc | Relevance group suggestions |
-
2022
- 2022-04-11 CN CN202210371311.3A patent/CN114462584B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109447244A (zh) * | 2018-10-11 | 2019-03-08 | 中山大学 | 一种结合门控循环单元神经网络的广告推荐方法 |
CN109993668A (zh) * | 2019-04-09 | 2019-07-09 | 桂林电子科技大学 | 一种基于门控循环单元神经网络的景点推荐方法 |
CN111931054A (zh) * | 2020-08-14 | 2020-11-13 | 中国科学院深圳先进技术研究院 | 一种基于改进残差结构的序列推荐方法和系统 |
CN112699305A (zh) * | 2021-01-08 | 2021-04-23 | 网易传媒科技(北京)有限公司 | 多目标推荐方法、装置、计算设备以及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114462584A (zh) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11790238B2 (en) | Multi-task neural networks with task-specific paths | |
KR101899101B1 (ko) | 인공 신경망 기반 예측 모델 생성 장치 및 방법 | |
Song et al. | A general framework for multi-fidelity bayesian optimization with gaussian processes | |
CN110457589B (zh) | 一种车辆推荐方法、装置、设备及存储介质 | |
US11314988B2 (en) | Image aesthetic processing method and electronic device | |
US7444272B2 (en) | Self-modulation in a model-based automated management framework | |
JP5789204B2 (ja) | マルチリレーショナル環境において項目を推薦するためのシステム及び方法 | |
WO2018044633A1 (en) | End-to-end learning of dialogue agents for information access | |
US20200311546A1 (en) | Method and apparatus for partitioning deep neural networks | |
US10621137B2 (en) | Architecture for predicting network access probability of data files accessible over a computer network | |
CN113574476A (zh) | 确定用于控制环境的因果模型 | |
JP2007317068A (ja) | リコメンド装置およびリコメンドシステム | |
Berestizshevsky et al. | Dynamically sacrificing accuracy for reduced computation: Cascaded inference based on softmax confidence | |
KR20190045038A (ko) | 음성 인식 방법 및 장치 | |
Ren et al. | Camel: Smart, adaptive energy optimization for mobile web interactions | |
CN110232151B (zh) | 一种混合概率分布检测的QoS预测模型的构建方法 | |
CN114462584B (zh) | 推荐模型的训练方法、推荐方法、装置、服务器及介质 | |
JP2023544475A (ja) | スマートホームのバブル形成 | |
Li et al. | Probability matrix factorization algorithm for course recommendation system fusing the influence of nearest neighbor users based on cloud model | |
TW202230221A (zh) | 用於硬體加速器之神經架構縮放 | |
Guan et al. | Enhanced SVD for collaborative filtering | |
CN112700003A (zh) | 网络结构搜索方法、装置、设备、存储介质及程序产品 | |
KR20220032861A (ko) | 하드웨어에서의 성능을 고려한 뉴럴 아키텍처 서치 방법 빛 장치 | |
Bai et al. | Automated customization of on-device inference for quality-of-experience enhancement | |
KR102561799B1 (ko) | 디바이스에서 딥러닝 모델의 레이턴시를 예측하는 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |