掌桥专利:专业的专利平台
掌桥专利
首页

训练方法、装置及电子设备

文献发布时间:2023-06-19 13:29:16


训练方法、装置及电子设备

技术领域

本申请属于通信技术领域,具体涉及一种训练方法、装置及电子设备。

背景技术

推荐系统是指根据用户的历史行为或者用户的兴趣偏好等信息,向用户推荐用户感兴趣的物品。目前,推荐系统包括四种模型:召回、粗排、精排和重排。通常,粗排模型和精排模型通过不同的特征以及不同的网络结构分别进行训练,在进行预测的过程中,电子设备先采用粗排模型进行预测排序并对排序结果进行截断,筛选出排序靠前的物品,然后再将这些物品传递给精排模型,精排模型对这些物品再次进行预测排序,从而向用户展示用户感兴趣的物品。

然而,一方面,由于粗排模型和精排模型分开独立训练,导致离线训练过程中训练资源双倍增长的问题;另一方面,由于粗排模型和精排模型采用不同的网络结构,因此存在粗排模型和精排模型的排序结果差距过大的情况,导致原本被精排模型认为用户感兴趣的物品在粗排阶段被过滤;如此,导致通过粗精排模型预测出来的推荐效果较差。

发明内容

本申请实施例的目的是提供一种训练方法、装置及电子设备,能够解决通过粗精排模型预测出来的推荐效果较差的问题。

为了解决上述技术问题,本申请是这样实现的:

第一方面,本申请实施例提供了一种训练方法,该训练方法包括:根据精排偏好概率和目标标签,确定精排模型的第一损失函数,该精排偏好概率用于指示精排模型输出的用户对推荐对象的喜好程度,该目标标签用于指示用户对推荐对象的行为;基于第一损失函数,对粗排模型进行训练,得到粗排模型的第二损失函数;基于第一损失函数和第二损失函数,输出目标精排模型和目标粗排模型。

第二方面,本申请实施例提供了一种训练装置,该训练装置包括:确定模块、训练模块和输出模块。其中,确定模块,用于根据精排偏好概率和目标标签,确定精排模型的第一损失函数,该精排偏好概率用于指示精排模型输出的用户对推荐对象的喜好程度,该目标标签用于指示用户对推荐对象的行为。训练模块,用于基于确定模块确定的第一损失函数,对粗排模型进行训练,得到粗排模型的第二损失函数。输出模块,用于基于确定模块确定的第一损失函数和训练模块得到的第二损失函数,输出目标精排模型和目标粗排模型。

第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。

第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。

第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。

在本申请实施例中,电子设备在对精排模型和粗排模型进行训练的过程中,可以先根据精排偏好概率和目标标签,确定精排模型的第一损失函数,然后,电子设备可以基于该第一损失函数,对粗排模型进行指导训练,以确定粗排模型的第二损失函数,从而基于该第一损失函数和该第二损失函数,输入目标精排模型和目标粗排模型。本方案中,一方面,由于将粗排模型和精排模型一起训练,采用先收敛后指导的方法通过精排模型对粗排模型进行指导训练,避免了粗排模型在初始阶段发生震荡现象,影响粗排模型和精排模型的迭代训练以及收敛的问题和由于粗排模型和精排模型独立训练导致线上线下训练过程中资源浪费和性能影响的问题;另一方面,粗排模型和精排模型在训练过程中采用相同的网络结构,避免了粗排模型和精排模型的排序结果差距过大的情况;如此,提升了电子设备通过粗精排模型预测出来的推荐效果。

附图说明

图1是本申请实施例提供的一种训练方法的流程图;

图2是本申请实施例提供的一种训练方法的模型示意图;

图3是本申请实施例提供的一种训练装置的结构示意图;

图4是本申请实施例提供的一种电子设备的硬件结构示意图之一;

图5是本申请实施例提供的一种电子设备的硬件结构示意图之二。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。

下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的训练方法进行详细地说明。

在现在信息过载的数据时代,每天都有千千万万的商品进入市场,推荐系统能够从这千千万万的物品中选取最适合用户的物品展现在用户的视野中,从而解决信息过载问题。目前,推荐系统包括四种模型:召回、粗排、精排和重排。这四种模块执行的顺序就像漏斗一样,从一个巨大的物品集合中不断地进行筛选,从而挑选出用户真正感兴趣的物品。其中,粗排模型的作用是对召回模型召回的物品集合进行过滤,在尽可能地保证预测效果的情况下保证精排模型的性能。通常,粗排模型和精排模型互相独立,通过不同的特征以及不同的网络结构分别进行训练,在进行预测的过程中,电子设备先采用粗排模型进行预测排序并对排序结果进行截断,筛选出排序靠前的物品,然后再将这些物品传递给精排模型,精排模型对这些物品再次进行预测排序,从而向用户展示用户感兴趣的物品。

