首页 / 专利库 / 人工智能 / 人工神经网络 / 人工神经元 / 基于人工智能的对象推荐模型训练方法、推荐方法及装置

基于人工智能的对象推荐模型训练方法、推荐方法及装置

阅读:933发布:2020-05-11

专利汇可以提供基于人工智能的对象推荐模型训练方法、推荐方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种基于 人工智能 的对象推荐模型训练方法、推荐方法、装置、 电子 设备及存储介质;方法包括:获取包括候选特征及样本标签的训练样本;通过对象推荐模型中类型为连续变量的松弛参数,对所述候选特征进行筛选处理;通过所述对象推荐模型对筛选后的候选特征进行预测处理,得到表征用户偏好对象的概率的预测标签;构建用于指示所述样本标签与所述预测标签之间差异的损失函数,以使所述损失函数因所述类型为连续变量的松弛参数而具有可微分性;对所述损失函数进行微分处理,并根据微分处理的结果对应的松弛参数及权重参数,更新所述对象推荐模型。通过本发明,能够提升特征筛选的效率,并提升根据更新后的对象推荐模型进行推荐的效果。,下面是基于人工智能的对象推荐模型训练方法、推荐方法及装置专利的具体信息内容。

1.一种基于人工智能的对象推荐模型训练方法,其特征在于,包括:
获取包括候选特征及样本标签的训练样本;其中,所述候选特征包括用户特征和对象特征;
通过对象推荐模型中类型为连续变量的松弛参数,对所述候选特征进行筛选处理;
通过所述对象推荐模型对筛选后的候选特征进行预测处理,得到表征用户偏好对象的概率的预测标签;
构建用于指示所述样本标签与所述预测标签之间差异的损失函数,以使所述损失函数因所述类型为连续变量的松弛参数而具有可微分性;
对所述损失函数进行微分处理,并根据微分处理的结果对应的松弛参数及权重参数,更新所述对象推荐模型。
2.根据权利要求1所述的对象推荐模型训练方法,其特征在于,所述通过对象推荐模型中类型为连续变量的松弛参数,对所述候选特征进行筛选处理,包括:
确定对象推荐模型中类型为连续变量、且与所述候选特征对应的松弛参数,并对所述松弛参数进行激活处理;
当激活处理后的松弛参数超过筛选阈值时,确定所述候选特征通过筛选。
3.根据权利要求2所述的对象推荐模型训练方法,其特征在于,所述对所述损失函数进行微分处理,包括:
将多个所述训练样本划分为训练集和验证集;
根据所述训练集确定所述损失函数的梯度,并沿梯度下降方向更新所述对象推荐模型的权重参数;
根据更新后的权重参数和所述验证集,确定所述损失函数的梯度,并沿梯度下降方向更新所述松弛参数,直到所述损失函数的损失值不再下降为止。
4.根据权利要求1所述的对象推荐模型训练方法,其特征在于,所述通过所述对象推荐模型对筛选后的候选特征进行预测处理,得到表征用户偏好对象的概率的预测标签,包括:
通过所述对象推荐模型内嵌入层的权重参数,对筛选后的候选特征进行映射处理,得到特征向量
对多个所述特征向量进行拼接处理;
通过所述对象推荐模型内输入层隐藏层输出层的权重参数,依次对拼接处理后的特征向量进行加权处理,并
对加权处理的结果进行激活处理,得到表征用户偏好对象的概率的预测标签。
5.根据权利要求1所述的对象推荐模型训练方法,其特征在于,还包括:
获取与多种类型参数一一对应的对象推荐模型;
根据多个所述训练样本,对各所述类型参数对应的对象推荐模型进行评估处理,得到模型评估值;
将模型评估值最高的对象推荐模型,确定为待更新的对象推荐模型;
其中,所述类型参数包括对象推荐模型的层数、激活处理对应的激活函数及各层的神经元数量。
6.根据权利要求5所述的对象推荐模型训练方法,其特征在于,所述根据多个所述训练样本,对各所述类型参数对应的对象推荐模型进行评估处理,得到模型评估值,包括:
将多个所述训练样本划分为训练集、验证集和测试集;
根据所述训练集和所述验证集,对各所述类型参数对应的对象推荐模型的损失函数进行微分处理,并根据微分处理的结果更新对应的对象推荐模型;
通过更新后的对象推荐模型,确定所述测试集内训练样本的预测标签;
根据所述测试集内训练样本的预测标签与样本标签之间的比对结果,确定对应的对象推荐模型的模型评估值。
7.根据权利要求6所述的对象推荐模型训练方法,其特征在于,
所述将多个所述训练样本划分为训练集、验证集和测试集,包括:
将多个所述训练样本平均划分为k份,轮流将其中的1份确定为测试集,将剩余的k-1份确定为训练集,并
将所述训练集中的i份确定为验证集;
其中,所述k为大于1的整数,所述i为大于0且小于k-1的整数;
所述根据所述测试集内训练样本的预测标签与样本标签之间的比对结果,确定对应的对象推荐模型的模型评估值,包括:
根据所述测试集内训练样本的预测标签与样本标签之间的比对结果,确定所述测试集的测试集评估值;
对k种测试集的测试集评估值进行平均处理,得到对应的对象推荐模型的模型评估值。
8.根据权利要求1至7任一项所述的对象推荐模型训练方法,其特征在于,所述构建用于指示所述样本标签与所述预测标签之间差异的损失函数,包括:
根据所述样本标签和所述预测标签,确定对应的训练样本的损失值;
对所有训练样本的损失值进行累积处理,得到损失函数的损失值。
9.根据权利要求8所述的对象推荐模型训练方法,其特征在于,所述根据所述样本标签和所述预测标签,确定对应的训练样本的损失值,包括:
对所述样本标签得到交叉处理得到交叉样本标签,对所述预测标签进行交叉处理得到交叉预测标签;
对所述预测标签和所述交叉预测标签分别进行激活处理;
将所述样本标签和激活后的所述预测标签进行乘积处理,得到第一损失值;
将所述交叉样本标签和激活后的所述交叉预测标签进行乘积处理,得到第二损失值;
将所述第一损失值和所述第二损失值进行累积处理,得到对应的训练样本的损失值;
其中,所述样本标签和所述交叉样本标签之和为1,所述预测标签和所述交叉预测标签之和为1。
10.根据权利要求1至7任一项所述的对象推荐模型训练方法,其特征在于,还包括:
确定所述候选特征的N个特征状态;其中,所述N为大于1的整数;
创建N位状态寄存器,并通过所述N位状态寄存器对所述候选特征进行离散处理;
其中,每个特征状态在所述N位状态寄存器中对应单独的寄存器位。
11.一种基于权利要求1至10任一项所述的对象推荐模型的推荐方法,其特征在于,包括:
获取用户特征以及多种对象特征,并将所述用户特征和每种所述对象特征单独进行组合得到组合特征;其中,每种对象特征对应一个对象;
通过对象推荐模型中的松弛参数对所述组合特征进行筛选处理;
通过所述对象推荐模型对筛选后的组合特征进行预测处理,得到表征用户偏好对象的概率的预测标签;
确定满足数值条件的预测标签对应的对象,并对所述对象进行推荐处理。
12.一种基于人工智能的对象推荐模型训练装置,其特征在于,包括:
样本获取模,用于获取包括候选特征及样本标签的训练样本;其中,所述候选特征包括用户特征和对象特征;
样本筛选模块,用于通过对象推荐模型中类型为连续变量的松弛参数,对所述候选特征进行筛选处理;
样本预测模块,用于通过所述对象推荐模型对筛选后的候选特征进行预测处理,得到表征用户偏好对象的概率的预测标签;
函数构建模块,用于构建用于指示所述样本标签与所述预测标签之间差异的损失函数,以使所述损失函数因所述类型为连续变量的松弛参数而具有可微分性;
更新模块,用于对所述损失函数进行微分处理,并根据微分处理的结果对应的松弛参数及权重参数,更新所述对象推荐模型。
13.一种基于对象推荐模型的推荐装置,其特征在于,包括:
特征组合模块,用于获取用户特征以及多种对象特征,并将所述用户特征和每种所述对象特征单独进行组合得到组合特征;其中,每种对象特征对应一个对象;
特征筛选模块,用于通过对象推荐模型中的松弛参数对所述组合特征进行筛选处理;
预测模块,用于通过所述对象推荐模型对筛选后的组合特征进行预测处理,得到表征用户偏好对象的概率的预测标签;
推荐模块,用于确定满足数值条件的预测标签对应的对象,并对所述对象进行推荐处理。
14.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至10任一项所述的基于人工智能的对象推荐模型训练方法,或权利要求11所述的基于对象推荐模型的推荐方法。
15.一种存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至10任一项所述的基于人工智能的对象推荐模型训练方法,或权利要求11所述的基于对象推荐模型的推荐方法。

