基于双向Transformers的推荐模型的训练方法、训练装置和推荐方法制造方法及图纸

技术编号:35301470 阅读:23 留言:0更新日期:2022-10-22 12:50
本发明专利技术实施例公开了基于双向Transformers的推荐模型的训练方法、训练装置和推荐方法。该训练方法包括:获取多个用户的历史交互序列;对每个用户的历史交互序列中的对象进行随机遮蔽,生成多个不同的遮蔽序列;将多个用户的遮蔽序列输入至推荐模型中进行处理,得到所预测的每个用户的每个被遮蔽对象以及每个遮蔽序列的向量表示;根据多个用户的遮蔽序列中全部被遮蔽对象的向量表示,确定完型填空任务损失信息;根据多个用户的遮蔽序列的向量表示,确定对比学习损失信息;根据完型填空任务损失信息和对比学习损失信息,训练推荐模型。基于该训练方法,其可以提高推荐模型向目标用户进行对象推荐的准确性。向目标用户进行对象推荐的准确性。向目标用户进行对象推荐的准确性。

【技术实现步骤摘要】
基于双向Transformers的推荐模型的训练方法、训练装置和推荐方法


[0001]本专利技术实施例涉及计算机
,尤其涉及基于双向Transformers的推荐模型的训练方法、训练装置和推荐方法。

技术介绍

[0002]序列推荐方法致力于对用户历史交互序列中的动态兴趣进行研究并预测用户在未来可能会感兴趣的物品。基于马尔可夫链假设的传统方法认为,用户感兴趣的下一个物品只跟前几个物品有关。随着深度学习领域的技术进步,卷积神经网络和循环神经网络也被用作序列编码器来生成序列表示。这些方法的局限在于,卷积神经网络只能捕获局部特征,而循环神经网络难以并行计算。最近,Transformers模型这一强大架构在很多研究领域被广泛使用。与卷积神经网络和循环神经网络不同的是,Transformers模型能够自动对不同位置的物品赋予不同的注意力权重,这使得Transformers能够捕捉全局和局部的信息并且能够并行计算。因此,许多序列推荐模型都使用Transformers作为序列编码器,通过自注意力机制捕捉物品之间的关联关系,并获得了高质量的序列表示。
[0003]现有工作都是基于单向Transformers而设计推荐模型。单向Transformers的局限性在于,其只能从左向右考虑用户历史序列中的信息。但在真实世界中,用户行为未必遵循严格的从左向右序列。许多外部因素可能扰乱原有的序列顺序,并且在序列模式中也存在跳过行为。因此,基于单向Transformers的推荐模型在模型性能方面仍然有待提高。