然而,一方面,由于粗排模型和精排模型分开独立训练,导致离线训练过程中训练资源双倍增长的问题;另一方面,由于粗排模型和精排模型采用不同的网络结构,因此存在粗排模型和精排模型的排序结果差距过大的情况,导致原本被精排模型认为用户感兴趣的物品在粗排阶段被过滤;如此,导致通过粗精排模型预测出来的推荐效果较差。

传统方案中,电子设备可以采用知识蒸馏的方法对粗排模型和精排模型一起进行训练,但是仍然存在以下缺陷:1)由于粗排模型和精排模型的输入特征不同,因此在预测的过程中需要对粗排模型和精排模型构建不同的输入特征,这对线上的性能造成一定的影响;2)在对精排模型进行训练的初始阶段,精排模型处于未收敛的状态,如果在这种状态下去指导粗排模型进行训练,很容易导致粗排模型发生震荡的现象,使得粗排模型无法得到较好的训练,并且,由于粗排模型和精排模型的底层网络共享,在粗排模型无法得到较好的训练的情况下,也会对精排模型的训练造成一定影响,从而进入恶性循环。

本申请实施例中,在精排模型和粗排模型迭代训练的准备阶段,电子设备可以获取N个预设样本特征和该N个预设样本特征的标签(即下述实施例中的目标标签),并为每个样本特征分别设置第一标记位和第二标记位,以构建粗排模型的遮挡层和精排模型的遮挡层,电子设备根据粗排模型的遮挡层构建粗排模型的embedding层(由目标粗排向量表示),并根据精排模型的遮挡层构建精排模型的embedding层(由目标精排向量表示),之后,电子设备可以将目标粗排向量输入至预设网络结构中得到粗排偏好概率,并将目标精排向量输入至预设网络结构中得到精排偏好概率。在对精排模型和粗排模型进行迭代训练的过程中,电子设备可以根据精排偏好概率和N个预设样本特征的标签,确定精排模型的第一损失函数,在该精排模型的第一损失函数和对精排模型上一次迭代训练得到的损失函数(即下述实施例中的第三损失函数)之差小于精排模型稳定阈值的情况下,表示精排模型已经收敛,则电子设备可以根据粗排偏好概率和精排偏好概率,确定粗排模型的第二损失函数,然后,电子设备可以对精排模型的第一损失函数和粗排模型的第二损失函数进行加权求和处理,得到最终的损失函数(即下述实施例中的目标损失函数),在电子设备对精排模型和粗排模型连续多次迭代的过程中,若该最终的损失函数未发生下降(表示精排模型和粗排模型均已收敛到一定程度),则停止对精排模型和粗排模型迭代训练,并输出最后一次迭代训练后的精排模型和粗排模型;若该最终的损失函数在第K次迭代时发生下降,则采用反向传播算法更新精排偏好概率,并基于更新后的精排偏好概率再次对精排模型和粗排模型进行迭代训练,以输出目标精排模型和目标粗排模型。

通过本方案:

1)由于将粗排模型和精排模型一起训练,避免了由于粗排模型和精排模型独立训练导致线上线下训练过程中资源浪费和性能影响的问题。

2)由于粗排模型和精排模型均采用相同的网络结构,分别得到粗排偏好概率和精排偏好概率,避免了粗排模型和精排模型的排序结果差距过大的情况,提升了推荐系统的预测结果的准确性。

3)由于粗排模型和精排模型均采用N个预设样本特征作为输入特征,即采用统一的输入特征,在粗排模型和精排模型中分别对部分特征进行遮挡,避免了线上需要重复编码的问题,提升了线上训练的服务性能。

4)由于对于精排网络采用先收敛后指导的方法,即对精排模型先进行训练,在精排模型收敛到一定程度的时候,再对粗排模型进行指导训练,从而避免粗排模型在初始阶段发生震荡现象,影响粗排模型和精排模型的迭代训练以及收敛的问题。

本申请实施例提供一种训练方法,图1示出了本申请实施例提供的一种训练方法的流程图,该方法可以应用于电子设备。如图1所示,本申请实施例提供的训练方法可以包括下述的步骤201至步骤203。

步骤201、电子设备根据精排偏好概率和目标标签,确定精排模型的第一损失函数。

本申请实施例中,上述精排偏好概率用于指示精排模型输出的用户对推荐对象的喜好程度,上述目标标签用于指示用户对推荐对象的行为。

本申请实施例中,电子设备在对精排模型和粗排模型进行训练的过程中,可以先根据精排偏好概率和目标标签,确定精排模型的第一损失函数,然后,电子设备可以基于该第一损失函数,对粗排模型进行指导训练,以确定粗排模型的第二损失函数,从而基于该第一损失函数和该第二损失函数,输入目标精排模型和目标粗排模型。

可选地,本申请实施例中,电子设备可以根据精排偏好概率p_detail_rank(u,i)与目标标签label,采用第一预设算法(例如交叉熵损失函数),计算精排模型的第一损失函数loss_detail(t),该第一损失函数loss_detail(t)为第t次迭代训练时精排模型输出的损失函数值。