说明书全文

基于人工智能的对象推荐模型训练方法、推荐方法及装置

技术领域

[0001] 本发明涉及人工智能技术,尤其涉及一种基于人工智能的对象推荐模型训练方法、推荐方法、装置、电子设备及存储介质。

背景技术

[0002] 人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法和技术及应用系统。机器学习(ML,Machine Learning)是人工智能的一个重要方向,主要研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
[0003] 对象推荐是机器学习的一个分支,主要通过构建模型对相关特征进行处理,得到对象被用户点击的概率,从而推荐用户可能感兴趣的对象,对象如商品、新闻及公众号等。但是,某些特征可能与对象推荐无关甚至起负面作用,故需要对特征进行筛选。在相关技术提供的方案中,通常是通过大量的搜索进行特征筛选,其中每一次搜索对应一次模型训练,导致特征筛选的总体耗时较久,效率低下。

发明内容

[0004] 本发明实施例提供一种基于人工智能的对象推荐模型训练方法、推荐方法、装置、电子设备及存储介质,能够减少特征筛选的耗时,同时提升模型训练的效率。
[0005] 本发明实施例的技术方案是这样实现的:
[0006] 本发明实施例提供一种基于人工智能的对象推荐模型训练方法,包括:
[0007] 获取包括候选特征及样本标签的训练样本;其中,所述候选特征包括用户特征和对象特征;
[0008] 通过对象推荐模型中类型为连续变量的松弛参数,对所述候选特征进行筛选处理;
[0009] 通过所述对象推荐模型对筛选后的候选特征进行预测处理,得到表征用户偏好对象的概率的预测标签;
[0010] 构建用于指示所述样本标签与所述预测标签之间差异的损失函数,以使所述损失函数因所述类型为连续变量的松弛参数而具有可微分性;
[0011] 对所述损失函数进行微分处理,并根据微分处理的结果对应的松弛参数及权重参数,更新所述对象推荐模型。
[0012] 本发明实施例提供一种基于对象推荐模型的推荐方法,包括:
[0013] 获取用户特征以及多种对象特征,并将所述用户特征和每种所述对象特征单独进行组合得到组合特征;其中,每种对象特征对应一个对象;
[0014] 通过对象推荐模型中的松弛参数对所述组合特征进行筛选处理;
[0015] 通过所述对象推荐模型对筛选后的组合特征进行预测处理,得到表征用户偏好对象的概率的预测标签;
[0016] 确定满足数值条件的预测标签对应的对象,并对所述对象进行推荐处理。
[0017] 本发明实施例提供一种基于人工智能的对象推荐模型训练装置,包括:
[0018] 样本获取模,用于获取包括候选特征及样本标签的训练样本;其中,所述候选特征包括用户特征和对象特征;
[0019] 样本筛选模块,用于通过对象推荐模型中类型为连续变量的松弛参数,对所述候选特征进行筛选处理;
[0020] 样本预测模块,用于通过所述对象推荐模型对筛选后的候选特征进行预测处理,得到表征用户偏好对象的概率的预测标签;
[0021] 函数构建模块,用于构建用于指示所述样本标签与所述预测标签之间差异的损失函数,以使所述损失函数因所述类型为连续变量的松弛参数而具有可微分性;
[0022] 更新模块,用于对所述损失函数进行微分处理,并根据微分处理的结果对应的松弛参数及权重参数,更新所述对象推荐模型。
[0023] 本发明实施例提供一种基于对象推荐模型的推荐装置,包括:
[0024] 特征组合模块,用于获取用户特征以及多种对象特征,并将所述用户特征和每种所述对象特征单独进行组合得到组合特征;其中,每种对象特征对应一个对象;
[0025] 特征筛选模块,用于通过对象推荐模型中的松弛参数对所述组合特征进行筛选处理;
[0026] 预测模块,用于通过所述对象推荐模型对筛选后的组合特征进行预测处理,得到表征用户偏好对象的概率的预测标签;
[0027] 推荐模块,用于确定满足数值条件的预测标签对应的对象,并对所述对象进行推荐处理。
[0028] 本发明实施例提供一种电子设备,包括:
[0029] 存储器,用于存储可执行指令;
[0030] 处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的基于人工智能的对象推荐模型训练方法,或基于对象推荐模型的推荐方法。
[0031] 本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的基于人工智能的对象推荐模型训练方法,或基于对象推荐模型的推荐方法。
[0032] 本发明实施例具有以下有益效果:
[0033] 本发明实施例为候选特征设置类型为连续变量的松弛参数,并将松弛参数加入至对象推荐模型中,和对象推荐模型的权重参数进行联合优化,如此,只需在可微分架构下进行少量训练,便可确定对象推荐模型的权重参数和松弛参数,减少了特征筛选的耗时,并且,可根据更新后的对象推荐模型进行对象推荐,提升了对象推荐的效果。附图说明
[0034] 图1是相关技术提供的基于强化学习的特征筛选方式的流程示意图;
[0035] 图2是本发明实施例提供的基于人工智能的对象推荐模型训练系统的一个可选的架构示意图;
[0036] 图3A是本发明实施例提供的服务器的一个可选的架构示意图;
[0037] 图3B是本发明实施例提供的服务器的一个可选的架构示意图;
[0038] 图4是本发明实施例提供的基于人工智能的对象推荐模型训练装置的一个可选的架构示意图;
[0039] 图5A是本发明实施例提供的基于人工智能的对象推荐模型训练方法的一个可选的流程示意图;
[0040] 图5B是本发明实施例提供的基于人工智能的对象推荐模型训练方法的一个可选的流程示意图;
[0041] 图5C是本发明实施例提供的确定待更新的对象推荐模型的一个可选的流程示意图;
[0042] 图5D是本发明实施例提供的基于人工智能的对象推荐模型训练方法的一个可选的流程示意图;
[0043] 图6是本发明实施例提供的基于对象推荐模型的推荐方法的一个可选的流程示意图;
[0044] 图7是本发明实施例提供的对象推荐模型的一个可选的架构示意图;
[0045] 图8是相关技术提供的特征向量处理方式的示意图;
[0046] 图9是本发明实施例提供的特征向量处理方式的一个可选的示意图。

