CN116028708A - 推荐模型的训练方法及装置 - Google Patents
推荐模型的训练方法及装置 Download PDFInfo
- Publication number
- CN116028708A CN116028708A CN202211249909.1A CN202211249909A CN116028708A CN 116028708 A CN116028708 A CN 116028708A CN 202211249909 A CN202211249909 A CN 202211249909A CN 116028708 A CN116028708 A CN 116028708A
- Authority
- CN
- China
- Prior art keywords
- sample
- user
- fictitious
- behavior
- real
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供一种推荐模型的训练方法及装置。该方法包括:首先,获取真实样本集,其中任意的第一真实样本包括第一用户的用户特征和第一业务对象的对象特征,以及指示所述第一用户是否对第一业务对象做出预定行为的第一行为标签;所述真实样本集涉及的M个用户被划分为与预设敏感属性的两个属性值对应的两组用户;接着,基于所述第一真实样本构造对应的虚构样本,所述虚构样本涉及的第二用户与所述第一用户分属于所述两组用户,所述虚构样本涉及的虚构业务对象与所述第一业务对象的相似度满足预设阈值,所述虚构样本的虚构行为标签具有与所述第一行为标签相同的标签值;之后,基于所述第一真实样本和虚构样本,训练所述推荐模型。
Description
技术领域
本说明书一个或多个实施例涉及机器学习技术领域,尤其涉及一种推荐模型的训练方法及装置。
背景技术
随着互联网技术和信息技术的发展,网络上的信息量爆炸性增长,浩如烟海的商品、音视频资源等给用户带来了信息过载的难题。为了解决这个问题,个性化推荐系统技术得到了研究者们的重视。通过挖掘用户的历史记录、商品特征等信息,个性化推荐系统技术建模了用户的潜在偏好,并向用户推荐其感兴趣的产品集合。
然而,目前的推荐算法往往忽略了公平性的要求。例如,工作推荐系统会给资质相似的男性用户和女性用户推荐截然不同的工作。
因此,需要一种方案,可以解决推荐领域的不公平性问题。
发明内容
本说明书实施例描述一种推荐模型的训练方法,可以从数据层面彻底解决推荐领域的不公平性问题。
根据第一方面,提供了一种推荐模型的训练方法,包括:获取真实样本集,其中任意的第一真实样本包括第一用户的用户特征和第一业务对象的对象特征,以及指示所述第一用户是否对第一业务对象做出预定行为的第一行为标签;所述真实样本集涉及的M个用户被划分为与预设敏感属性的两个属性值对应的两组用户。基于所述第一真实样本构造对应的虚构样本,所述虚构样本涉及的第二用户与所述第一用户分属于所述两组用户,所述虚构样本涉及的虚构业务对象与所述第一业务对象的相似度满足预设阈值,所述虚构样本的虚构行为标签具有与所述第一行为标签相同的标签值。基于所述第一真实样本和虚构样本,训练所述推荐模型。
在一个实施例中,所述预设敏感属性为性别,所述两个属性值为男性和女性。
在一个实施例中,所述业务对象是广告,所述预定行为是点击行为;或,所述业务对象是商品,所述预定行为是购买。
在一个实施例中,基于所述第一真实样本构造对应的虚构样本,包括:从所述两组用户中不包含所述第一用户的用户组中选取一个用户,作为所述第二用户;确定与所述第一业务对象的相似度满足所述预设阈值的虚构业务对象;基于所述第一行为标签,确定与之具有相同标签值的虚构行为标签;基于所述第二用户、虚构业务对象和虚构行为标签,确定所述虚构样本。
在一个实施例中,所述真实样本集涉及N个业务对象,所述N个业务对象对应可学习的N个噪声向量;其中,基于所述第一真实样本构造对应的虚构样本,包括:在利用所述推荐模型处理所述对象特征而得到的第一对象嵌入向量上,叠加对应所述第一业务对象的第一噪声向量,得到对应所述虚构业务对象的虚构对象嵌入向量;基于所述虚构对象嵌入向量,构造所述虚构样本。
在一个具体的实施例中,所述第一噪声向量的范数小于预设阈值。
在一个具体的实施例中,所述对象特征为对象标识。
在一个具体的实施例中,所述方法还包括:基于所述虚构样本训练所述第一噪声向量。
在一个更具体的实施例中,基于所述虚构样本,训练所述第一噪声向量,包括:根据所述虚构样本,从所述真实样本集中获取第二真实样本,所述第二真实样本涉及的用户为所述第二用户,且其第二行为标签的标签值不同于所述虚构行为标签的标签值。利用所述推荐模型分别处理所述虚构样本和第二真实样本,得到两个行为预测结果。以增大所述两个行为预测结果之间的差距为目标,训练所述第一噪声向量。
进一步,在一个例子中,利用所述推荐模型分别处理所述虚构样本和第二真实样本,得到两个行为预测结果,包括:利用所述推荐模型处理所述第二用户的用户特征,得到第二用户嵌入向量;基于所述第二用户嵌入向量和虚构对象嵌入向量的点积,得到针对所述虚构样本的行为预测结果;利用所述推荐模型处理所述第二真实样本中第二业务对象的对象特征,得到第二对象嵌入向量;基于所述第二用户嵌入向量和第二对象嵌入向量的点积,得到针对所述第二真实样本的行为预测结果。
在一个实施例中,基于所述第一真实样本和虚构样本,训练所述推荐模型,包括:从所述真实样本集中获取与所述虚构样本用户相同、行为标签不同的第二真实样本,其与所述虚构样本形成第一样本对;从所述真实样本集中获取与所述第一真实样本用户相同、行为标签不同的第三真实样本,其与所述第一真实样本形成第二样本对;利用所述推荐模型分别处理第一样本对和第二样本对,得到两对行为预测结果;以增大所述两对行为预测结果各自的对内差距为目标,训练所述推荐模型。
在一个实施例中,所述方法涉及对推荐模型的多轮次迭代训练,在任一轮次迭代训练中包括:根据从所述真实样本集中随机选取的多个真实样本,构造对应的多个虚构样本;所述多个真实样本所涉及不同业务对象的对象个数小于预定个数阈值;基于所述多个虚构样本对所述推荐模型进行当前轮次的迭代训练。
在一个实施例中,基于所述第一真实样本和虚构样本,训练所述推荐模型,包括:利用所述推荐模型进行嵌入处理,得到所述第一用户的第一用户嵌入向量、第一业务对象的第一对象嵌入向量和第二用户的第二用户嵌入向量;基于所述第一用户嵌入向量和第一对象嵌入向量的点积,得到第一行为预测结果;基于所述第二用户嵌入向量和所述虚构业务对象的虚构对象嵌入向量的点积,得到第二行为预测结果;基于所述第一行为预测结果和第一行为标签,以及第二行为预测结果和虚构行为标签,训练所述推荐模型。
在一个具体的实施例中,所述真实样本集涉及N个业务对象,所述推荐模型实现为图神经网络模型;其中,在基于所述第一真实样本和虚构样本,训练所述推荐模型之前,所述方法还包括:获取基于所述真实样本集构建的用户-对象二部图,所述用户-对象二部图中包括对应所述M个用户的M个用户节点,对应所述N个业务对象的N个对象节点,以及用户节点对对象节点做出预定行为而建立的连接边。其中,利用所述推荐模型进行嵌入处理,包括:利用所述图神经网络对所述用户-对象二部图进行图嵌入处理。
根据第二方面,提供了一种推荐模型的训练装置,包括:真实样本获取单元,配置为获取真实样本集,其中任意的第一真实样本包括第一用户的用户特征和第一业务对象的对象特征,以及指示所述第一用户是否对第一业务对象做出预定行为的第一行为标签;所述真实样本集涉及的M个用户被划分为与预设敏感属性的两个属性值对应的两组用户。虚构样本构造单元,配置为基于所述第一真实样本构造对应的虚构样本,所述虚构样本涉及的第二用户与所述第一用户分属于所述两组用户,所述虚构样本涉及的虚构业务对象与所述第一业务对象的相似度满足预设阈值,所述虚构样本的虚构行为标签具有与所述第一行为标签相同的标签值。模型训练单元,配置为基于所述第一真实样本和虚构样本,训练所述推荐模型。
根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
根据第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,该处理器执行所述可执行代码时,实现第一方面的方法。
采用本说明书实施例提供的方法和装置,通过构造矫正样本补入原始数据集,实现对原始数据集中数据不公平性的去除,再使用得到的公平数据集训练推荐模型,实现从数据层面彻底解决推荐领域的不公平性问题,使得推荐模型的预测结果具有公平性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出根据一个实施例的推荐模型的训练方案实施架构图;
图2示出根据一个实施例的推荐模型的训练方法流程示意图;
图3示出根据一个实施例的推荐模型的训练装置结构示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
承前所述,推荐系统在我们日常生活中承担了重要角色,随之推荐公平性问题亟待解决。推荐的不公平性主要来源于两个方面,一是训练数据中不同用户群体(如男性群体和女性群体)的交互数据存在不公平性,二是训练阶段推荐模型在学习用户偏好时放大了训练数据的不公平性。目前,针对推荐不公平性提出的措施主要是从模型角度进行分析,而忽略了模型的不公平性来源于历史交互数据中本身包含的数据不公平性。
基于以上分析,发明人提出一种方案,通过生成矫正数据对原始交互数据进行补充,从而从数据的角度出发彻底去除推荐中的不公平性,同时兼顾推荐的准确度。
图1示出根据一个实施例的推荐模型的训练方案实施架构图,如图1所示,先获取基于历史上的真实行为数据而构建的真实样本集,然后,基于真实样本集构造包含虚构行为数据的虚构样本集,之后,根据真实样本集和虚构样本集训练推荐模型。如此,利用虚构样本集对真实样本集进行矫正,进而利用矫正后的交互数据训练推荐模型,从根源上去除数据的不公平性,使得推荐模型学习到的用户偏好是公平的。下面结合更多实施例,对上述方案的实施步骤进行描述。图2示出根据一个实施例的推荐模型的训练方法流程示意图,所述方法的执行主体可以为任何具有计算、处理能力的装置、平台、服务器或设备集群。如图2所示,所述方法包括以下步骤:
步骤S210,获取真实样本集,其中任意的第一真实样本包括第一用户的用户特征和第一业务对象的对象特征,以及指示所述第一用户是否对第一业务对象做出预定行为的第一行为标签;所述真实样本集涉及的M个用户被划分为与预设敏感属性的两个属性值对应的两组用户;步骤S220,基于所述第一真实样本构造对应的虚构样本,所述虚构样本涉及的第二用户与所述第一用户分属于所述两组用户,所述虚构样本涉及的虚构业务对象与所述第一业务对象的相似度满足预设阈值,所述虚构样本的虚构行为标签具有与所述第一行为标签相同的标签值;步骤S230,基于所述第一真实样本和虚构样本,训练所述推荐模型。
对以上步骤的展开介绍如下:
首先,在步骤S210,获取真实样本集。可以理解,真实样本是基于历史上真实发生的交互数据而构建,交互数据涉及的交互两方为用户和业务对象(或简称对象)。为简洁和区分描述,将真实样本集中任意的一个真实样本称为第一真实样本,并将第一真实样本涉及的用户和业务对象分别称为第一用户和第一业务对象。
第一真实样本中的样本特征包括第一用户的用户特征和第一业务对象的对象特征,样本标签为第一用户与第一业务对象之间的第一交互标签(或称第一行为标签),其指示第一用户是否对第一业务对象做出预定行为。
在一个实施例中,用户特征可以包括用户静态特征和用户行为特征。在一个具体的实施例中,用户静态特征可以包括年龄、性别、职业、常驻地和兴趣爱好等。在一个具体的实施例中,用户行为特征可以包括第一用户曾做出预定行为的若干业务对象,以及对其中各个业务对象做出预定行为的时间、地址(如地理位置和网络地址)、终端设备信息等。
在一个实施例中,预定行为与业务对象相适应。在一个具体的实施例中,业务对象是广告或内容资讯等,预定行为是点击行为;示例性地,广告特征可以包括广告形式(如图片、视频或文本)、代言人、广告内容、投放渠道等,内容资讯的特征可以包括内容类别(如科技、人文、娱乐等)、推送平台等。在另一个具体的实施例中,业务对象是商品,预定行为是购买;示例性地,商品特征可以包括产地、成本、销量、类别、售卖平台等。在又一个具体的实施例中,业务对象是用户权益,预定行为是核销;示例性地,用户权益是优惠券,其特征可以是使用条件、优惠力度等,又例如,用户权益是红包,其特征可以是核销平台、红包金额等。
在另一个实施例中,用户特征和对象特征中可以仅包括标识信息,也即,用户特征为用户标识,对象特征为对象标识。
在一个实施例中,上述第一行为标签指示做出预定行为或未做出预定行为。例如,若第一行为标签的标签值为1,则其指示做出预定行为,若第一行为标签的标签值为0,则其指示未做出预定行为,可以理解,反之亦可。
以上对第一真实样本的样本组成进行介绍。
另一方面,对机器学习公平性的研究基于用户群体进行,由此,可以对上述真实样本涉及的多个(记作M个)用户进行群体划分。具体,划分依据为造成不公平性问题的用户敏感属性,此敏感属性可以根据实际推荐场景进行预先设定,例如,设定为用户性别等;进一步,根据敏感属性的两个属性值,如男性和女性,将M个用户划分为两组用户(或称两个用户子集、两个用户群),可以记作G0和G1,可以理解,组内用户具有相同的敏感属性值。
以上,对获取的真实样本集,以及对其涉及的M个用户进行划分而得到用户组G0和G1进行介绍。
然后,在步骤S220,基于第一真实样本构造对应的虚构样本。
需说明,用户对业务对象的行为存在两种类型,即,做出预定行为(或称积极行为)和没有做出预定行为(或称消极行为),而推荐研究中关注的是用户的隐式反馈。基于用户群体的公平性思想主要是认为不同用户群体具有相似的行为模式。由此,为了将原始的不公平数据(即上述真实样本集)矫正为公平数据,针对每个用户群体,为之生成相应的虚构样本(或称矫正样本),进而利用矫正样本对原始数据进行矫正。
基于上述两类用户行为和公平性思想,发明人提出两个假设来指导矫正样本的生成。其中,第1个假设关注两组用户(G0和G1)的积极行为。
假设1.对于用户组G0中任意的一个用户u0,将其做出预定行为的对象集合中的任意一个对象记作i0。为满足数据公平性,在用户组G1中会存在一个用户u1,对近似对象做出预定行为。类似地,对于用户组G1中任意的一个用户u1,如果其对业务对象做出预定行为,则在用户组G0中存在一个用户u0,对近似对象做出预定行为。这个假设可以表示为下式:
在上式(1)和(2)中,符号表示其两侧的两个对象互相近似;r表示真实的交互标签,表示虚构的交互标签,二者的下角标均表示交互方,且标签值为1表示做出预定行为,为0表示没有做出预定行为。
需注意到,对于积极行为最常见的情况是:某个用户组中的用户对某个对象做出预定行为,而在另一个用户组中没有用户对此对象做出预定行为。针对此种情况,通过利用假设1生成矫正样本来改变用户行为模式,使得在另一个用户组中的用户对类似对象做出预定行为。因此,矫正数据中的用户行为相较原始不公平数据呈现出相反的行为模式。可以理解,公式(1)和(2)是互相独立的。
以上介绍关于积极行为的假设1。第2个假设关注两组用户(G0和G1)的消极行为。
假设2.如果用户u0∈G0没有对业务对像做出预定行为,则存在用户u1∈G1没有对与对象j0近似的对象做出预定行为。类似地,如果用户u1∈G1没有对业务对象 做出预定行为,则存在用户u0∈G0没有对与对象j1近似的对象做出预定行为。此假设可以表示为下式:
在上式(3)和(4)中,和是虚构的交互标签,用以构造矫正样本。与假设1类似地,假设2关注消极行为,基于其构造的矫正样本相较于原始不公平数据中的消极行为呈现一个相反的行为模式。可以理解,公式(3)和(4)是互相独立的。
基于以上,在本步骤中,通过采用假设1和假设2生成矫正数据,用于矫正原始数据,得到公平数据集,从而保证不同用户群体中的用户具有相似的行为模式。通过分析假设1和假设2可知,难点在于构造与真实样本中的业务对象相近似的近似对象(或称虚构业务对象)。以下介绍构造近似对象的两种典型实施方式。
在实施方式A中,定义一个相似度方程和相似度阈值,然后为真实样本集涉及的N个业务对象中的每个业务对象找到一个满足相似度阈值,即两者之间的相似度大于相似度阈值,的近似业务对象。对于此种实施方式,需要真实样本中的对象特征较为丰富,从而使得确定出的近似对象具有足够高的可用性。
具体地,对于第一真实样本,根据其中第一业务对象的对象特征,对应生成虚构的特征值,并根据相似度方程计算对象特征值和虚构特征值之间的相似度,在满足相似度阈值的情况下,将此虚构的特征值作为虚构业务对象的特征值,否则,对虚构的特征值进行调整,直到满足相似度阈值。
上述实施方式适用于采集的历史数据中包含丰富的对象特征的情况。然而,在实际应用中,更多的是仅能获知业务对象的对象标识,也即,真实样本的对象特征中仅包括对象标识。在此种情况下,仅根据离散的对象标识难以直接计算对象间的相似度,也就难以采用上述实施方式A构造近似对象,这促使我们从连续空间中寻找近似对象。
具体地,注意到推荐模型可以把任意的用户u和任意的对象v映射到连续的嵌入空间,因此,可以基于连续的嵌入空间定义和寻找近似对象。由此,提出另一种实施方式B。为便于理解,先对利用推荐模型对用户u和对象v进行嵌入处理的过程进行介绍。
具体,利用推荐模型对用户特征fu和对象特征fv进行嵌入处理,可以得到用户嵌入向量eu和对象嵌入向量ev。需说明,对用户特征和对象特征的介绍可以参见前述实施例;另外,针对用户特征和对象特征均为标识信息的情况,即fu=IDu,fv=IDv,可以先分别对用户标识IDu和对象标识IDv进行独热编码,再将得到的两个编码向量作为推荐模型的输入。
上述嵌入处理的实现方式有许多。在一个实施例中,可以先基于上述真实样本集构建用户-对象二部图,再利用实现为图神经网络(Graph Neural Network,简称GNN)的推荐模型对用户-对象二部图进行图嵌入(Graph Embedding)处理,从而得到用户u和对象v的嵌入向量。需要理解,用户-对象二部图中包括对应上述M个用户的M个用户节点、对应上述N个业务对象的N个对象节点,以及用户节点对对象节点做出预定行为而建立的连接边;另外,图嵌入处理旨在将图节点表示成一个低维向量空间,同时保留关系网络的拓扑结构和节点信息,图嵌入处理的实施细节可以参见已有的相关技术,不作赘述。
在另一个实施例中,推荐模型实现为矩阵分解模型(matrix iactorizationmodel),由此,可以对基于真实样本集构建的评分矩阵进行因子分解,从而得到用户u和对象v的嵌入向量。需要理解,评分矩阵的行和列分别对应上述M个用户和N个业务对象,评分矩阵为M*N维,其中第u行第v列元素为用户u对用户v的评分值。
由上,可以实现对用户u和对象v的嵌入处理,得到用户嵌入向量eu和对象嵌入向量ev。
再回到前面提出基于连续的嵌入空间定义和寻找近似对象。一者,近似对象需要符合上述N个业务对象的真实数据分布,否则会严重影响推荐性能。二者,受到对抗样本(adversarial examples)和投毒攻击(poisoning attacks)的启发,提出施加非随机扰动(non-random perturbation)来生成位于连续嵌入空间中的近似对象。
具体地,为上述N个业务对象设计可学习的N个噪声向量,可以理解,其中“可学习”是指各个噪声向量中的向量元素均为可优化参数,可以通过训练进行优化调整,其初始赋值可以是随机的。基于此,在对象v的对象嵌入向量ev上添加噪声向量δv,可以得到近似对象的嵌入向量对此可记作下式:
在一个实施例中,δv的范数小于或等于预设阈值∈。需要理解,其中范数的阶数可以由工作人员设定,示例性地,可以为二阶范数,相应,||δv||≤∈。阈值∈可以被人工设定为一个较小值,因δv是一个很小的几乎不可见的噪声,自然地,与ev近似,且位于原始的对象嵌入向量分布中。另外,噪声向量δv虽然量级很小,但能够满足实际需要。
由上通过采用实施方式B,可以生成与真实样本中的业务对象相近似的虚构业务对象,具体,得到与对象v的对象嵌入向量ev对应的虚构对象嵌入向量
由上,通过实施方式A或实施方式B等,可以构造出与第一真实样本中的第一业务对象对应的虚构业务对象。进一步,根据第一真实样本中的第一用户,从上述M个用户中选取与第一用户不在同一组的一个用户,作为第二用户,示例性地,如果第一用户在G0组,则从G1组随机选取一个用户作为第二用户,如果第一用户在G1组,则从G0组随机选取一个用户作为第二用户;以及,确定与第一真实样本中的第一行为标签具有相同标签值的虚构行为标签,从而,基于虚构业务对象、第二用户和虚构行为标签,形成与第一真实样本对应的虚构样本。可以理解,虚构样本中可以包括虚构业务对象的虚构特征值(例如,虚构业务对象是采用上述实施方式A构造时)或虚构对象嵌入向量(例如,虚构业务对象是采用上述实施方式B构造时),另外,虚构样本中可以包括第二用户的用户特征或只包括用户标识。
由上,可以得到与第一真实样本对应的虚构样本,此虚构样本涉及的第二用户与第一用户分属于两组用户(Go和G1),此虚构样本涉及的虚构业务对象与第一业务对象的相似度满足预设相似度阈值,此虚构样本的虚构行为标签具有与第一行为标签相同的标签值。
之后,在步骤S230,基于第一真实样本和虚构样本,训练推荐模型。具体,先基于第一真实样本和虚构样本确定训练损失,再利用训练损失更新推荐模型的模型参数。
对于上述训练损失的确定,可以采用单点法(pointwise)或配对法(pairwise)等,简单来说,单点法中计算训练损失以单个样本为最小计算单元,配对法中以两个样本构成的样本对为最小计算单元。
在一种实施方式中,采用单点法计算训练损失。具体,先利用推荐模型处理第一真实样本和虚构样本,得到对应的第一行为预测结果和虚构行为预测结果。为便于描述,以下将第一真实样本中的第一用户和第一业务对象示意性记作u0和i0,相应地,将虚构样本中的第二用户和虚构业务对象示意性记作u1和
需说明,推荐模型处理真实样本而得到真实行为预测结果的过程包括:先对真实样本中的用户和业务对象进行嵌入处理,得到两个嵌入向量,再计算此两个嵌入向量之间的点积,作为对应的真实行为预测结果。另外,对于嵌入处理的方式,可以参见前述实施例,可以理解,如果在确定上述虚构对象嵌入向量时,已进行嵌入处理得到嵌入向量,在本步骤中可以直接获取进行复用。
基于此,在本步骤中,先利用推荐模型对第一用户u0和第一业务对象i0进行嵌入处理,得到第一用户嵌入向量和第一对象嵌入向量再计算这两个嵌入向量的点积,作为第一行为预测结果:
如此,可以得到第一行为预测结果
另外,还利用推荐模型处理虚构样本得到虚构行为预测结果。可以理解,若虚构样本中包括的是虚构对象的对象特征,此时,利用推荐模型处理虚构样本的方式与处理真实样本的方式相同。由此可以得到虚构行为预测结果:
若虚构样本中包括的是虚构对象的嵌入向量,此时,可以免去利用推荐模型确定虚构对象的对象嵌入向量,其他处理过程类似。由此可以得到虚构行为预测结果:
对式(8)中的计算可以参见公式(5)。
由上,可以得到第一行为预测结果和虚构行为预测结果再结合第一行为标签和虚构行为标签计算训练损失。可以理解,此训练损失可以采用交叉熵或均方误差损失函数(MeanSquaredError,简称MSE)等进行计算。示例性地,训练损失的计算式为:
在上式(9)中,Dfair表示包括原始数据和矫正数据的公平数据集。
如此,可以利用单点法计算出训练损失L。
在另一种实施方式中,为提升训练效果,采用配对法确定训练损失。如前所述,配对法中以两个样本构成的样本对为最小计算单元,更具体地,构成样本对的两个样本涉及同一用户和两个具有不同标签值的行为标签,也就是,同一用户对两个业务对象中的一个做出预定行为,对另一个没有做出预定行为。此时,希望针对两个样本预测出的行为结果之间差距越大越好。
基于此,在本步骤中,可以根据第一真实样本和虚构样本分别进行样本对的构建,得到两个样本对,再计算配对损失。
具体地,先从真实样本集中获取与虚构样本用户相同、行为标签不同的第二真实样本,其与虚构样本形成第一样本对,记作以及,从真实样本集中获取与第一真实样本用户相同、行为标签不同的第三真实样本,其与第一真实样本形成第二样本对,记作(u0,i0,j0)。再利用推荐模型分别处理第一样本对和第二样本对,得到两对行为预测结果,记作和需要说明,对于行为预测结果的确定可以参见前述实施例中的相关描述,在此不作赘述。
之后,以增大两对行为预测结果各自的对内差距为目标,训练所述推荐模型。需要理解,因用户对不同对象的偏好程度具有方向性,所以此对内差距同样具有方向性,这与标签值的设定有关,例如,可以将标签大值对应的行为预测结果减去标签小值的行为预测结果,作为对内差距,例如,对于行为预测结果对若标签值则对内差距可以计算为:
示例性地,可以利用下式计算训练损失:
上式(10)中,σ()表示sigmoid函数。
如此,可以采用配对法计算训练损失,用于训练推荐模型。
由上,可以通过单点法或配对法等计算训练损失,再采用反向传播法更新推荐模型中的参数,从而实现对推荐模型的训练。
可以理解,需要对推荐模型进行多轮次迭代训练,直到模型参数收敛,才能够得到最终训练好的推荐模型。在每轮次迭代训练中,可以从真实样本集中选取多个真实样本,从而构造对应的多个虚构样本,用于对推荐模型进行当前轮次的迭代训练。
根据另一方面的实施例,为了增强数据公平性,在批量生成虚构样本时优选同时用到表示上述假设1和假设2的4个公式,即(1)至(4),生成4类虚构样本。此时,可以训练损失的计算式写作:
进一步,考虑到如果利用全量的矫正样本参与训练,将极大地改变原始数据的分布而降低推荐准确率,因此,为保证推荐的准确性,提出在每轮次迭代训练中,使用与真实样本数量相当的虚构样本。具体,设计一个随机的蒙层操作对矫正样本进行部分选取。此蒙层操作可以被记作:
在上式(12)中,Maxmask表示一轮次迭代训练中使用的虚构样本所涉及对象个数的上限。此时,示例性地,可以将训练损失的计算式写作:
如此,因为只有部分矫正样本被用于训练,矫正样本对推荐准确率的影响得以被控制。
根据又一方面的实施例,若构造虚构样本时采用上述实施方式B生成虚构嵌入对象嵌入向量此时,在一个实施例中,在步骤S230中,除了训练推荐模型以外,还可以对噪声向量δv进行训练。
在另一个实施例中,在步骤S230可以不训练噪声向量δv,而是采用交替训练的方式,在其他训练轮次中固定推荐模型的参数,单独训练噪声向量δv。同样地,优选同时利用上述4类虚构样本训练噪声向量δ,此时,可以将针对噪声向量的损失计算式记作:
在上式(14)中,Danti表示虚构样本集。
如此,通过多轮次迭代训练可以得到训练好的推荐模型和N个噪声向量,可以理解,N个噪声向量主要用于辅助训练推荐模型,在训练后可以其进行丢弃或留作再训练时使用,在实际的推荐预测阶段仅需要使用训练好的推荐模型。
综上,采用本说明书实施例披露的推荐模型训练方法,通过构造矫正样本补入原始数据集,实现对原始数据集中数据不公平性的去除,再使用得到的公平数据集训练推荐模型,实现从数据层面彻底解决推荐领域的不公平性问题,使得推荐模型的预测结果具有公平性。
与上述训练方法相对应地,本说明书实施例还披露一种训练装置。图3示出根据一个实施例的推荐模型的训练装置结构示意图,如图3所示,所述装置300包括:
真实样本获取单元310,配置为获取真实样本集,其中任意的第一真实样本包括第一用户的用户特征和第一业务对象的对象特征,以及指示所述第一用户是否对第一业务对象做出预定行为的第一行为标签;所述真实样本集涉及的M个用户被划分为与预设敏感属性的两个属性值对应的两组用户。虚构样本构造单元320,配置为基于所述第一真实样本构造对应的虚构样本,所述虚构样本涉及的第二用户与所述第一用户分属于所述两组用户,所述虚构样本涉及的虚构业务对象与所述第一业务对象的相似度满足预设阈值,所述虚构样本的虚构行为标签具有与所述第一行为标签相同的标签值。模型训练单元330,配置为基于所述第一真实样本和虚构样本,训练所述推荐模型。
在一个实施例中,所述预设敏感属性为性别,所述两个属性值为男性和女性。
在一个实施例中,所述业务对象是广告,所述预定行为是点击行为;或,所述业务对象是商品,所述预定行为是购买。
在一个实施例中,虚构样本构造单元320具体配置为:从所述两组用户中不包含所述第一用户的用户组中选取一个用户,作为所述第二用户;确定与所述第一业务对象的相似度满足所述预设阈值的虚构业务对象;基于所述第一行为标签,确定与之具有相同标签值的虚构行为标签;基于所述第二用户、虚构业务对象和虚构行为标签,确定所述虚构样本。
在一个实施例中,所述真实样本集涉及N个业务对象,所述N个业务对象对应可学习的N个噪声向量;所述虚构样本构造单元320具体配置为:在利用所述推荐模型处理所述对象特征而得到的第一对象嵌入向量上,叠加对应所述第一业务对象的第一噪声向量,得到对应所述虚构业务对象的虚构对象嵌入向量;基于所述虚构对象嵌入向量,构造所述虚构样本。
在一个具体的实施例中,所述第一噪声向量的范数小于预设阈值。
在一个具体的实施例中,所述对象特征为对象标识。
在一个具体的实施例中,所述装置还包括:噪声训练单元340,配置为基于所述虚构样本训练所述第一噪声向量。
在一个更具体的实施例中,噪声训练单元340具体包括:样本获取子单元,配置为根据所述虚构样本,从所述真实样本集中获取第二真实样本,所述第二真实样本涉及的用户为所述第二用户,且其第二行为标签的标签值不同于所述虚构行为标签的标签值;行为预测子单元,配置为利用所述推荐模型分别处理所述虚构样本和第二真实样本,得到两个行为预测结果;噪声训练子单元,配置为以增大所述两个行为预测结果之间的差距为目标,训练所述第一噪声向量。
进一步,行为预测子单元具体配置为:利用所述推荐模型处理所述第二用户的用户特征,得到第二用户嵌入向量;基于所述第二用户嵌入向量和虚构对象嵌入向量的点积,得到针对所述虚构样本的行为预测结果;利用所述推荐模型处理所述第二真实样本中第二业务对象的对象特征,得到第二对象嵌入向量;基于所述第二用户嵌入向量和第二对象嵌入向量的点积,得到针对所述第二真实样本的行为预测结果。
在一个实施例中,模型训练单元330具体配置为:从所述真实样本集中获取与所述虚构样本用户相同、行为标签不同的第二真实样本,其与所述虚构样本形成第一样本对;从所述真实样本集中获取与所述第一真实样本用户相同、行为标签不同的第三真实样本,其与所述第一真实样本形成第二样本对;利用所述推荐模型分别处理第一样本对和第二样本对,得到两对行为预测结果;以增大所述两对行为预测结果各自的对内差距为目标,训练所述推荐模型。
在一个实施例中,对所述推荐模型训练包括多轮次,所述装置300还包括样本选取单元350,配置为在任一轮次迭代训练中,根据从所述真实样本集中随机选取的多个真实样本,构造对应的多个虚构样本,用以对所述推荐模型进行当前轮次的迭代训练;所述多个真实样本所涉及不同业务对象的对象个数小于预定个数阈值。
在一个实施例中,模型训练单元330具体配置为:利用所述推荐模型进行嵌入处理,得到所述第一用户的第一用户嵌入向量、第一业务对象的第一对象嵌入向量和第二用户的第二用户嵌入向量;基于所述第一用户嵌入向量和第一对象嵌入向量的点积,得到第一行为预测结果;基于所述第二用户嵌入向量和所述虚构业务对象的虚构对象嵌入向量的点积,得到第二行为预测结果;基于所述第一行为预测结果和第一行为标签,以及第二行为预测结果和虚构行为标签,训练所述推荐模型。
在一个具体的实施例中,所述真实样本集涉及N个业务对象,所述推荐模型实现为图神经网络模型;所述装置300还包括:关系网络图获取单元,配置为获取基于所述真实样本集构建的用户-对象二部图,所述用户-对象二部图中包括对应所述M个用户的M个用户节点,对应所述N个业务对象的N个对象节点,以及用户节点对对象节点做出预定行为而建立的连接边;所述模型训练单元330利用所述推荐模型进行嵌入处理,具体包括:利用所述图神经网络对所述用户-对象二部图进行图嵌入处理。
综上,采用本说明书实施例披露的推荐模型训练装置,通过构造矫正样本补入原始数据集,实现对原始数据集中数据不公平性的去除,再使用得到的公平数据集训练推荐模型,实现从数据层面彻底解决推荐领域的不公平性问题,使得推荐模型的预测结果具有公平性。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所描述的方法。本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (17)
1.一种推荐模型的训练方法,包括:
获取真实样本集,其中任意的第一真实样本包括第一用户的用户特征和第一业务对象的对象特征,以及指示所述第一用户是否对第一业务对象做出预定行为的第一行为标签;所述真实样本集涉及的M个用户被划分为与预设敏感属性的两个属性值对应的两组用户;
基于所述第一真实样本构造对应的虚构样本,所述虚构样本涉及的第二用户与所述第一用户分属于所述两组用户,所述虚构样本涉及的虚构业务对象与所述第一业务对象的相似度满足预设阈值,所述虚构样本的虚构行为标签具有与所述第一行为标签相同的标签值;
基于所述第一真实样本和虚构样本,训练所述推荐模型。
2.根据权利要求1所述的方法,其中,所述预设敏感属性为性别,所述两个属性值为男性和女性。
3.根据权利要求1所述的方法,其中,所述业务对象是广告,所述预定行为是点击行为;或,所述业务对象是商品,所述预定行为是购买。
4.根据权利要求1所述的方法,其中,基于所述第一真实样本构造对应的虚构样本,包括:
从所述两组用户中不包含所述第一用户的用户组中选取一个用户,作为所述第二用户;
确定与所述第一业务对象的相似度满足所述预设阈值的虚构业务对象;
基于所述第一行为标签,确定与之具有相同标签值的虚构行为标签;
基于所述第二用户、虚构业务对象和虚构行为标签,确定所述虚构样本。
5.根据权利要求1所述的方法,其中,所述真实样本集涉及N个业务对象,所述N个业务对象对应可学习的N个噪声向量;其中,基于所述第一真实样本构造对应的虚构样本,包括:
在利用所述推荐模型处理所述对象特征而得到的第一对象嵌入向量上,叠加对应所述第一业务对象的第一噪声向量,得到对应所述虚构业务对象的虚构对象嵌入向量;
基于所述虚构对象嵌入向量,构造所述虚构样本。
6.根据权利要求5所述的方法,其中,所述第一噪声向量的范数小于预设阈值。
7.根据权利要求5所述的方法,其中,所述对象特征为对象标识。
8.根据权利要求5所述的方法,还包括:
基于所述虚构样本,训练所述第一噪声向量。
9.根据权利要求8所述的方法,其中,基于所述虚构样本,训练所述第一噪声向量,包括:
根据所述虚构样本,从所述真实样本集中获取第二真实样本,所述第二真实样本涉及的用户为所述第二用户,且其第二行为标签的标签值不同于所述虚构行为标签的标签值;
利用所述推荐模型分别处理所述虚构样本和第二真实样本,得到两个行为预测结果;
以增大所述两个行为预测结果之间的差距为目标,训练所述第一噪声向量。
10.根据权利要求9所述的方法,其中,利用所述推荐模型分别处理所述虚构样本和第二真实样本,得到两个行为预测结果,包括:
利用所述推荐模型处理所述第二用户的用户特征,得到第二用户嵌入向量;
基于所述第二用户嵌入向量和虚构对象嵌入向量的点积,得到针对所述虚构样本的行为预测结果;
利用所述推荐模型处理所述第二真实样本中第二业务对象的对象特征,得到第二对象嵌入向量;
基于所述第二用户嵌入向量和第二对象嵌入向量的点积,得到针对所述第二真实样本的行为预测结果。
11.根据权利要求1所述的方法,其中,基于所述第一真实样本和虚构样本,训练所述推荐模型,包括:
从所述真实样本集中获取与所述虚构样本用户相同、行为标签不同的第二真实样本,其与所述虚构样本形成第一样本对;
从所述真实样本集中获取与所述第一真实样本用户相同、行为标签不同的第三真实样本,其与所述第一真实样本形成第二样本对;
利用所述推荐模型分别处理第一样本对和第二样本对,得到两对行为预测结果;
以增大所述两对行为预测结果各自的对内差距为目标,训练所述推荐模型。
12.根据权利要求1所述的方法,其中,所述方法涉及对推荐模型的多轮次迭代训练,在任一轮次迭代训练中包括:
根据从所述真实样本集中随机选取的多个真实样本,构造对应的多个虚构样本;所述多个真实样本所涉及不同业务对象的对象个数小于预定个数阈值;
基于所述多个虚构样本对所述推荐模型进行当前轮次的迭代训练。
13.根据权利要求1或5所述的方法,其中,基于所述第一真实样本和虚构样本,训练所述推荐模型,包括:
利用所述推荐模型进行嵌入处理,得到所述第一用户的第一用户嵌入向量、第一业务对象的第一对象嵌入向量和第二用户的第二用户嵌入向量;
基于所述第一用户嵌入向量和第一对象嵌入向量的点积,得到第一行为预测结果;
基于所述第二用户嵌入向量和所述虚构业务对象的虚构对象嵌入向量的点积,得到第二行为预测结果;
基于所述第一行为预测结果和第一行为标签,以及第二行为预测结果和虚构行为标签,训练所述推荐模型。
14.根据权利要求13所述的方法,其中,所述真实样本集涉及N个业务对象,所述推荐模型实现为图神经网络模型;其中,在基于所述第一真实样本和虚构样本,训练所述推荐模型之前,所述方法还包括:
获取基于所述真实样本集构建的用户-对象二部图,所述用户-对象二部图中包括对应所述M个用户的M个用户节点,对应所述N个业务对象的N个对象节点,以及用户节点对对象节点做出预定行为而建立的连接边;
其中,利用所述推荐模型进行嵌入处理,包括:
利用所述图神经网络对所述用户-对象二部图进行图嵌入处理。
15.一种推荐模型的训练装置,包括:
真实样本获取单元,配置为获取真实样本集,其中任意的第一真实样本包括第一用户的用户特征和第一业务对象的对象特征,以及指示所述第一用户是否对第一业务对象做出预定行为的第一行为标签;所述真实样本集涉及的M个用户被划分为与预设敏感属性的两个属性值对应的两组用户;
虚构样本构造单元,配置为基于所述第一真实样本构造对应的虚构样本,所述虚构样本涉及的第二用户与所述第一用户分属于所述两组用户,所述虚构样本涉及的虚构业务对象与所述第一业务对象的相似度满足预设阈值,所述虚构样本的虚构行为标签具有与所述第一行为标签相同的标签值;
模型训练单元,配置为基于所述第一真实样本和虚构样本,训练所述推荐模型。
16.一种计算机可读存储介质,其上存储有计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-14中任一项所述的方法。
17.一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-14中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211249909.1A CN116028708A (zh) | 2022-10-12 | 2022-10-12 | 推荐模型的训练方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211249909.1A CN116028708A (zh) | 2022-10-12 | 2022-10-12 | 推荐模型的训练方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116028708A true CN116028708A (zh) | 2023-04-28 |
Family
ID=86072902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211249909.1A Pending CN116028708A (zh) | 2022-10-12 | 2022-10-12 | 推荐模型的训练方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116028708A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116485505A (zh) * | 2023-06-25 | 2023-07-25 | 杭州金智塔科技有限公司 | 基于用户表现公平性训练推荐模型的方法及装置 |
-
2022
- 2022-10-12 CN CN202211249909.1A patent/CN116028708A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116485505A (zh) * | 2023-06-25 | 2023-07-25 | 杭州金智塔科技有限公司 | 基于用户表现公平性训练推荐模型的方法及装置 |
CN116485505B (zh) * | 2023-06-25 | 2023-09-19 | 杭州金智塔科技有限公司 | 基于用户表现公平性训练推荐模型的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11531867B2 (en) | User behavior prediction method and apparatus, and behavior prediction model training method and apparatus | |
CN111553754B (zh) | 行为预测系统的更新方法及装置 | |
WO2017186106A1 (zh) | 获取用户画像的方法及装置 | |
US10949000B2 (en) | Sticker recommendation method and apparatus | |
CN109961080B (zh) | 终端识别方法及装置 | |
CN111242748B (zh) | 用于向用户推荐项目的方法、装置和存储介质 | |
CN109903103B (zh) | 一种推荐物品的方法和装置 | |
CN107688605B (zh) | 跨平台数据匹配方法、装置、计算机设备和存储介质 | |
CN111008335B (zh) | 一种信息处理方法、装置、设备及存储介质 | |
CN112364203B (zh) | 电视视频推荐方法、装置、服务器和存储介质 | |
CN112288042A (zh) | 行为预测系统的更新方法及装置、存储介质和计算设备 | |
CN112015986B (zh) | 数据推送方法、装置、电子设备及计算机可读存储介质 | |
CN116028708A (zh) | 推荐模型的训练方法及装置 | |
CN107203602A (zh) | 基于聊天记忆的用户模型信任值更新方法及装置 | |
CN117909586A (zh) | 内容推荐方法、装置、电子设备和存储介质 | |
CN108614845B (zh) | 基于媒体文件的行为预估方法和装置 | |
CN115730125A (zh) | 对象识别方法、装置、计算机设备和存储介质 | |
CN114866853B (zh) | 直播互动方法、装置、设备及存储介质 | |
CN115730217A (zh) | 模型的训练方法、物料的召回方法及装置 | |
CN110197191A (zh) | 电子游戏推荐方法 | |
CN115169583A (zh) | 用户行为预测系统的训练方法及装置 | |
CN114418609A (zh) | 成交概率预估方法、存储介质及程序产品 | |
CN113449198B (zh) | 特征提取模型的训练方法、装置、设备及存储介质 | |
CN116821496A (zh) | 基于图神经网络的推荐方法和装置 | |
CN117061602A (zh) | 一种网络资源的推送方法、装置及电子设备 |
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 |