可选地,本申请实施例中,若精排偏好概率p_detail_rank(u,i)越大,则表示用户u对物料(即推荐对象)i的喜好程度较高,即物料i应该被推荐给用户u。

可选地,本申请实施例中,上述目标标签为N个预设样本特征的标签,N个预设样本特征对应一个目标标签。需要说明的是,针对N个预设样本特征的说明,具体的将在下述实施例中进行描述,此处不予赘述。

可选地,本申请实施例中,上述目标标签可以用于指示用户对推荐对象的点击行为。在用户点击某一推荐对象(例如某种类型的文章)的情况下,电子设备可以设置目标标签为1;在用户未点击该推荐对象的情况下,电子设备可以设置目标标签为0。

可选地,本申请实施例中,在上述步骤201之前,本申请实施例提供的训练方法还包括下述的步骤301。

步骤301、电子设备根据N个预设样本特征的N个第一标记位,确定精排偏好概率。

本申请实施例中,每个预设样本特征分别对应一个第一标记位,每个第一标记位用于指示是否允许精排模型使用一个预设样本特征。

可选地,本申请实施例中,上述N个预设样本特征可以包括用户侧特征、推荐对象侧特征和交叉侧特征。其中,用户侧特征表示用户的画像,例如用户的相关行为;推荐对象侧特征表示推荐对象的分类信息等;交叉侧特征表示同时拥有用户画像和推荐对象分类信息的特征。

可选地,本申请实施例中,电子设备可以预先采用第一标记位is_detail对N个预设样本特征中的每个样本特征分别进行标记,以允许精排模型使用该样本特征,或者不允许精排模型使用该样本特征。

可选地,本申请实施例中,上述第一标记位可以为1或0,在某个预设样本特征对应的第一标记位为1的情况下,表示电子设备允许精排模型使用该预设样本特征;在某个预设样本特征对应的第一标记位为0的情况下,表示电子设备不允许精排模型使用该预设样本特征。

本申请实施例中,在对精排模型训练的准备阶段,电子设备可以为N个预设样本特征中的每个样本特征设置第一标记位,以指示是否允许精排模型使用一个预设样本特征,如此,根据这些预设样本特征的第一标记位,确定精排偏好概率,以根据精排偏好概率和目标标签对精排模型进行训练,保证了精排模型的收敛情况,从而保证后续对粗排模型进行指导训练的稳定性。

可选地,本申请实施例中,上述步骤301具体可以通过下述的步骤301a和步骤301b实现。

步骤301a、电子设备根据N个第一标记位,确定第一向量,并基于第一向量和N个预设样本特征,确定目标精排向量。

可选地,本申请实施例中,电子设备可以采用第一标记位分别标记N个预设样本特征中的每个样本特征,以构建精排模型的遮挡层,该遮挡层通过一个向量(即第一向量)vec_detail_marking表示,该向量的长度与允许精排模型使用的样本特征的数量保持一致。

示例性的,若N为6,且6个预设样本特征的第一标记位分别为1,0,1,1和0,则第一向量vec_detail_marking=(1,0,1,1,0),该第一向量的长度为3。

可选地,本申请实施例中,电子设备可以将第一向量和N个预设样本特征分别进行点乘处理,由于不允许精排模型使用的样本特征对应的第一标记位为零,则不允许精排模型使用的样本特征始终为零,即这些样本特征并不会参与精排模型的训练过程,从而发挥了遮挡作用。

可选地,本申请实施例中,电子设备可以基于第一向量和N个预设样本特征,构建精排模块的embedding层,该embedding层通过一个向量(即目标精排向量)vec_detail_embedding表示,该向量为N个预设样本特征对于整个精排模型的抽象表示,该向量包含精排模型所需要的样本特征的相关信息,例如推荐对象的分类信息等。

步骤301b、电子设备基于预设模型和目标精排向量,确定精排偏好概率。

可选地,本申请实施例中,电子设备可以将目标精排向量vec_detail_embedding作为预设模型(例如人工神经网络模型)的输入,以通过预设模型输出精排偏好概率,该预设模型可以依照精排模型的需求进行设计。

本申请实施例中,电子设备可以为每个样本特征设置第一标记位,以构建精排模型的遮挡层,然后,根据精排模型的遮挡层构建精排模型的embedding层,采用独立的embedding的方法能够让精排模型学习自身的抽象表示,保证了精排模型训练的稳定性,最后,通过将embedding层的目标精排向量输入至预设模型中,以得到精排偏好概率,如此,根据精排偏好概率和目标标签对精排模型进行训练,保证了精排模型的收敛情况,从而保证后续对粗排模型进行指导训练的稳定性。

可选地,本申请实施例中,在上述步骤301之前,本申请实施例提供的粗精排模型训练方法还包括下述的步骤401和步骤402。