具体实施方式

[0047] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0048] 在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解“, 一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
[0049] 在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
[0050] 除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
[0051] 对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
[0052] 1)对象:指可向用户推荐的对象,如商品、新闻及公众号等。
[0053] 2)动态产品广告(DPA,Dynamic Product Advertisement):根据用户的喜好与特点,选择与用户最合适的对象,并将对象与广告模板组装成的广告,动态产品广告可用于定向推广至对应的用户。
[0054] 3)再营销推荐:基于用户的用户行为数据进行对象推荐的方式,其中,用户行为数据如用户的浏览、加购物车及购买等行为数据。
[0055] 4)拉新推荐:在没有用户行为数据的情况下,基于平台自有的数据(如对象的点击量),进行对象推荐。
[0056] 5)强化学习:机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。强化学习的灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。
[0057] 6)特征筛选:为了构建模型而选择相关特征(如属性及指标等)子集的过程。
[0058] 7)松弛参数:决定对应的特征是否通过筛选的参数,类型为连续变量,如为0到1之间的连续变量。
[0059] 发明人在实施本发明实施例的过程中发现,动态产品广告根据用户的喜好和兴趣,向用户展示可能感兴趣的对象,其本质是一个将对象和用户匹配的过程,具体可应用对象推荐模型进行匹配。对于对象推荐模型来说,通常是将一些用户特征和对象特征作为输入参数输入至对象推荐模型,并获取对象推荐模型的输出结果,该输出结果即指示用户偏好对象的概率。但是,用户特征和对象特征通常会有几十组以上,每一个特征不一定都能提升对象推荐的效果,一些特征甚至会对模型训练起负面作用,故需要在所有的特征集合中筛选出有效的特征子集。
[0060] 在相关技术提供的方案中,通常应用三种方式来进行特征筛选。第一种方式是暴搜索方式,即对每一个特征进行尝试。例如,特征集合总共包括80个特征,那么整个搜索空间的大小为280,即使构建约束条件,例如约定一个有效的特征子集包括的特征数量不能小于10个,那么搜索空间的大小会变成 和原来的搜索空间相差不大,仍处于280的量级。按照该种方式,若对于尝试的每一种特征子集,模型训练的过程需要耗时10小时,那么特征筛选的总耗时为280×10小时,几乎是不可能实现的。
[0061] 第二种方式是使用随机游走的方式来逼近最优情况,具体在每一次模型训练时,在80个特征的集合中随机选取M个特征作为模型的输入,训练一次模型,并且在验证集上得到模型的曲线下面积(AUC,Area Under the Curve)。重复该过程T次,取AUC最高的一组特征作为最优的特征子集,T越大,确定出的特征子集越接近最优解。通常来说,在T取1000~2000时,才能得到一个较好的特征子集。
[0062] 第三种方式是基于强化学习的特征筛选方式,强化学习是一种通过将模型与环境交互,而获取最大收益的算法,用于特征筛选时,将强化学习的几个要素和特征筛选问题中的元素建立以下对应关系:1)动作:是否选择该特征;2)奖励:根据验证集得到的AUC;3)状态:当前的模型结构。如图1所示,在相关技术提供的基于强化学习的特征筛选方式中,引入了一个基于循环神经网络(RNN,Recurrent Neural Network)的控制器,用于生成动作,即是否选择一个特征。在特征集合包括80个特征的情况下,控制器为一个长度为80的R NN,RNN的每一步输出一个0或1的值,用于表示是否选取对应的特征。当控制器生成所有的输出,对象推荐的模型结构也就随之固定,然后,训练该模型并且在验证集上验证得到奖励值AUC,反馈该奖励值至控制器,控制器通过策略梯度算法更新自身的参数直到收敛。最后,用训练好的控制器生成特征子集,该特征子集即为筛选出的最优结果。
[0063] 无论是基于随机游走的特征筛选方式还是基于强化学习的特征筛选方式,都需要进行一定数目的搜索才能得到一个较优的解。在特征筛选的问题中,每一次搜索对应一次模型训练,即每一次搜索的耗时都在10小时左右,即使是强化学习的方式,也需要几百次的搜索,即至少需要1000小时的时长才能够得到效果较好的特征子集,特征筛选的耗时较长,效率低下。
[0064] 本发明实施例提供一种基于人工智能的对象推荐模型训练方法、推荐方法、装置、电子设备及存储介质,能够减少特征筛选的耗时,提升模型训练的效率,并提升根据模型进行对象推荐的效果,下面说明本发明实施例提供的电子设备的示例性应用。
[0065] 参见图2,图2是本发明实施例提供的基于人工智能的对象推荐模型训练系统100的一个可选的架构示意图,为实现支撑一个基于人工智能的对象推荐模型训练应用,终端设备400(示例性示出了终端设备400-1和终端设备400-2)通过网络300连接服务器200,服务器200连接数据库500,网络300可以是广域网或者局域网,又或者是二者的组合。
[0066] 服务器200用于从数据库500获取包括候选特征及样本标签的训练样本,其中,候选特征包括用户特征和对象特征;通过对象推荐模型中类型为连续变量的松弛参数,对候选特征进行筛选处理;通过对象推荐模型对筛选后的候选特征进行预测处理,得到表征用户偏好对象的概率的预测标签;构建用于指示样本标签与预测标签之间差异的损失函数,以使损失函数因类型为连续变量的松弛参数而具有可微分性;对损失函数进行微分处理,并根据微分处理的结果对应的松弛参数及权重参数,更新对象推荐模型。
[0067] 终端设备400用于获取用户特征以及多种对象特征,并将用户特征以及多种对象特征发送至服务器200,其中,每种对象特征对应一个对象;服务器200还用于将用户特征和每种对象特征单独进行组合得到组合特征;通过对象推荐模型中的松弛参数对组合特征进行筛选处理;通过对象推荐模型对筛选后的组合特征进行预测处理,得到表征用户偏好对象的概率的预测标签;确定满足数值条件的预测标签对应的对象,并将该对象发送至终端设备400;终端设备400用于在图形界面410(示例性地示出了图形界面410-1和图形界面410-2)显示获取到的对象。在图2中,示出了满足数值条件的预测标签对应的对象包括对象
1、对象2和对象3,并在终端设备400的图形界面410中,以推荐广告的列表形式呈现,从而实现向用户的推荐。
[0068] 值得说明的是,图2中示出了服务器200从数据库500中获取训练样本,除此之外,服务器200也可从终端设备400的线上数据流中获取训练样本,本发明实施例对此不做限定。
[0069] 下面继续说明本发明实施例提供的电子设备的示例性应用。电子设备可以实施为笔记本电脑平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的终端设备,也可以实施为服务器。下面,以电子设备为服务器为例进行说明。
[0070] 参见图3A,图3A是本发明实施例提供的服务器200(例如,可以是图2所示的服务器200)的架构示意图,图3A所示的服务器200包括:至少一个处理器210、存储器250、至少一个网络接口220和用户接口230。服务器200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3A中将各种总线都标为总线系统240。
[0071] 处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
[0072] 用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口230还包括一个或多个输入装置232,包括有助于用户输入的用户接口部件,比如键盘鼠标、麦克、触屏显示屏、摄像头、其他输入按钮和控件。
[0073] 存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
[0074] 存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本发明实施例描述的存储器250旨在包括任意适合类型的存储器。
[0075] 在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
[0076] 操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
[0077] 网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
[0078] 呈现模块253,用于经由一个或多个与用户接口230相关联的输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
[0079] 输入处理模块254,用于对一个或多个来自一个或多个输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
[0080] 在一些实施例中,本发明实施例提供的基于人工智能的对象推荐模型训练装置可以采用软件方式实现,图3A示出了存储在存储器250中的基于人工智能的对象推荐模型训练装置2550,其可以是程序和插件等形式的软件,包括以下软件模块:样本获取模块25501、样本筛选模块25502、样本预测模块25503、函数构建模块25504及更新模块25505,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
[0081] 在一些实施例中,本发明实施例提供的基于对象推荐模型的推荐装置也可以采用软件方式实现,参见图3B,图3B除了示出的基于对象推荐模型的推荐装置2551外,其余部分可均与图3A相同,此处不再赘述。对于存储在存储器250中的基于对象推荐模型的推荐装置2551,其可以是程序和插件等形式的软件,包括以下软件模块:特征组合模块25511、特征筛选模块25512、预测模块25513及推荐模块25514,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
[0082] 在另一些实施例中,本发明实施例提供的基于人工智能的对象推荐模型训练装置及基于对象推荐模型的推荐装置可以采用硬件方式实现,作为示例,本发明实施例提供的基于人工智能的对象推荐模型训练装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的基于人工智能的对象推荐模型训练方法;本发明实施例提供的基于对象推荐模型的推荐装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的基于对象推荐模型的推荐方法。例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(F PGA,Field-Programmable Gate Array)或其他电子元件。
[0083] 本发明实施例提供的基于人工智能的对象推荐模型训练方法及基于对象推荐模型的推荐方法可以由上述的服务器执行,也可以由终端设备(例如,可以是图2所示的终端设备400-1和终端设备400-2)执行,或者由服务器和终端设备共同执行。
[0084] 下面将结合上文记载的电子设备的示例性应用和结构,说明电子设备中通过嵌入的基于人工智能的对象推荐模型训练装置,而实现基于人工智能的对象推荐模型训练方法的过程。
[0085] 参见图4和图5A,图4是本发明实施例提供的基于人工智能的对象推荐模型训练装置的一个可选的架构示意图,示出了通过一系列模块实现对象推荐模型训练的流程,图5A是本发明实施例提供的基于人工智能的对象推荐模型训练方法的流程示意图,将结合图4对图5A示出的步骤进行说明。
[0086] 在步骤101中,获取包括候选特征及样本标签的训练样本;其中,所述候选特征包括用户特征和对象特征。
[0087] 作为示例,参见图4,在样本获取模块25501中,从数据库或线上数据流等数据源获取训练样本,该训练样本包括候选特征及样本标签。其中,候选特征包括用户特征和对象特征,例如,用户特征可包括历史访问的对象、用户位置、已安装的应用程序及用户性别等,对象特征与对象对应,对象特征可包括对象图片、对象类目及对象名称等。样本标签指示用户对于对象的浏览结果,例如用户是否点击推荐的对象,为了便于理解,后文以样本标签的取值仅限于0和1进行说明,其中,0指示用户未浏览对象,或对象被设置了不感兴趣的标识,1指示用户浏览过对象,当然,这并不构成对本发明实施例的限定。
[0088] 在一些实施例中,在步骤101之后,还包括:确定所述候选特征的N个特征状态;其中,所述N为大于1的整数;创建N位状态寄存器,并通过所述N位状态寄存器对所述候选特征进行离散处理;其中,每个特征状态在所述N位状态寄存器中对应单独的寄存器位。
[0089] 作为示例,参见图4,在样本获取模块25501中,为了便于计算,可对候选特征进行离散处理,将连续的候选特征进行离散化。具体地,确定候选特征所有的N个特征状态,此处N为大于1的整数,然后,创建对应的N位状态寄存器,并使每个特征状态与N位状态寄存器中不同的寄存器位建立对应关系。举例来说,候选特征包括用户性别和用户年龄,其中,用户性别包括男和女2种特征状态,候选特征用户年龄包括青年、中年和老年3种特征状态,则对于用户性别来说,可创建2位状态寄存器,以[0,1]表示男性,以[1,0]表示女性,数值1所在的位置即为特征状态对应的寄存器位;对于用户年龄来说,可创建3位状态寄存器,以[0,0,1]表示青年,以[0,1,0]表示中年,以[1,0,0]表示老年。通过上述方式,得到离散候选特征,便于后续通过嵌入层进行处理,当然,离散处理的方式并不限于此。
[0090] 在步骤102中,通过对象推荐模型中类型为连续变量的松弛参数,对所述候选特征进行筛选处理。
[0091] 作为示例,参见图4,在样本筛选模块25502中,对象推荐模型包括类型为连续变量、且与候选特征对应的松弛参数,该松弛参数用于对候选特征进行筛选处理,得到有利于对象推荐的候选特征,具体筛选方式在后文进行具体阐述。其中,可通过随机初始化的方式生成松弛参数。
[0092] 在步骤103中,通过所述对象推荐模型对筛选后的候选特征进行预测处理,得到表征用户偏好对象的概率的预测标签。
[0093] 这里,通过对象推荐模型的权重参数,对训练样本中筛选后的候选特征进行预测处理,得到预测标签,该预测标签表征用户偏好对象的概率,具体可为0到1之间的数值,预测标签的数值越大,则表明用户偏好对应的对象的概率越大。
[0094] 在一些实施例中,可以通过这样的方式来实现上述的通过所述对象推荐模型对筛选后的候选特征进行预测处理,得到表征用户偏好对象的概率的预测标签:通过所述对象推荐模型内嵌入层的权重参数,对筛选后的候选特征进行映射处理,得到特征向量;对多个所述特征向量进行拼接处理;通过所述对象推荐模型内输入层隐藏层输出层的权重参数,依次对拼接处理后的特征向量进行加权处理,并对加权处理的结果进行激活处理,得到表征用户偏好对象的概率的预测标签。
[0095] 作为示例,参见图4,在样本预测模块25503中,对象推荐模型可以是神经网络模型,包括嵌入层(Embedding)、输入层、隐藏层及输出层。嵌入层用于对筛选后的候选特征进行映射处理,将筛选后的候选特征映射为低维的特征向量,便于后续处理。将经过嵌入层得到的所有特征向量进行拼接处理,并将拼接处理后的特征向量在对象推荐模型中进行前向传播,具体地,通过对象推荐模型的输入层、隐藏层及输出层,依次对拼接处理后的特征向量进行加权处理,最终,对加权处理的结果,即输出层的输出结果进行激活处理,得到预测标签,这里的激活处理可通过sigmoid函数实现,也可通过其他激活函数实现,对此不做限定。在上述方式中,基于神经网络搭建的对象推荐模型适用于特征较多的情况,提升了对于特征筛选的适用性。
[0096] 在步骤104中,构建用于指示所述样本标签与所述预测标签之间差异的损失函数,以使所述损失函数因所述类型为连续变量的松弛参数而具有可微分性。
[0097] 这里,构建对象推荐模型的损失函数,该损失函数用于指示样本标签与预测标签之间的差异,例如,损失函数可为交叉熵损失函数等。在松弛参数的类型为连续变量的基础上,损失函数具有可微分的特性,从而无需进行大量搜索,而是通过微分的方式进行特征筛选。
[0098] 在步骤105中,对所述损失函数进行微分处理,并根据微分处理的结果对应的松弛参数及权重参数,更新所述对象推荐模型。
[0099] 这里,对损失函数进行微分处理,对损失函数的损失值进行最小值优化,并根据取得最小损失值时的松弛参数和权重参数,更新对象推荐模型,以提升根据更新后的对象推荐模型进行对象推荐的效果。
[0100] 通过发明实施例对于图5A的上述示例性实施可知,本发明实施例通过为候选特征设置类型为连续变量的松弛参数,并将松弛参数加入至对象推荐模型中,和对象推荐模型的权重参数通过微分的方式进行联合优化,相较于大量搜索的方式,大大缩短了特征筛选的耗时,并且同时实现了对象推荐模型的训练,提升了根据对象推荐模型进行推荐的效果。
[0101] 在一些实施例中,参见图5B,图5B是本发明实施例提供的基于人工智能的对象推荐模型训练方法的一个可选的流程示意图,图5A示出的步骤102可以通过步骤201至步骤202实现,将结合各步骤进行说明。
[0102] 在步骤201中,确定对象推荐模型中类型为连续变量、且与所述候选特征对应的松弛参数,并对所述松弛参数进行激活处理。
[0103] 作为示例,参见图4,在样本筛选模块25502中,不同的候选特征存在单独对应的松弛参数,对所有松弛参数单独进行激活处理,这里的激活处理可通过sigmoid激活函数实现。
[0104] 在步骤202中,当激活处理后的松弛参数超过筛选阈值时,确定所述候选特征通过筛选。
[0105] 这里,当激活处理后的松弛参数超过筛选阈值时,确定对应的候选特征通过筛选,例如,当用户性别对应的激活处理后的松弛参数超过筛选阈值时,确定用户性别通过筛选。其中,不同的松弛参数对应同一个筛选阈值,筛选阈值可根据实际应用场景进行设定。
[0106] 在图5B中,图5A示出的步骤105可以通过步骤203至步骤205实现,将结合各步骤进行说明。
[0107] 在步骤203中,将多个所述训练样本划分为训练集和验证集。
[0108] 作为示例,参见图4,在更新模块25505中,将多个训练样本按照设定的比例划分为互不重叠的训练集和验证集,该比例可根据实际应用场景进行设定,如设定训练集包括训练样本的数量:验证集包括训练样本的数量=7:3。
[0109] 在步骤204中,根据所述训练集确定所述损失函数的梯度,并沿梯度下降方向更新所述对象推荐模型的权重参数。
[0110] 由于在进行特征筛选时,引入了阈值比对的离散化过程,故在对损失函数进行微分处理时,采用交替迭代的方式对损失函数的损失值进行优化。作为示例,参见图4,在更新模块25505中,首先在松弛参数固定的基础上,根据训练集确定损失函数的梯度,并沿梯度下降方向更新对象推荐模型的权重参数,其中,若对象推荐模型基于神经网络搭建,则这里的权重参数包括对象推荐模型中嵌入层、输入层、隐藏层及输出层的权重参数。值得说明的是,该步骤中的梯度下降方式是一步梯度下降,即迭代一次。
[0111] 在步骤205中,根据更新后的权重参数和所述验证集,确定所述损失函数的梯度,沿梯度下降方向更新所述松弛参数,直到所述损失函数的损失值不再下降为止,并根据更新后的松弛参数及权重参数,更新所述对象推荐模型。
[0112] 作为示例,参见图4,在更新模块25505中,将更新后的权重参数固定,根据更新后的权重参数及验证集,确定损失函数的梯度,并沿梯度下降方向更新对象推荐模型的松弛参数,这里同样应用一步梯度下降的方式。重复执行步骤204和步骤205,直到满足收敛条件为止,收敛条件如损失函数的损失值不再下降。然后,根据更新后的松弛参数及权重参数,更新对象推荐模型。
[0113] 通过发明实施例对于图5B的上述示例性实施可知,本发明实施例通过激活处理及阈值比对的方式进行特征筛选,并对应地设置交替迭代的优化方式,提升了模型训练的效率,有效避免了多次模型训练导致的资源和时间消耗。
[0114] 在一些实施例中,参见图5C,图5C是本发明实施例提供的确定待更新的对象推荐模型的一个可选的流程示意图,图5C示出的步骤可在步骤105之前执行,后文结合图5C示出的各步骤进行说明。
[0115] 在步骤301中,获取与多种类型参数一一对应的对象推荐模型;其中,所述类型参数包括对象推荐模型的层数、激活处理对应的激活函数及各层的神经元数量。
[0116] 这里,类型参数为超参数,可预先设定,类型参数具体可包括对象推荐模型中各个层的层数、激活处理所用的激活函数及各层的神经元数量等。在本发明实施例中,可获取多种类型参数一一对应的对象推荐模型,并通过横向对此,确定效果最好的一种类型参数。
[0117] 在步骤302中,根据多个所述训练样本,对各所述类型参数对应的对象推荐模型进行评估处理,得到模型评估值。
[0118] 这里,通过评估处理,得到衡量类型参数效果的模型评估值。
[0119] 在图5C中,步骤302可以通过步骤401至步骤404实现,将结合各步骤进行说明。
[0120] 在步骤401中,将多个所述训练样本划分为训练集、验证集和测试集。
[0121] 这里,将多个训练样本按照设定的比例划分为互不重叠的训练集、验证集和测试集,例如,按照6:2:2的比例进行划分。
[0122] 在步骤402中,根据所述训练集和所述验证集,对各所述类型参数对应的对象推荐模型的损失函数进行微分处理,并根据微分处理的结果更新对应的对象推荐模型。
[0123] 这里,对于各类型参数对应的对象推荐模型,单独根据训练集和验证集对对象推荐模型的损失函数进行微分处理,并根据微分处理的结果更新对象推荐模型。微分处理及更新的方式与步骤105相同,此处不再赘述。
[0124] 在步骤403中,通过更新后的对象推荐模型,确定所述测试集内训练样本的预测标签。
[0125] 这里,通过更新后的对象推荐模型中的松弛参数,对测试集内训练样本的候选特征进行筛选处理,并通过更新后的对象推荐模型中的权重参数,对筛选后的候选特征进行预测处理,得到预测标签。
[0126] 在步骤404中,根据所述测试集内训练样本的预测标签与样本标签之间的比对结果,确定对应的对象推荐模型的模型评估值。
[0127] 在对测试集内每个训练样本进行预测后,根据所有训练样本的预测标签与样本标签之间的比对结果,确定对应的对象推荐模型的模型评估值,其中,模型评估值可以是精确率(precision),可以是召回率(recall),也可以是精确率和召回率的调和平均数,即F1-score,本发明实施例对此不做限定。
[0128] 在一些实施例中,可以通过这样的方式来实现上述的将多个所述训练样本划分为训练集、验证集和测试集:将多个所述训练样本平均划分为k份,轮流将其中的1份确定为测试集,将剩余的k-1份确定为训练集,并将所述训练集中的i份确定为验证集;其中,所述k为大于1的整数,所述i为大于0且小于k-1的整数;
[0129] 可以通过这样的方式来实现上述的根据所述测试集内训练样本的预测标签与样本标签之间的比对结果,确定对应的对象推荐模型的模型评估值:根据所述测试集内训练样本的预测标签与样本标签之间的比对结果,确定所述测试集的测试集评估值;对k种测试集的测试集评估值进行平均处理,得到对应的对象推荐模型的模型评估值。
[0130] 这里,可采用交叉验证的方式得到对象推荐模型的模型评估值。具体地,将多个训练样本平均划分为k份,轮流将其中的1份确定为测试集,将剩余的k-1份确定为训练集,并从训练集中提取出i份作为验证集,从而得到互不重叠的训练集、验证集合测试集,这里的提取i份作为验证集可以是随机提取。其中,k为大于0的整数,i为大于0且小于k-1的整数。
[0131] 在每一轮中,根据测试集内训练样本的预测标签与样本标签之间的比对结果,确定对应的对象推荐模型的模型评估值,为了便于区分,将这里的模型评估值命名为测试集评估值。最后,对k种测试集的测试集评估值进行平均处理,得到对应的对象推荐模型的模型评估值。上述方式通过k轮的交叉验证,提升了最终得到的模型评估值的准确性。
[0132] 在图5C中,经步骤302确定出各对象推荐模型的模型评估值后,还在步骤303中,将模型评估值最高的对象推荐模型,确定为待更新的对象推荐模型。
[0133] 模型评估值表征根据对应的类型参数进行模型训练的效果,故在本步骤中,将模型评估值最高的对象推荐模型,确定为待更新的对象推荐模型,以在步骤105中,对该对象推荐模型进行更新。值得说明的是,这里的待更新的对象推荐模型是指未经过训练的初始对象推荐模型。
[0134] 通过发明实施例对于图5C的上述示例性实施可知,本发明实施例通过对各类型参数对应的对象推荐模型进行评估处理,并选取模型评估值最高的对象推荐模型作为待更新的对象推荐模型,提升了采用的类型参数的准确性,并提升了后续进行模型训练的效果。
[0135] 在一些实施例中,参见图5D,图5D是本发明实施例提供的基于人工智能的对象推荐模型训练方法的一个可选的流程示意图,图5A示出的步骤104可以通过步骤501至步骤502实现,将结合各步骤进行说明。
[0136] 在步骤501中,根据所述样本标签和所述预测标签,确定对应的训练样本的损失值。
[0137] 作为示例,参见图4,在函数构建模块25504中,对于每个训练样本,可根据训练样本的样本标签及预测出的预测标签,确定训练样本的损失值。
[0138] 在一些实施例中,可以通过这样的方式来实现上述的根据所述样本标签和所述预测标签,确定对应的训练样本的损失值:对所述样本标签得到交叉处理得到交叉样本标签,对所述预测标签进行交叉处理得到交叉预测标签;对所述预测标签和所述交叉预测标签分别进行激活处理;将所述样本标签和激活后的所述预测标签进行乘积处理,得到第一损失值;将所述交叉样本标签和激活后的所述交叉预测标签进行乘积处理,得到第二损失值;将所述第一损失值和所述第二损失值进行累积处理,得到对应的训练样本的损失值;其中,所述样本标签和所述交叉样本标签之和为1,所述预测标签和所述交叉预测标签之和为1。
[0139] 这里,损失函数可为交叉熵损失函数。具体地,对样本标签进行交叉处理得到交叉样本标签,对预测标签进行交叉处理得到交叉预测标签,其中,样本标签与交叉样本标签之和为1,预测标签和交叉预测标签之和为1。根据sigmo id激活函数,分别对预测标签和交叉预测标签进行激活处理,并将样本标签和激活后的预测标签进行乘积处理,得到第一损失值;将交叉样本标签和激活后的交叉预测标签进行乘积处理,得到第二损失值。然后,将第一损失值和第二损失值进行累积处理,得到对应的训练样本的损失值,这里的累积处理可为相加。通过上述的交叉熵的方式计算训练样本的损失值,使得损失值能够更好地衡量样本标签与预测标签之间的差异,提升后续的训练效果。
[0140] 在步骤502中,对所有训练样本的损失值进行累积处理,得到损失函数的损失值。
[0141] 这里,累积处理可为相加处理,即,将所有训练样本的损失值之和作为损失函数的损失值。
[0142] 通过发明实施例对于图5D的上述示例性实施可知,本发明实施例通过交叉熵损失函数计算损失值,使得损失值能够更好地衡量样本标签与预测标签之间的差异,提升后续对损失函数进行微分处理的效果。
[0143] 下面将结合上文记载的电子设备的示例性应用和结构,说明电子设备中通过嵌入的基于对象推荐模型的推荐装置而实现基于对象推荐模型的推荐方法的过程。
[0144] 参见图6,图6是本发明实施例提供的基于对象推荐模型的推荐方法的一个可选的流程示意图,将结合示出的步骤进行说明。
[0145] 在步骤601中,获取用户特征以及多种对象特征,并将所述用户特征和每种所述对象特征单独进行组合得到组合特征;其中,每种对象特征对应一个对象。
[0146] 在进行推荐时,获取用户特征以及多个对象的对象特征,将用户特征和每个对象对应的对象特征单独进行组合得到组合特征,值得说明的是,这里的组合仅是为了将用户特征和对象特征进行统一称呼,而并不是特指某种具体的组合或拼接方式。举例来说,用户特征包括特征A和B,对象1对应的对象特征包括特征C和D,对象2对应的对象特征包括特征E和F,则得到的组合特征1包括特征A、B、C和D,组合特征2包括特征A、B、E和F。
[0147] 在一些实施例中,还包括:当获取到的用户特征或对象特征存在缺失时,根据缺省值对缺失的特征进行填充。在本发明实施例中,可为用户特征及对象特征设置缺省值。例如,在用户特征包括用户性别和用户年龄的情况下,为用户性别设置缺省值为男性,为用户年龄设置缺省值为青年。当在进行推荐时获取到用户性别为女性、且未获取到用户年龄时,将用户年龄填充为青年。通过上述方式,能够保证得到的用户特征和对象特征的有效性。
[0148] 在一些实施例中,还包括:当未获取到用户特征时,根据多个对象的历史偏好数据确定目标对象,并对所述目标对象进行推荐处理。在未获取到用户特征时,除了根据缺省值对用户特征进行填充外,还可直接获取多个对象的历史偏好数据,并根据多个对象的历史偏好数据确定目标对象,其中,历史偏好数据如对象在对应平台上的点击量等,在确定目标对象时,可将点击量排在前十位的对象确定为目标对象。对于得到的目标对象,进行推荐处理。通过上述方式,在未获取到用户特征时实现了拉新推荐,提升了推荐的灵活性。
[0149] 在步骤602中,通过对象推荐模型中的松弛参数对所述组合特征进行筛选处理。
[0150] 例如,将与组合特征内不同特征对应的松弛参数单独进行激活处理,当激活处理后的松弛参数超过筛选阈值时,确定对应的特征通过筛选。
[0151] 在步骤603中,通过所述对象推荐模型对筛选后的组合特征进行预测处理,得到表征用户偏好对象的概率的预测标签。
[0152] 例如,在对象推荐模型基于神经网络搭建时,通过对象推荐模型中嵌入层的权重参数,将筛选后的组合特征映射为低维的特征向量。然后,将多个特征向量进行拼接处理,通过对象推荐模型中输入层、隐藏层及输出层的权重参数,依次对拼接处理后的特征向量进行加权处理,并对加权处理的结果进行激活处理,得到组合特征对应的预测标签。
[0153] 在步骤604中,确定满足数值条件的预测标签对应的对象,并对所述对象进行推荐处理。
[0154] 得到的预测标签表征用户偏好对象的概率,故在本步骤中,确定满足数值条件的预测标签对应的对象,并对确定出的对象进行推荐处理,其中,数值条件如最大的t位的数值,t为大于0的整数。本发明实施例对推荐处理的方式不做限定,例如将对象填充至设定的广告模板,得到广告,并在前端呈现该广告。
[0155] 通过发明实施例对于图6的上述示例性实施可知,本发明实施例通过更新后的对象推荐模型进行筛选及预测处理,并推荐数值较大的预测标签对应的对象,有效避免了不相关特征和负面特征对推荐过程的干扰,增强了推荐的对象对于用户的吸引度,提升了再营销推荐的效果。
[0156] 下面,将说明本发明实施例在一个实际的应用场景中的示例性应用。为了便于理解,后文以对象为商品的情况进行举例说明。
[0157] 参见图7,图7是本发明实施例提供的对象推荐模型的一个可选的架构示意图,该对象推荐模型基于神经网络搭建。在图7中,商品特征包括商品图片、商品类目和商品名称,用户特征包括历史访问商品、用户位置、应用程序安装列表和用户性别。首先,通过嵌入层(图7中未示出)将各特征映射为对应的向量,其中,对于商品图片,经卷积神经网络(CNN,Convolutional Neural N etworks)将其转换为图片向量;对于商品名称,经基于文本分类的卷积神经网络(TextCNN)将其转换为名称向量;对于历史访问商品,经长短期记忆网络(LSTM,Long Short-Term Memory)将其转换为访问商品向量。
[0158] 通过对象推荐模型的输入层、隐藏层及输出层依次对得到的各向量进行处理,具体对商品特征对应的向量进行单独处理得到商品向量,对用户特征对应的向量进行单独处理得到用户向量,其中,输入层和输出层在图7中未示出。然后,将商品向量和用户向量进行向量点积,并通过sigmoid激活函数对向量点积的结果进行激活处理,得到预测标签,该预测标签表征用户偏好该对象,即点击或浏览该对象的概率。在此基础上,若已有表征用户点击或浏览该对象的情况的样本标签,则可通过损失函数确定样本标签和预测标签之间的损失值,并通过最小化损失值,从而训练对象推荐模型。在传统的处理模式中,如图8所示,是通过嵌入层对候选特征进行向量转换,并将得到的特征向量直接输入至神经网络的输入层,最终对输出层的输出结果进行激活处理得到预测标签。
[0159] 而在本发明实施例中,如图9所示,为了进行特征筛选,为每一个特征向量设置参数αi,并对参数αi进行松弛化,将其设置为0到1之间的连续变量,其中,参数αi即为上文的松弛参数,i是大于0的整数,表示第i个特征,并设定K为特征的总数。在此基础上,将αi作为一个可训练的参数加入到对象推荐模型中,和整个对象推荐模型进行联合优化,这样只需要一次的训练过程,就可以同时得到对象推荐模型的权重参数和αi的值,避免多次模型训练带来的资源和时长消耗。
[0160] 举例来说,对于第m个训练样本,其中的第i个候选特征ai=[0,...1,...0]是已经二值化的离散特征,其中,m是大于0的整数,当候选特征为连续特征时,可通过离散处理将其转换为离散特征。在训练对象推荐模型的过程中,首先通过对象推荐模型的嵌入层,将候选特征ai映射为低维的特征向量xi:
[0161] xi=Embed(ai)
[0162] 其中,Embed()表示嵌入层的映射处理。
[0163] 然后,通过参数αi对特征向量xi进行筛选处理,并通过对象推荐模型对筛选后的特征向量进行预测处理,得到第m个训练样本的预测标签pm,预测标签为0到1之间的数值。处理的具体公式为:
[0164]
[0165] 其中,σ为sigmoid激活函数,λ为上文的筛选阈值,可预先设定。当激活处理后的αi超过筛选阈值时, 的值为1;当激活处理后的αi未超过筛选阈值时,的值为0,从而实现对第i个候选特征对应的特征向量的筛选。Concat()为向量的拼接函数,NN()是指通过对象推荐模型中输入层、隐藏层及输出层的权重参数对向量进行处理。
[0166] 通过构建损失函数L对对象推荐模型进行训练,损失函数可以是基于交叉熵的损失函数,例如:
[0167]
[0168] 其中,ym表示第m个训练样本的样本标签,样本标签为1时,表示用户对训练样本中的商品进行了点击或浏览;样本标签为0时,表示在训练样本中的商品已被推荐(已曝光)的情况下,用户并未对该商品进行点击或浏览。
[0169] 由于在进行特征筛选时,引入了σ(αi)>λ的离散化过程,故在对目标函数进行微分处理时,采用交替迭代的方式分别优化参数αi和对象推荐模型的权重参数,具体地,优化公式可以表示为:
[0170]
[0171]
[0172] 其中,train是指训练集,val是指验证集,可根据设定的比例将多个训练样本划分为训练集和验证集。在交替迭代的方式中,先根据固定的参数αi以及训练集确定损失函数的梯度,通过一步梯度下降的方式更新对象推荐模型的权重参数w,然后再根据更新后的权重参数w和验证集,确定损失函数的梯度,通过一步梯度下降的方式更新参数αi。重复交替迭代的方式,直到满足设定的收敛条件为止,收敛条件如损失函数的损失值不再下降。
[0173] 经过实验验证,在存在80个候选特征的情况下,通过上述方式,能够在1天的时间内完成对象推荐模型的训练,从80个候选特征中筛选出40个有效的特征,极大地缩短了特征筛选的耗时,并且,训练完成的模型的AUC相较于使用全部特征时提升了0.6%,提升了根据训练后模型进行对象推荐的效果。
[0174] 下面继续说明本发明实施例提供的基于人工智能的对象推荐模型训练装置2550实施为软件模块的示例性结构,在一些实施例中,如图3A所示,存储在存储器250的基于人工智能的对象推荐模型训练装置2550中的软件模块可以包括:样本获取模块25501,用于获取包括候选特征及样本标签的训练样本;其中,所述候选特征包括用户特征和对象特征;样本筛选模块25502,用于通过对象推荐模型中类型为连续变量的松弛参数,对所述候选特征进行筛选处理;样本预测模块25503,用于通过所述对象推荐模型对筛选后的候选特征进行预测处理,得到表征用户偏好对象的概率的预测标签;函数构建模块25504,用于构建用于指示所述样本标签与所述预测标签之间差异的损失函数,以使所述损失函数因所述类型为连续变量的松弛参数而具有可微分性;更新模块25505,用于对所述损失函数进行微分处理,并根据微分处理的结果对应的松弛参数及权重参数,更新所述对象推荐模型。
[0175] 在一些实施例中,样本筛选模块25502,还用于:确定对象推荐模型中类型为连续变量、且与所述候选特征对应的松弛参数,并对所述松弛参数进行激活处理;当激活处理后的松弛参数超过筛选阈值时,确定所述候选特征通过筛选。
[0176] 在一些实施例中,更新模块25505,还用于:将多个所述训练样本划分为训练集和验证集;根据所述训练集确定所述损失函数的梯度,并沿梯度下降方向更新所述对象推荐模型的权重参数;根据更新后的权重参数和所述验证集,确定所述损失函数的梯度,并沿梯度下降方向更新所述松弛参数,直到所述损失函数的损失值不再下降为止。
[0177] 在一些实施例中,样本预测模块25503,还用于:通过所述对象推荐模型内嵌入层的权重参数,对筛选后的候选特征进行映射处理,得到特征向量;对多个所述特征向量进行拼接处理;通过所述对象推荐模型内输入层、隐藏层及输出层的权重参数,依次对拼接处理后的特征向量进行加权处理,并对加权处理的结果进行激活处理,得到表征用户偏好对象的概率的预测标签。
[0178] 在一些实施例中,基于人工智能的对象推荐模型训练装置2550还包括:模型获取模块,用于获取与多种类型参数一一对应的对象推荐模型;评估模块,用于根据多个所述训练样本,对各所述类型参数对应的对象推荐模型进行评估处理,得到模型评估值;模型确定模块,用于将模型评估值最高的对象推荐模型,确定为待更新的对象推荐模型;其中,所述类型参数包括对象推荐模型的层数、激活处理对应的激活函数及各层的神经元数量。
[0179] 在一些实施例中,评估模块,还用于:将多个所述训练样本划分为训练集、验证集和测试集;根据所述训练集和所述验证集,对各所述类型参数对应的对象推荐模型的损失函数进行微分处理,并根据微分处理的结果更新对应的对象推荐模型;通过更新后的对象推荐模型,确定所述测试集内训练样本的预测标签;根据所述测试集内训练样本的预测标签与样本标签之间的比对结果,确定对应的对象推荐模型的模型评估值。
[0180] 在一些实施例中,评估模块,还用于:将多个所述训练样本平均划分为k份,轮流将其中的1份确定为测试集,将剩余的k-1份确定为训练集,并将所述训练集中的i份确定为验证集;其中,所述k为大于1的整数,所述i为大于0且小于k-1的整数;
[0181] 评估模块,还用于:根据所述测试集内训练样本的预测标签与样本标签之间的比对结果,确定所述测试集的测试集评估值;对k种测试集的测试集评估值进行平均处理,得到对应的对象推荐模型的模型评估值。
[0182] 在一些实施例中,函数构建模块25504,还用于:根据所述样本标签和所述预测标签,确定对应的训练样本的损失值;对所有训练样本的损失值进行累积处理,得到损失函数的损失值。
[0183] 在一些实施例中,函数构建模块25504,还用于:对所述样本标签得到交叉处理得到交叉样本标签,对所述预测标签进行交叉处理得到交叉预测标签;对所述预测标签和所述交叉预测标签分别进行激活处理;将所述样本标签和激活后的所述预测标签进行乘积处理,得到第一损失值;将所述交叉样本标签和激活后的所述交叉预测标签进行乘积处理,得到第二损失值;将所述第一损失值和所述第二损失值进行累积处理,得到对应的训练样本的损失值;其中,所述样本标签和所述交叉样本标签之和为1,所述预测标签和所述交叉预测标签之和为1。
[0184] 在一些实施例中,基于人工智能的对象推荐模型训练装置2550还包括:状态确定模块,用于确定所述候选特征的N个特征状态;其中,所述N为大于1的整数;离散处理模块,用于创建N位状态寄存器,并通过所述N位状态寄存器对所述候选特征进行离散处理;其中,每个特征状态在所述N位状态寄存器中对应单独的寄存器位。
[0185] 下面继续说明本发明实施例提供的基于对象推荐模型的推荐装置2551实施为软件模块的示例性结构,在一些实施例中,如图3B所示,存储在存储器250的基于对象推荐模型的推荐装置2551中的软件模块可以包括:特征组合模块25511,用于获取用户特征以及多种对象特征,并将所述用户特征和每种所述对象特征单独进行组合得到组合特征;其中,每种对象特征对应一个对象;特征筛选模块25512,用于通过对象推荐模型中的松弛参数对所述组合特征进行筛选处理;预测模块25513,用于通过所述对象推荐模型对筛选后的组合特征进行预测处理,得到表征用户偏好对象的概率的预测标签;推荐模块25514,用于确定满足数值条件的预测标签对应的对象,并对所述对象进行推荐处理。
[0186] 本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的方法,例如,如图5A、5B或5D示出的基于人工智能的对象推荐模型训练方法,或如图6示出的基于对象推荐模型的推荐方法。
[0187] 在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EE PROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0188] 在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0189] 作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(H TML,Hyper Text Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0190] 作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0191] 综上所述,通过本发明实施例将特征筛选的过程参数化,并将特征筛选所用的松弛参数和对象推荐模型的权重参数进行共同优化,从而只需进行少量的模型训练便可得到效果较好的松弛参数和权重参数,极大地缩短了特征筛选的耗时,并且,也提升了根据更新后的对象推荐模型进行推荐的效果,有利于吸引用户对推荐的对象进行点击或浏览。
[0192] 以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