技术实现思路
r/>[0004]本专利技术实施例的一个目的是解决至少上述问题和/或缺陷,并提供至少后面将说明的优点。
[0005]本专利技术实施例提供了基于双向Transformers的推荐模型的训练方法、训练装置和推荐方法,其可以改善推荐模型的性能,提高推荐模型向目标用户进行对象推荐的准确性。
[0006]第一方面,提供了一种基于双向Transformers的推荐模型的训练方法,包括:
[0007]获取多个用户的历史交互序列;其中,每个用户的历史交互序列包括每个用户所交互的对象序列;
[0008]对每个用户的历史交互序列中的对象进行随机遮蔽,生成每个用户的多个不同的遮蔽序列;
[0009]将所述多个用户的遮蔽序列输入至基于双向Transformers的推荐模型中进行处理,从所述多个用户所交互的全部对象中预测每个用户的每个遮蔽序列中的被遮蔽对象,得到所预测的每个用户的每个遮蔽序列中每个被遮蔽对象的向量表示以及每个用户的每个遮蔽序列的向量表示;
[0010]基于预设的完型填空任务损失函数,根据所述多个用户的遮蔽序列中全部被遮蔽对象的向量表示,确定完型填空任务损失信息;
[0011]基于预设的对比学习损失函数,根据所述多个用户的遮蔽序列的向量表示,确定对比学习损失信息;
[0012]根据所述完型填空任务损失信息和所述对比学习损失信息,训练所述推荐模型。
[0013]可选地,所述对每个用户的历史交互序列中的对象进行随机遮蔽,生成每个用户的多个不同的遮蔽序列,包括:
[0014]若所述多个用户中的任一个用户的历史交互序列的长度超过第一预设长度,采用所述第一预设长度的滑动窗口扫描相应用户的历史交互序列,将相应用户的历史交互序列划分为若干子序列;
[0015]对相应用户的每个子序列中的对象进行随机遮蔽,生成相应用户的每个子序列的多个不同的遮蔽序列。
[0016]可选地,所述基于预设的完型填空任务损失函数,根据所述多个用户的遮蔽序列中全部被遮蔽对象的向量表示,确定完型填空任务损失信息,包括:
[0017]根据每个用户的每个遮蔽序列中每个被遮蔽对象的向量表示,确定每个用户的每个遮蔽序列中每个被遮蔽对象的概率,其中,所述每个用户的每个遮蔽序列中每个被遮蔽对象的概率为所预测的每个用户的每个遮蔽序列中每个被遮蔽对象属于每个用户的每个遮蔽序列中的真实对象的概率;
[0018]基于预设的完型填空任务损失函数,根据所述多个用户的遮蔽序列中全部被遮蔽对象的概率,确定完型填空任务损失信息。
[0019]可选地,所述基于预设的对比学习损失函数,根据所述多个用户的遮蔽序列的向量表示,确定对比学习损失信息,包括:
[0020]根据所述多个用户中相同用户的具有相同序列来源的不同遮蔽序列的向量表示之间的差异,以及不同用户的不同遮蔽序列的向量表示之间的差异,确定对比学习损失信息。
[0021]可选地,所述根据所述完型填空任务损失信息和所述对比学习损失信息,训练所述推荐模型,包括:
[0022]基于预设的权重动态重估策略,在每一轮迭代中,更新所述完型填空任务损失信息和所述对比学习损失信息的权重;
[0023]在每一轮迭代中,根据更新的所述完型填空任务损失信息和所述对比学习损失信息的权重,对每一轮迭代中确定的所述完型填空任务损失信息和所述对比学习损失信息进行加权求和,得到每一轮迭代中的联合损失信息;
[0024]根据每一轮迭代的联合损失信息,调整所述推荐模型的参数。
[0025]可选地,所述基于预设的权重动态重估策略,在每一轮迭代中,更新所述完型填空任务损失信息和所述对比学习损失信息的权重,包括:
[0026]根据以下公式,在每一轮迭代中,更新所述完型填空任务损失信息和所述对比学习损失信息的权重:
[0027][0028][0029]其中,θ
n+1
为在第n+1轮迭代中对比学习损失信息的权重,θ
n
为在第n轮迭代中对比
学习损失信息的权重,θ的初始值设置为0,α为学习率超参数,λ为比例换算因子,和分别表示在第n+1轮迭代中所确定的完形填空任务损失信息和对比学习损失信息;
[0030]所述在每一轮迭代中,根据更新的所述完型填空任务损失信息和所述对比学习损失信息的权重,对每一轮迭代中确定的所述完型填空任务损失信息和所述对比学习损失信息进行加权求和,得到每一轮迭代中的联合损失信息,包括:
[0031]根据以下公式,在每一轮迭代中,根据更新的所述完型填空任务损失信息和所述对比学习损失信息的权重,对每一轮迭代中确定的所述完型填空任务损失信息和所述对比学习损失信息进行加权求和,得到每一轮迭代中的联合损失信息:
[0032][0033]其中,表示在第n+1轮迭代中的联合损失信息。
[0034]第二方面,提供了一种基于双向Transformers的推荐模型的训练装置,其特征在于,包括:
[0035]用户序列获取模块,用于获取多个用户的历史交互序列;其中,每个用户的历史交互序列包括每个用户所交互的对象序列;
[0036]遮蔽序列生成模块,用于对每个用户的历史交互序列中的对象进行随机遮蔽,生成每个用户的多个不同的遮蔽序列;
[0037]向量表示生成模块,用于将所述多个用户的全部遮蔽序列输入至基于双向Transformers的推荐模型中进行处理,从所述本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于双向Transformers的推荐模型的训练方法,其特征在于,包括:获取多个用户的历史交互序列;其中,每个用户的历史交互序列包括每个用户所交互的对象序列;对每个用户的历史交互序列中的对象进行随机遮蔽,生成每个用户的多个不同的遮蔽序列;将所述多个用户的遮蔽序列输入至基于双向Transformers的推荐模型中进行处理,从所述多个用户所交互的全部对象中预测每个用户的每个遮蔽序列中的被遮蔽对象,得到所预测的每个用户的每个遮蔽序列中每个被遮蔽对象的向量表示以及每个用户的每个遮蔽序列的向量表示;基于预设的完型填空任务损失函数,根据所述多个用户的遮蔽序列中全部被遮蔽对象的向量表示,确定完型填空任务损失信息;基于预设的对比学习损失函数,根据所述多个用户的遮蔽序列的向量表示,确定对比学习损失信息;根据所述完型填空任务损失信息和所述对比学习损失信息,训练所述推荐模型。2.如权利要求1所述的基于双向Transformers的推荐模型的训练方法,其特征在于,所述对每个用户的历史交互序列中的对象进行随机遮蔽,生成每个用户的多个不同的遮蔽序列,包括:若所述多个用户中的任一个用户的历史交互序列的长度超过第一预设长度,采用所述第一预设长度的滑动窗口扫描相应用户的历史交互序列,将相应用户的历史交互序列划分为若干子序列;对相应用户的每个子序列中的对象进行随机遮蔽,生成相应用户的每个子序列的多个不同的遮蔽序列。3.如权利要求1所述的基于双向Transformers的推荐模型的训练方法,其特征在于,所述基于预设的完型填空任务损失函数,根据所述多个用户的遮蔽序列中全部被遮蔽对象的向量表示,确定完型填空任务损失信息,包括:根据每个用户的每个遮蔽序列中每个被遮蔽对象的向量表示,确定每个用户的每个遮蔽序列中每个被遮蔽对象的概率,其中,所述每个用户的每个遮蔽序列中每个被遮蔽对象的概率为所预测的每个用户的每个遮蔽序列中每个被遮蔽对象属于每个用户的每个遮蔽序列中的真实对象的概率;基于预设的完型填空任务损失函数,根据所述多个用户的遮蔽序列中全部被遮蔽对象的概率,确定完型填空任务损失信息。4.如权利要求1所述的基于双向Transformers的推荐模型的训练方法,其特征在于,所述基于预设的对比学习损失函数,根据所述多个用户的遮蔽序列的向量表示,确定对比学习损失信息,包括:根据所述多个用户中相同用户的具有相同序列来源的不同遮蔽序列的向量表示之间的差异,以及不同用户的不同遮蔽序列的向量表示之间的差异,确定对比学习损失信息。5.如权利要求1所述的基于双向Transformers的推荐模型的训练方法,其特征在于,所述根据所述完型填空任务损失信息和所述对比学习损失信息,训练所述推荐模型,包括:基于预设的权重动态重估策略,在每一轮迭代中,更新所述完型填空任务损失信息和
所述对比学习损失信息的权重;在每一轮迭代中,根据更新的所述完型填空任务损失信息和所述对比学习损失信息的权重,对每一轮迭代中确定的所述完型填空任务损失信息和所述对比学习损失信息进行加权求和,得到每一轮迭代中的联合损失信息;根据每一轮迭代的联合损失信息,调整所述推荐模型的参数。6.如权利要求5所述的基于双向Transformers的推荐模型的训练方法,其特征在于,所述基于预设的权重动态重估策略,在每一轮迭代中,更新所述完型填空任务损失信息和所述对比学习损失信息的权重,包括:根据以下公式,在每一轮迭代中,更新所述完型填空任务损失信息和所述对比学习损失信息的权重:失信息的权重:其中,θ
n+1

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

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

1