步骤401、在不允许精排模型使用N个预设样本特征中的第一样本特征的情况下,电子设备设置第一样本特征对应的第一标记位为第一比特位。

可选地,本申请实施例中,上述第一比特位可以为0。

可以理解,电子设备不允许精排模型使用N个预设样本特征中的第一样本特征,表示第一样本特征无法参与精排模型的训练过程。

步骤402、在允许精排模型使用N个预设样本特征中的第一样本特征的情况下,电子设备设置第一样本特征对应的第一标记位为第二比特位。

可选地,本申请实施例中,上述第二比特位可以为1。

可以理解,电子设备允许精排模型使用N个预设样本特征中的第一样本特征,表示第一样本特征可以参与精排模型的训练过程。

需要说明的是,针对电子设备设置第一标记位的方法,具体可以参照上述实施例中的相关描述,此处不再赘述。

可选地,本申请实施例中,电子设备在为N个预设样本特征中的每个样本特征设置第一标记位之前,可以初始化配置参数,例如设置迭代次数t=0、精排模型稳定阈值α=0.01、粗排损失权值δ=0.5、精排模型的初始损失函数值loss_detail(0)=99999,表示精排模型的初始损失函数值为正无穷大、最终损失函数的未持续下降的迭代次数的阈值a=5。

本申请实施例中,电子设备可以为每个样本特征设置第一标记位,以构建精排模型的遮挡层,即允许一部分样本特征参与精排模型的训练过程,且不允许另一部分样本特征参与精排模型的训练过程,由于该另一部分样本特征无法参与精排模型的训练过程,从而发挥了遮挡作用。

步骤202、电子设备基于第一损失函数,对粗排模型进行训练,得到粗排模型的第二损失函数。

可选地,本申请实施例中,上述步骤201具体可以通过下述的步骤201a实现。并且,上述步骤202具体可以通过下述的步骤202a和步骤202b实现。

步骤201a、电子设备根据精排偏好概率和目标标签,对精排模型进行M次迭代训练,得到第一损失函数。

本申请实施例中,M为正整数。

可选地,本申请实施例中,上述第一损失函数为本次对精排模型进行迭代训练得到的第一损失函数。

可选地,本申请实施例中,电子设备可以通过预设模型得到初始精排偏好概率,以根据初始精排偏好概率和目标标签,对精排模型进行第一次迭代训练,得到一个第一损失函数;在第一次迭代训练后,电子设备可以通过更新预设模型中的参数,得到更新后的精排偏好概率,以根据更新后的的精排偏好概率和目标标签,对精排模型进行第二次迭代训练,得到一个第一损失函数,……,如此,每次对精排模型进行迭代训练均可以得到一个第一损失函数。

步骤202a、电子设备根据第一损失函数和第三损失函数,确定目标差值。

本申请实施例中,上述第三损失函数为对精排模型进行第M-1次迭代得到的损失函数。

可选地,本申请实施例中,在对精排模型进行第一次迭代训练的过程中,电子设备可以根据对精排模型进行第一次迭代得到的第一损失函数和初始损失函数,确定目标差值;在对精排模型进行第二次迭代训练的过程中,电子设备可以根据对精排模型进行第二次迭代得到的第一损失函数和对精排模型进行第一次迭代得到的损失函数(即第三损失函数),确定目标差值;……。

可选地,本申请实施例中,初始损失函数loss_detail(0)=99999,表示精排模型的初始损失函数为正无穷大。具体的可以根据实际使用需求确定,本申请实施例不做限制。

可以理解,电子设备可以根据本次对精排模型进行迭代训练得到的损失函数loss_detail(t)和上一次对精排模型进行迭代训练得到的损失函数loss_detail(t-1),确定目标差值。

步骤202b、在目标差值小于或等于精排模型稳定阈值的情况下,电子设备根据精排偏好概率和粗排偏好概率,对粗排模型进行迭代训练,得到第二损失函数。

本申请实施例中,上述粗排偏好概率用于指示粗排模型输出的用户对推荐对象的喜好程度。

可选地,本申请实施例中,电子设备可以根据精排偏好概率p_detail_rank(u,i)和粗排偏好概率p_rough_rank(u,i),采用第二预设算法(例如均方误差算法),计算粗排模型的第二损失函数loss_rough(t),该第二损失函数loss_rough(t)表示第t次迭代训练时粗排模型输出的损失函数值。

可选地,本申请实施例中,上述精排模型稳定阈值可以为0.01。具体的可以根据实际使用需求确定,本申请实施例不做限制。

可选地,本申请实施例中,在目标差值大于精排模型稳定阈值的情况下,确定第二损失函数为零,并且设置粗排损失权重为零。

需要说明的是,目标差值小于或等于精排模型稳定阈值说明:精排模型已经收敛到一定程度,可以对粗排模型进行指导训练。目标差值大于精排模型稳定阈值说明:精排模型还需要进一步收敛,暂不考虑粗排模型。

