一种基于知识蒸馏的物品推荐方法、电子设备及存储介质技术

技术编号:35429264 阅读:16 留言:0更新日期:2022-11-03 11:33
本申请涉及机器学习技术领域,具体涉及一种基于知识蒸馏的物品推荐方法、电子设备及存储介质,所述方法包括:基于用户的物品交互记录构建训练序列和测试序列;基于所述训练序列构建用户候选物品预测模型;将所述测试序列输入所述用户候选物品预测模型进行预测。其中,构建用户候选物品预测模型包括;使用随机数种子对训练序列做遮蔽处理生成若干个遮蔽序列;构建若干序列推荐平行网络,将训练序列和遮蔽序列作为输入分别输入到每个序列推荐平行网络进行预训练并进行知识蒸馏,确定用户候选物品预测模型的损失函数;基于所述损失函数对序列推荐平行网络进行迭代训练获得所述用户候选物品预测模型。本申请的方法,物品推荐准确率高,性能好。性能好。性能好。

【技术实现步骤摘要】
一种基于知识蒸馏的物品推荐方法、电子设备及存储介质


[0001]本申请涉及机器学习
,特别是涉及一种基于知识蒸馏的物品推荐方法、电子设备及存储介质。

技术介绍

[0002]推荐系统是基于用户的历史交互信息为用户推荐感兴趣物品的一种系统,推荐系统通常搭建一个用户的动态兴趣模型通过模型的序列编码器捕捉用户的动态兴趣生成用户和物品隐藏表示,再基于用户和物品的隐藏表示推荐物品。现有技术中,都是通过深度神经网络改进单一的序列编码器来精准捕获用户兴趣,然而这种方式由于还是使用单一序列编码器,其使用的深度神经网络只能收敛到一个局部最优点,不能给出多个可能的最优点,其预测和推荐结果存在较大的局限性。

技术实现思路