可选地,本申请实施例中,在确定第一损失函数和第二损失函数之后,电子设备可以根据第一损失函数和第二损失函数,确定精排模型的损失权重值和精排模型的损失权重值,以使得精排模型和粗排模型可以更有效率的收敛。

可选地,本申请实施例中,电子设备可以将目标精排向量(精排模型的embedding层)和目标粗排向量(粗排模型的embedding层)分别加入至第一损失函数和第二损失函数中,从而保证粗排模型学习到的目标粗排向量和精排模型学习到的目标精排向量能够保持一致性又互相独立。

本申请实施例中,由于对于精排网络采用先收敛后指导的方法,即对精排模型先进行训练,在精排模型收敛到一定程度的时候,再对粗排模型进行指导训练,避免粗排模型在初始阶段发生震荡现象,影响粗排模型和精排模型的迭代训练以及收敛的问题,从而保证了对精排模型和粗排模型训练的稳定性。

可选地,本申请实施例中,在上述步骤202b之前,本申请实施例提供的粗精排方法还包括下述的步骤501。

步骤501、电子设备根据N个预设样本特征的N个第二标记位,确定粗排偏好概率。

本申请实施例中,每个预设样本特征分别对应一个第二标记位,每个第二标记位用于指示是否允许粗排模型使用一个预设样本特征。

可选地,本申请实施例中,电子设备可以预先采用第二标记位is_rough对N个预设样本特征中的每个样本特征分别进行标记,以允许粗排模型使用该样本特征,或者不允许粗排模型使用该样本特征。

可选地,本申请实施例中,在不允许粗排模型使用N个预设样本特征中的第二样本特征的情况下,电子设备设置第二样本特征对应的第二标记位为第一比特位;在允许粗排模型使用第二样本特征的情况下,电子设备设置第二样本特征对应的第二标记位为第二比特位。

可选地,本申请实施例中,上述第一比特位可以为0,上述第二比特位可以为1。

可以理解,电子设备不允许粗排模型使用N个预设样本特征中的第二样本特征,表示第二样本特征无法参与粗排模型的训练过程。电子设备允许粗排模型使用N个预设样本特征中的第二样本特征,表示第二样本特征可以参与粗排模型的训练过程。

可选地,本申请实施例中,电子设备可以根据N个第二标记位,确定第二向量,并基于第二向量和N个预设样本特征,确定目标粗排向量;然后,基于预设模型和目标粗排向量,确定粗排偏好概率。

可选地,本申请实施例中,电子设备可以基于第二向量和N个预设样本特征,构建粗排模块的embedding层,该embedding层通过一个向量(即目标粗排向量)vec_rough_embedding表示,该向量为N个预设样本特征对于整个粗排模型的抽象表示,该向量包含粗排模型所需要的样本特征的相关信息。

可以理解,在对样本特征进行抽象表示时,通过构建独立的embedding层的方式,使得粗排模型和精排模型能够分别学习自身的抽象表示,从而两者不会互相影响。

需要说明的是,针对电子设备根据N个第二标记位确定粗排偏好概率的方法,具体可以参照上述实施例中电子设备根据N个第一标记位确定精排偏好概率的方法,此处不再赘述。

本申请实施例中,在对粗排模型训练的准备阶段,电子设备可以为N个预设样本特征中的每个样本特征设置第二标记位,以指示是否允许粗排模型使用一个预设样本特征,如此,根据这些预设样本特征的第二标记位,确定粗排偏好概率,以在精排模型已收敛的情况下,根据精排偏好概率和粗排偏好概率,对粗排模型进行迭代训练,得到粗排模型的损失函数,避免了粗排模型在初始阶段发生震荡现象,影响粗排模型和精排模型的迭代训练以及收敛的问题,从而保证了对粗排模型进行指导训练的稳定性。

步骤203、电子设备基于第一损失函数和第二损失函数,输出目标精排模型和目标粗排模型。

可选地,本申请实施例中,上述步骤203具体可以通过下述的步骤203a至步骤203c实现。

步骤203a、电子设备对第一损失函数和第二损失函数进行加权求和处理,得到目标损失函数。

可选地,本申请实施例中,电子设备可以采用第三预设算法,对粗排损失函数和精排损失函数进行加权求和处理,得到最终的损失函数loss_final(t)(即目标损失函数),该第三预设算法为:

loss_final(t)=δ*loss_rough(t)+(1-δ)*loss_detail(t)

其中,δ为粗排损失权重,表示最终损失赋予粗排损失的重要程度。

可选地,本申请实施例中,δ可以为0.5。具体的可以根据实际使用需求确定,本申请实施例不做限制。

可选地,本申请实施例中,在精排模型已经收敛的情况下,电子设备可以对第一损失函数和第二损失函数(即根据精排偏好概率和粗排偏好概率得到的粗排模型的损失函数)进行加权求和处理,得到目标损失函数;在精排模型未收敛的情况下,电子设备暂不考虑粗排模型,设置第二损失函数和粗排损失权重为零,然后对第一损失函数和第二损失函数进行加权求和处理,得到目标损失函数,此时目标损失函数即为第一损失函数。

可选地,本申请实施例中,上述目标损失函数为本次对精排模型和粗排模型进行迭代训练得到的损失函数。

可选地,本申请实施例中,电子设备在得到本次迭代训练的目标损失函数之后,还需要再次对精排模型和粗排模型进行迭代训练。可以理解,电子设备需要对精排模型和粗排模型进行多次迭代训练,以得到多个目标损失函数,从而根据这些目标损失函数确定是否输出目标精排模型和目标粗排模型。

步骤203b、电子设备在对精排模型和粗排模型连续多次迭代的过程中,若目标损失函数未发生下降,则停止对精排模型和粗排模型迭代训练,并输出最后一次迭代训练后的精排模型和粗排模型。

本申请实施例中,上述最后一次迭代训练后的精排模型和粗排模型即为目标精排模型和目标粗排模型。

可选地,本申请实施例中,在对精排模型和粗排模型连续a次迭代的过程中,如果目标损失函数loss_final(t)均未发生下降,则表示粗排模型和精排模型收敛到一定程度,停止对精排模型和粗排模型迭代训练,并输出最后一次迭代训练后的精排模型和粗排模型。

可选地,本申请实施例中,a为目标损失函数的未持续下降的迭代次数的阈值,a可以为5。具体的可以根据实际使用需求确定,本申请实施例不做限制。

步骤203c、电子设备在对精排模型和粗排模型连续多次迭代的过程中,若目标损失函数在第K次迭代时发生下降,则采用反向传播算法更新精排偏好概率,并基于更新后的精排偏好概率再次对精排模型和粗排模型进行迭代训练,以输出目标精排模型和目标粗排模型。

本申请实施例中,K为正整数。

可选地,本申请实施例中,在对精排模型和粗排模型连续a次迭代的过程中,如果目标损失函数loss_final(t)在第K次迭代时发生下降,则采用反向传播算法进行各层参数的更新,然后再次对精排模型和粗排模型进行迭代训练。

可选地,本申请实施例中,电子设备可以通过更新预设模型中的预设参数,以更新精排偏好概率和粗排偏好概率,然后再基于更新后的精排偏好概率对精排模型进行训练,并基于更新后的精排偏好概率和更新后的粗排偏好概率对粗排模型进行训练。

本申请实施例中,电子设备可以根据精排模型的第一损失函数和精排模型的第二损失函数,得到目标损失函数,以根据目标初始函数确定是否可以输出目标精排模型和目标粗排模型,如此,在对精排模型和粗排模型连续多次迭代的过程中,若目标损失函均未发生下降(即目标粗排模型和目标精排模型均已收敛到一定程度),则输出目标精排模型和目标粗排模型,保证了对粗排模型和精排模型进行训练的稳定性和训练效率。

本申请实施例提供一种训练方法,电子设备在对精排模型和粗排模型进行训练的过程中,可以先根据精排偏好概率和目标标签,确定精排模型的第一损失函数,然后,电子设备可以基于该第一损失函数,对粗排模型进行指导训练,以确定粗排模型的第二损失函数,从而基于该第一损失函数和该第二损失函数,输入目标精排模型和目标粗排模型。本方案中,一方面,由于将粗排模型和精排模型一起训练,采用先收敛后指导的方法通过精排模型对粗排模型进行指导训练,避免了粗排模型在初始阶段发生震荡现象,影响粗排模型和精排模型的迭代训练以及收敛的问题和由于粗排模型和精排模型独立训练导致线上线下训练过程中资源浪费和性能影响的问题;另一方面,粗排模型和精排模型在训练过程中采用相同的网络结构,避免了粗排模型和精排模型的排序结果差距过大的情况;如此,提升了电子设备通过粗精排模型预测出来的推荐效果。

下面结合图2,对本申请实施例提供的粗精训练方法的具体过程进行描述:

1)电子设备获取N个预设样本特征和该N个预设样本特征的标签label,该N个预设样本特征可以包括用户侧特征、推荐对象侧特征和交叉侧特征。

2)电子设备根据N个预设样本特征分别构建粗排模型的遮挡层和精排模型的遮挡层。

3)电子设备根据粗排模型的遮挡层构建粗排模型的embedding层,并根据精排模型的遮挡层构建精排模型的embedding层;其中,粗排模型的embedding层采用目标粗排向量表示,精排模型的embedding层采用目标精排向量表示。

4)电子设备将目标粗排向量输入至粗排网络结构中得到粗排偏好概率,并将目标精排向量输入至精排网络结构中得到精排偏好概率,其中,粗排网络结构和精排网络结构为相同的网络结构。