[0003]为了解决现有技术存在的不足,本申请的目的在于提供一种基于知识蒸馏的物品推荐方法、电子设备及存储介质,提高推荐系统的推荐精准度。
[0004]为实现上述目的,本申请提供一种基于知识蒸馏的物品推荐方法,包括:基于用户的物品交互记录构建训练序列和测试序列;基于所述训练序列构建用户候选物品预测模型;将所述测试序列输入所述用户候选物品预测模型进行预测;其中,基于所述训练序列构建用户候选物品预测模型,包括;使用随机数种子对训练序列做遮蔽处理生成若干个遮蔽序列,每个遮蔽序列中的一部分序列值随机使用遮蔽标志替换;构建若干序列推荐平行网络,将所述训练序列和所述遮蔽序列作为输入分别输入到每个所述序列推荐平行网络进行预训练;基于若干所述序列推荐平行网络的预训练进行知识蒸馏,确定用户候选物品预测模型的损失函数;基于所述损失函数对所述序列推荐平行网络进行迭代训练获得所述用户候选物品预测模型。
[0005]进一步地,所述构建若干序列推荐平行网络,将所述训练序列和所述遮蔽序列作为输入分别输入到每个所述序列推荐平行网络进行预训练的步骤,还包括:以不同参数初始化若干个序列编码器构建序列推荐平行网络;基于输入的训练序列,各序列推荐平行网络生成训练序列的隐藏表示进而输出物品类概率;基于输入的遮蔽序列,各序列推荐平行网络生成遮蔽序列的隐藏表示进而输出候选物品概率。
[0006]进一步地,所述基于若干序列推荐平行网络的训练进行知识蒸馏,确定用户候选
物品预测模型的损失函数的步骤,还包括:基于各序列推荐平行网络输出的候选物品概率,确定第一损失函数;基于各序列推荐平行网络输出的物品类概率,确定第二损失函数;基于各序列推荐平行网络内训练序列的隐藏表示和各遮蔽序列的隐藏表示进行网络内知识蒸馏,确定第三损失函数;基于各序列推荐平行网络内训练序列的隐藏表示和各遮蔽序列的隐藏表示进行网络间知识蒸馏,确定第四损失函数;基于各序列推荐平行网络输出的候选物品概率进行网络间知识蒸馏,确定第五损失函数;基于第一损失函数、第二损失函数、第三损失函数、第四损失函数和第五损失函数,确定用户候选物品预测模型的损失函数。
[0007]进一步地,所述确定第一损失函数的具体步骤包括:基于候选物品概率,确定各序列推荐平行网络中各遮蔽序列候选物品概率的交叉熵损失函数;基于各序列推荐平行网络中各遮蔽序列候选物品的概率的交叉熵损失函数,确定第一损失函数。
[0008]进一步地,所述确定第二损失函数的具体步骤包括:基于物品类概率,确定各序列推荐平行网络的物品类概率的交叉熵损失函数;基于各序列推荐平行网络的交叉熵损失函数,确定第二损失函数。
[0009]进一步地,所述确定第三损失函数的具体步骤包括:序列推荐平行网络以一个训练序列的隐藏表示为锚点,以该训练序列生成的遮蔽序列的隐藏表示为正样本,以训练批次内的其他训练序列的隐藏表示为负样本,进行网络内知识蒸馏,确定该序列推荐平行网络的网络内知识蒸馏的损失函数;基于对各序列推荐平行网络的网络内知识蒸馏的损失函数,确定第三损失函数。
[0010]进一步地,所述确定第四损失函数的具体步骤包括:序列推荐平行网络以一个序列推荐平行网络中训练序列的隐藏表示为锚点,以该序列推荐平行网络同一训练批次内的其他训练序列的隐藏表示为负样本,以另外一个序列推荐平行网络的遮蔽序列的隐藏表示为正样本进行网络间知识蒸馏,确定这个两个序列推荐平行网络的网络间知识蒸馏的损失函数;基于序列推荐平行网络两两之间的网络间知识蒸馏的损失函数,确定第四损失函数。
[0011]进一步地,所述确定第五损失函数的具体步骤包括:基于各序列推荐平行网络输出的候选物品概率进行网络间知识蒸馏,确定各序列推荐平行网络两两之间的KL散度;基于各序列推荐平行网络两两之间的KL散度,确定第五损失函数。
[0012]为实现上述目的,本申请提供的电子设备,包括处理器;存储器,包括一个或多个计算机程序模块;其中,所述一个或多个计算机程序模块被存储在所述存储器中并被配置为由所述处理器执行,所述一个或多个计算机程序模块包括用于实现如上所述的基于知识蒸馏的物
品推荐方法。
[0013]为实现上述目的,本申请提供的计算机可读存储介质,其上存储有计算机指令,当计算机指令运行时执行如上所述的基于知识蒸馏的物品推荐方法的步骤。
[0014]本申请的一种基于知识蒸馏的物品推荐方法,使用多个序列推荐平行网络进行预训练并进行知识蒸馏,以此提高了用户候选物品预测和推荐的成功率、准确率和性能。
[0015]本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。
附图说明
[0016]附图用来提供对本申请的进一步理解,并且构成说明书的一部分,并与本申请的实施例一起,用于解释本申请,并不构成对本申请的限制。在附图中:图1为本申请的基于知识蒸馏的物品推荐方法的流程示意图;图2为基于所述训练序列构建用户候选物品预测模型的流程示意图;图3为构建若干序列推荐平行网络进行预训练的流程示意图;图4为确定用户候选物品预测模型的损失函数的流程示意图;图5为用户候选物品预测模型的参数选择的示意图;图6为用户候选物品预测模型的性能指标的示意图;图7为本申请的一种电子设备的示意框图;图8为本申请的一种存储介质的示意图。
具体实施方式
[0017]下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
[0018]应当理解,本申请的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。
[0019]本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于知识蒸馏的物品推荐方法,包括:基于用户的物品交互记录构建训练序列和测试序列;基于所述训练序列构建用户候选物品预测模型;将所述测试序列输入所述用户候选物品预测模型进行预测;其中,基于所述训练序列构建用户候选物品预测模型,包括:使用随机数种子对训练序列做遮蔽处理生成若干个遮蔽序列,每个遮蔽序列中的一部分序列值随机使用遮蔽标志替换;构建若干序列推荐平行网络,将所述训练序列和所述遮蔽序列作为输入分别输入到每个所述序列推荐平行网络进行预训练;基于若干所述序列推荐平行网络的预训练进行知识蒸馏,确定用户候选物品预测模型的损失函数;基于所述损失函数对所述序列推荐平行网络进行迭代训练获得所述用户候选物品预测模型。2.根据权利要求1所述的基于知识蒸馏的物品推荐方法,其特征在于,所述构建若干序列推荐平行网络,将所述训练序列和所述遮蔽序列作为输入分别输入到每个所述序列推荐平行网络进行预训练的步骤,还包括:以不同参数初始化若干个序列编码器构建序列推荐平行网络;基于输入的训练序列,各序列推荐平行网络生成训练序列的隐藏表示进而输出物品类概率;基于输入的遮蔽序列,各序列推荐平行网络生成遮蔽序列的隐藏表示进而输出候选物品概率。3.根据权利要求1所述的基于知识蒸馏的物品推荐方法,其特征在于,所述基于若干所述序列推荐平行网络的训练进行知识蒸馏,确定用户候选物品预测模型的损失函数的步骤,还包括:基于各序列推荐平行网络输出的候选物品概率,确定第一损失函数;基于各序列推荐平行网络输出的物品类概率,确定第二损失函数;基于各序列推荐平行网络内训练序列的隐藏表示和各遮蔽序列的隐藏表示进行网络内知识蒸馏,确定第三损失函数;基于各序列推荐平行网络内训练序列的隐藏表示和各遮蔽序列的隐藏表示进行网络间知识蒸馏,确定第四损失函数;基于各序列推荐平行网络输出的候选物品概率进行网络间知识蒸馏,确定第五损失函数;基于第一损失函数、第二损失函数、第三损失函数、第四损失函数和第五损失函数,确定用户候选物品预测模型的损失函数。4.根据权利要求3所述的基于知识蒸馏的物品推荐方法,其特征在于,所述确定第一损失函数的具体步骤包括:基于候选物品概率,确定各序列推荐平行网络中各遮蔽序列候选物品概率的交叉熵损失函数;基于各序...

【专利技术属性】
技术研发人员:沈利东沈利辉赵朋朋堵瀚文沈逸旸
申请(专利权)人:江苏亿友慧云软件股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1