5)电子设备可以根据粗排偏好概率和精排偏好概率,确定粗排模型的损失函数;并且,电子设备可以根据精排偏好概率和N个预设样本特征的标签label,确定精排模型的损失函数。

6)电子设备可以基于粗排模型的损失函数和精排模型的损失函数,确定最终的损失函数,以基于最终的损失函数,输出目标粗排模型和目标精排模型。

需要说明的是,本申请实施例提供的训练方法,执行主体可以为训练装置,或者该训练装置中的用于执行训练方法的控制模块。本申请实施例中以训练装置执行训练方法为例,说明本申请实施例提供的训练装置。

图3示出了本申请实施例中涉及的训练装置的一种可能的结构示意图。如图3所示,该训练装置70可以包括:确定模块71、训练模块72和输出模块73。

其中,确定模块71,用于根据精排偏好概率和目标标签,确定精排模型的第一损失函数,该精排偏好概率用于指示精排模型输出的用户对推荐对象的喜好程度,该目标标签用于指示用户对推荐对象的行为。训练模块72,用于基于确定模块71确定的第一损失函数,对粗排模型进行训练,得到粗排模型的第二损失函数。输出模块73,用于基于确定模块71确定的第一损失函数和训练模块72得到的第二损失函数,输出目标精排模型和目标粗排模型。

本申请实施例提供一种训练装置,一方面,由于将粗排模型和精排模型一起训练,采用先收敛后指导的方法通过精排模型对粗排模型进行指导训练,避免了粗排模型在初始阶段发生震荡现象,影响粗排模型和精排模型的迭代训练以及收敛的问题和由于粗排模型和精排模型独立训练导致线上线下训练过程中资源浪费和性能影响的问题;另一方面,粗排模型和精排模型在训练过程中采用相同的网络结构,避免了粗排模型和精排模型的排序结果差距过大的情况;如此,提升了粗精排模型预测出来的推荐效果。

在一种可能的实现方式中,上述确定模块71,还用于在根据精排偏好概率和目标标签,确定精排模型的第一损失函数之前,根据N个预设样本特征的N个第一标记位,确定精排偏好概率,每个预设样本特征分别对应一个第一标记位,每个第一标记位用于指示是否允许精排模型使用一个预设样本特征。

在一种可能的实现方式中,上述确定模块71,具体用于根据N个第一标记位,确定第一向量,并基于第一向量和N个预设样本特征,确定目标精排向量;以及基于预设模型和目标精排向量,确定精排偏好概率。

在一种可能的实现方式中,上述训练装置还包括:设置模块。设置模块,用于在确定模块71根据N个预设样本特征的N个第一标记位,确定精排偏好概率之前,在不允许精排模型使用N个预设样本特征中的第一样本特征的情况下,设置第一样本特征对应的第一标记位为第一比特位;在允许精排模型使用N个预设样本特征中的第一样本特征的情况下,设置第一样本特征对应的第一标记位为第二比特位。

在一种可能的实现方式中,上述确定模块71,具体用于根据精排偏好概率和目标标签,对精排模型进行M次迭代训练,得到第一损失函数,M为正整数。上述训练模块72,具体用于根据第一损失函数和第三损失函数,确定目标差值,该第三损失函数为对精排模型进行第M-1次迭代得到的损失函数;并在目标差值小于或等于精排模型稳定阈值的情况下,根据精排偏好概率和粗排偏好概率,对粗排模型进行迭代训练,得到第二损失函数,该粗排偏好概率用于指示粗排模型输出的用户对推荐对象的喜好程度。

在一种可能的实现方式中,上述确定模块71,还用于在训练模块72根据精排偏好概率和粗排偏好概率,对粗排模型进行迭代训练,得到第二损失函数之前,根据N个预设样本特征的N个第二标记位,确定粗排偏好概率,每个预设样本特征分别对应一个第二标记位,每个第二标记位用于指示是否允许粗排模型使用一个预设样本特征。

在一种可能的实现方式中,上述输出模块73,具体用于对第一损失函数和第二损失函数进行加权求和处理,得到目标损失函数;在对精排模型和粗排模型连续多次迭代的过程中,若目标损失函数未发生下降,则停止对精排模型和粗排模型迭代训练,并输出最后一次迭代训练后的精排模型和粗排模型;若目标损失函数在第K次迭代时发生下降,则采用反向传播算法更新精排偏好概率,并基于更新后的精排偏好概率再次对精排模型和粗排模型进行迭代训练,以输出目标精排模型和目标粗排模型,K为正整数。

本申请实施例中的训练装置可以是装置,也可以电子设备中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personaldigital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(NetworkAttached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。

本申请实施例中的训练装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为IOS操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。

本申请实施例提供的训练装置能够实现上述方法实施例实现的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

可选地,如图4所示,本申请实施例还提供一种电子设备800,包括处理器801,存储器802,存储在存储器802上并可在所述处理器801上运行的程序或指令,该程序或指令被处理器801执行时实现上述训练方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。

图5为实现本申请实施例的一种电子设备的硬件结构示意图。

该电子设备1000包括但不限于:射频单元1001、网络模块1002、音频输出单元1003、输入单元1004、传感器1005、显示单元1006、用户输入单元1007、接口单元1008、存储器1009、以及处理器1010等部件。

本领域技术人员可以理解,电子设备1000还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器1010逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图5中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。

其中,处理器1010,用于根据精排偏好概率和目标标签,确定精排模型的第一损失函数,该精排偏好概率用于指示精排模型输出的用户对推荐对象的喜好程度,该目标标签用于指示用户对推荐对象的行为;并基于第一损失函数,对粗排模型进行训练,得到粗排模型的第二损失函数;以及基于第一损失函数和第二损失函数,输出目标精排模型和目标粗排模型。

本申请实施例提供一种电子设备,一方面,由于将粗排模型和精排模型一起训练,采用先收敛后指导的方法通过精排模型对粗排模型进行指导训练,避免了粗排模型在初始阶段发生震荡现象,影响粗排模型和精排模型的迭代训练以及收敛的问题和由于粗排模型和精排模型独立训练导致线上线下训练过程中资源浪费和性能影响的问题;另一方面,粗排模型和精排模型在训练过程中采用相同的网络结构,避免了粗排模型和精排模型的排序结果差距过大的情况;如此,提升了电子设备通过粗精排模型预测出来的推荐效果。

可选地,本申请实施例中,处理器1010,还用于在根据精排偏好概率和目标标签,确定精排模型的第一损失函数之前,根据N个预设样本特征的N个第一标记位,确定精排偏好概率,每个预设样本特征分别对应一个第一标记位,每个第一标记位用于指示是否允许精排模型使用一个预设样本特征。

可选地,本申请实施例中,处理器1010,具体用于根据N个第一标记位,确定第一向量,并基于第一向量和N个预设样本特征,确定目标精排向量;以及基于预设模型和目标精排向量,确定精排偏好概率。

可选地,本申请实施例中,处理器1010,还用于在根据N个预设样本特征的N个第一标记位,确定精排偏好概率之前,在不允许精排模型使用N个预设样本特征中的第一样本特征的情况下,设置第一样本特征对应的第一标记位为第一比特位;在允许精排模型使用N个预设样本特征中的第一样本特征的情况下,设置第一样本特征对应的第一标记位为第二比特位。

可选地,本申请实施例中,处理器1010,具体用于根据精排偏好概率和目标标签,对精排模型进行M次迭代训练,得到第一损失函数,M为正整数;并根据第一损失函数和第三损失函数,确定目标差值,该第三损失函数为对精排模型进行第M-1次迭代得到的损失函数;以及在目标差值小于或等于精排模型稳定阈值的情况下,根据精排偏好概率和粗排偏好概率,对粗排模型进行迭代训练,得到第二损失函数,该粗排偏好概率用于指示粗排模型输出的用户对推荐对象的喜好程度。

可选地,本申请实施例中,处理器1010,还用于在根据精排偏好概率和粗排偏好概率,对粗排模型进行迭代训练,得到第二损失函数之前,根据N个预设样本特征的N个第二标记位,确定粗排偏好概率,每个预设样本特征分别对应一个第二标记位,每个第二标记位用于指示是否允许粗排模型使用一个预设样本特征。

可选地,本申请实施例中,处理器1010,具体用于对第一损失函数和第二损失函数进行加权求和处理,得到目标损失函数;在对精排模型和粗排模型连续多次迭代的过程中,若目标损失函数未发生下降,则停止对精排模型和粗排模型迭代训练,并输出最后一次迭代训练后的精排模型和粗排模型;若目标损失函数在第K次迭代时发生下降,则采用反向传播算法更新精排偏好概率,并基于更新后的精排偏好概率再次对精排模型和粗排模型进行迭代训练,以输出目标精排模型和目标粗排模型,K为正整数。

本申请实施例提供的电子设备能够实现上述方法实施例实现的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本实施例中各种实现方式具有的有益效果具体可以参见上述方法实施例中相应实现方式所具有的有益效果,为避免重复,此处不再赘述。

应理解的是,本申请实施例中,输入单元1004可以包括图形处理器(GraphicsProcessing Unit,GPU)10041和麦克风10042,图形处理器10041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元1006可包括显示面板10061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板10061。用户输入单元1007包括触控面板10071以及其他输入设备10072。触控面板10071,也称为触摸屏。触控面板10071可包括触摸检测装置和触摸控制器两个部分。其他输入设备10072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器1009可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器1010可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1010中。

本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述训练方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。

本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述训练方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

相关技术
  • 图像处理方法及装置,模型的训练方法及装置,电子设备
  • 音频处理方法和装置、音频模型训练方法和装置、电子设备及计算机可读存储介质
技术分类

06120113692455