[0001]
本发明涉及用户画像技术领域,尤其涉及一种基于分层个性化联邦学习的用户画像实现方法及系统。
背景技术:[0002]
用户画像是一个重要的基础性工作,其目的在于帮助研究人员利用个人数据获取有用的潜在特征。用户画像已经应用于多个典型的任务,为具有各种需求的用户提供适当的用户模型,例如用户的能力或偏好。例如,在教育系统中,用户画像在认知诊断任务中辅助建模学生能力,而在电子商务的推荐系统中,用户画像负责建模客户的偏好。
[0003]
一般情况下,用户画像是一个使用集中的数据进行集中培训的过程,这会导致隐私泄露。针对这一困境,联邦用户画像因其具有安全的分布式用户画像的潜力而受到广泛关注。它旨在基于隔离的私有数据建立和聚合用户模型,以保持数据的隐私性。
[0004]
然而,目前的联邦学习框架是为一致的客户端设计的,在实际的用户画像场景中,不可避免的会遇到不一致的客户端。因此,联邦用户画像面临着客户端不一致的困境。
[0005]
1)统计异质性。与传统场景中假设的数据为独立同分布的不同,用于用户画像的个人记录通常是非独立同分布的,这导致在客户端之间存在统计差异和个性化。基于一致的全局模型训练客户端的本地模型,不可避免地消除了客户端的个性化,降低了描述用户特征的能力。因此,需要对用户模型的个性化信息进行整合,以适应统计异质性。
[0006]
2)隐私异质性。根据相关研究,不同的数据信息具有不同程度的隐私性。一方面,在联邦学习的过程中,轻率地共享表示会带来隐私暴露的风险。另一方面,为了保护隐私而丢弃敏感信息会导致信息的丢失。因此,应该灵活地对隐私异构的信息应用专门的联邦学习设置,以便在用户模型之间平衡需要保护或共享的信息。
[0007]
3)模型异质性。主流的联邦学习方法期望建立一个通用的全局模型来建模所有的客户端。然而,在实际的用户画像应用程序中,由于私有数据的属性不同,不同客户端之间的用户模型结构往往不同。因此,在联邦学习中处理异构用户模型的策略也需要仔细设计。
[0008]
联邦学习的主要思想是基于跨多个设备存储的数据构建机器学习模型,首先进行多个客户端本地模型的训练,在本地模型构建和训练过程中不涉及到其他客户端数据的交互。在本地模型聚合步骤,只涉及模型参数的传递和聚合。从而防止了数据泄漏,保护了数据隐私。从技术角度来看,现有的联邦学习算法主要分为,水平联邦学习,垂直联邦学习和联邦迁移学习三类。
[0009]
然而,目前的联邦学习是基于客户端一致的假设提出的,并为所有客户端提供了一个统一的模型,这是脱离实际场景的。此外,上述方法还存在隐私泄露的风险,特别是当提交的模型包含敏感表示信息时,如用户模型中的用户表示。不幸的是,常用的隐私保护方法如差分隐私联邦学习,面临着保密性和准确性不能兼得的困境。因此,在实际应用中应用联邦学习仍然存在一些困难。
技术实现要素:[0010]
本发明的目的是提供一种基于分层个性化联邦学习的用户画像实现方法及系统,考虑用户画像过程中用户客户端的不一致性,为多个客户端提供具有层次化信息(公开信息与私有信息)的个性化用户模型,产生的用户模型能够充分利用隔离的不一致的私密数据,较为准确合理的实现用户画像。
[0011]
本发明的目的是通过以下技术方案实现的:
[0012]
一种基于分层个性化联邦学习的用户画像实现方法,包括:
[0013]
各客户端各自搜集内部的用户数据;
[0014]
各客户端利用客户端内的所有用户数据,使用一个用户模型建模用户特质,并分成分的将模型参数发送至服务器;
[0015]
服务器接收所有客户端发送的模型参数后,分成分的进行加权或者聚合处理,获得全局用户模型,并分成分的将全局模型参数分发至各客户端;
[0016]
各客户端结合全局用户模型的参数更新本地用户模型的参数,并以此实现各用户的用户画像。
[0017]
一种基于分层个性化联邦学习的用户画像系统,用于前述的方法,该系统包括:多个客户端与服务器;其中:
[0018]
各客户端各自搜集内部的用户数据,之后,各客户端利用客户端内的所有用户数据,使用一个用户模型建模用户特质,并分成分的将模型参数发送至服务器;
[0019]
服务器接收所有客户端发送的模型参数后,分成分的进行加权或者聚合处理,获得全局用户模型,并分成分的将全局模型参数分发至各客户端;
[0020]
各客户端结合全局用户模型的参数更新本地用户模型的参数,并以此实现各用户的用户画像。
[0021]
由上述本发明提供的技术方案可以看出,运用用户模型对本地用户的特质进行建模;最终服务器分成分地加权平均各个模型的参数,得到全局用户模型,进而更好的利用不一致客户端的私有数据,并且保持数据隐私,最终更加准确的建模用户,弥补了现有方法泄露隐私信息,难以适应不一致客户端的弊端。
附图说明
[0022]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
[0023]
图1为本发明实施例提供的一种基于分层个性化联邦学习的用户画像实现方法的流程图;
[0024]
图2为本发明实施例提供的一种基于分层个性化联邦学习的用户画像系统的示意图。
具体实施方式
[0025]
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整
地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
[0026]
本发明实施例提供一种基于分层个性化联邦学习的用户画像实现方法,如图1所示,其主要包括:
[0027]
步骤1、各客户端各自搜集内部的用户数据。
[0028]
本发明实施例中,用户数据可以从movielens或assitments获得,主要包括:项目、用户对项目反馈情况(即,交互结果)以及项目所涉及的属性。
[0029]
本发明实施例中,确定了搜集数据的客户端范围,其中包含了|c|个隔离的客户端。对于一个客户端,包含u
c
个用户以及v
c
个项目,定义一个用户数据为一个三元组(u,v,g),其中,u表示用户信息(例如,用户id),v表示项目信息,g表示对应的交互结果(训练阶段作为模型的预测目标),各项目均被预先标注为不同的属性,属性总数记为k。
[0030]
在不同领域,上述信息的内容有所不同。在教育领域,项目、用户分别对应了试题和学生,交互结果是学生对试题的回答结果,项目所涉及的属性即试题的包含的知识点信息。另外,在电商推荐领域,项目、用户分别对应了商品和客户,交互结果是客户对商品的评价,项目所涉及的属性是商品的类别等信息。
[0031]
步骤2、各客户端利用客户端内的所有用户数据,使用一个用户模型建模用户特质,并分成分的将模型参数发送至服务器。
[0032]
本发明实施例中,每一客户端独自利用客户端内的用户数据,即对于|c|个隔离的客户端,各自利用客户端内的用户数据使用通用的用户模型进行建模,各客户端执行过程完全相同。各客户端使用的是通用的用户模型,虽然结构上是同构的,但是,由于各客户端所涉及的用户数据不同,最终用户模型的各项参数、维度都是不一致的。此外,基于本发明实施例的方案,客户端无需考虑是否一致的问题,客户端可以是一致的,也可以不一致,都不影响最终的实现。
[0033]
本步骤主要包括两个部分:第一部分为构建本地用户画像模型,第二部分为分成分地将模型参数发送至服务器。具体来说:
[0034]
1、构建本地用户画像模型。
[0035]
各客户端,对于每一用户数据,首先进行独热编码,即对于三元组(u,v,g)的用户信息u与项目信息v分进行one-hot编码,获得用户的嵌入表示emb
u
和项目的嵌入表示emb
v
;并使用映射矩阵km
u
、km
v
对应的处理用户的嵌入表示emb
u
、项目的嵌入表示emb
v
,以得到用户表征、项目表征。
[0036]
本发明实施例中,映射矩阵km
u
、km
v
各自由一系列的知识向量构成,通过随机初始化得到;两个映射矩阵的大小相同均为k*l,但是,矩阵含义是不同的。其中,k是指用户数据中项目的属性数目,一个属性对应一个知识向量;l为自定义的纬度值,l的数值可根据实际情况设定。例如,某个客户端中项目属性共有10个,维度设为5;则构建10*5的映射矩阵。
[0037]
2、为分成分地将模型参数发送至服务器。
[0038]
本发明实施例中,映射矩阵km
u
与km
v
作为公开成分直接发送至服务器。
[0039]
所有用户及对应项目的嵌入表示均为私有成分,通过聚类操作后,产生的聚类中心作为一种被保护的私有成分(即一种模糊的私有成分表示)发送至服务器,实现了敏感信
息的保护。
[0040]
通过以上两部分,实现了客户端本地功能的设计,并将获得的信息传输给服务器。
[0041]
步骤3、服务器接收所有客户端发送的模型参数后,分成分的进行加权或者聚合处理,获得全局用户模型,并分成分的将全局模型参数分发至各客户端。
[0042]
如上个步骤的说明,服务器接收的模型参数包括公开成分与私有成分。
[0043]
1)对于公开成分,服务器将所有客户端中同一属性的知识向量进行加权聚合,最终得到全局用户模型的公开成分;具体来说:按照所有客户端发送的映射矩阵的类型以及映射矩阵中知识向量对应的属性,进行知识向量的融合,并引用知识向量对应属性的迭代次数,以及各个客户端针对属性的本地验证准确性,得到全局知识向量,表示为:
[0044][0045]
其中,|c|表示客户端总数,i为客户端索引;表示客户端i中针对属性k的知识向量,k=1,
…
,k;表示客户端i中针对属性k的迭代次数,表示客户端i中针对属性k的本地验证准确性;p为阈值,当低于p时,否则,否则,实现过滤掉比较差的参与者;
[0046]
根据所有客户端发送的映射矩阵km
u
与km
v
,结合以上方式进行处理,获得各个映射矩阵中各属性的全局知识向量,由全局知识向量组成的两个映射矩阵即为全局用户模型的公开成分。
[0047]
本发明实施例上述方案中,两类映射矩阵都是按照上述操作进行,因此,进行了统一的描述,上述描述所涉及的可以是km
u
的知识向量,也可以是km
v
中的知识向量,对于所有客户端,采用上述公式计算时,所有都应来自相同类型的映射矩阵。类似的,在各客户端进行后续映射矩阵更新时,客户端也使用来自服务器的相同类型映射矩阵的全局知识向量更新本地的相应映射矩阵。
[0048]
2)对于私有成分,服务器通过聚类操作后,产生的聚类中心作为全局用户模型的私有成分。
[0049]
步骤4、各客户端结合全局用户模型的参数更新本地用户模型的参数,并以此实现各用户的用户画像。
[0050]
各客户端接收全局用户模型的参数包括:全局用户模型的公开成分与私有成分。
[0051]
1)基于全局用户模型的公开成分,更新本地用户模型的公开成分,具体来说,客户端i对于每一映射矩阵,都基于本地测试准确度并结合映射矩阵中的属性知识向量和对应的全局属性知识来加权更新知识向量,公式为:
[0052][0053]
其中,分别为更新前、后客户端i中针对属性k的知识向量;为客户
端针对属性k的本地验证准确性,为来自服务器的针对属性k的全局知识向量;
[0054]
基于上述方式对映射矩阵km
u
、km
v
的知识向量进行更新,获得更新后的映射矩阵km
u
′
、km
v
′
。
[0055]
2)基于全局用户模型的私有成分,客户端i基于距离加权全局用户模型的私有成分和本地的嵌入表示emb
j,i
,更新过程表示为:
[0056][0057]
emb
′
j,i
=emb
j,i
×
acc
i
+emb
g
×
(1-acc
i
)
[0058]
其中,n为全局用户模型的私有成分中聚类中心的数目,n与m均为聚类中心的索引,acc
i
是一个准确度向量,表示客户端i中每个属性的本地测试精度;emb
g
是针对嵌入表示计算得到的加权全局成分;emb
j,i
、emb
′
j,i
分别为更前、后的本地嵌入表示;emb
j,i
为更新前的用户的嵌入表示emb
u
或者项目的嵌入表示emb
v
,emb
′
j,i
为更新后的用户的嵌入表示emb
u
或者项目的嵌入表示emb
v
。
[0059]
通过上述方式,客户端完成公开成分与私有成分的更新,得到更新后的本地用户模型的参数;之后,可以利用更新后的本地用户模型的参数计算用户和项目特质的表征r
u
与r
v
:
[0060]
r
u
=emb
u
·
emb
ct
·
km
u
′
[0061]
r
v
=emb
v
·
emb
ct
·
km
v
′
[0062]
其中,emb
c
是项目属性的嵌入表示,具体来说,可以项目属性进行独热编码后,再通过一个k*k映射矩阵,获得的一个综合性的属性的嵌入表示;
[0063]
再利用用户和项目特质的表征r
u
与r
v
,获得用户对项目的偏好信息,从而实现用户画像:
[0064]
p
uv
=r
u-r
v
。
[0065]
进一步来说,基于上述方案实现用户画像后,可以通过一个线性层对偏好信息p
uv
进行转换(可通过常规技术实现),从而实现交互结果的预测,例如:应用于教育系统,可以实现学生对试题的回答结果的预测(从而进一步预测学生成绩);应用于电子商务,可以对用户评价进行预测;在预测结果的基础上,可以得知用户的知识掌握情况、商品喜好,从而进行试题、商品的个性化推荐。
[0066]
本发明实施例上述方案,针对不同客户端的用户数据,各个客户端独自使用一个用户模型建模用户特质,对用户进行建模。客户端分成分地将用户模型提交给服务器,并实现敏感信息的隐藏。服务器分成分地加权各个模型的参数,得到全局用户模型。最终客户端结合全局用户模型更新局部用户模型,以更好的利用各个不一致的客户端的数据信息和模型,并且保持数据隐私,最终更加准确的追踪建模用户特质。弥补了现有方法泄露隐私信息,不适应不一致客户端等弊端。
[0067]
本发明另一实施例还提供一种基于分层个性化联邦学习的用户画像系统,该系统用于实现前述实施例提供的方法,如图2所示,该系统主要包括:多个客户端与服务器;其中:
[0068]
各客户端各自搜集内部的用户数据,之后,各客户端利用客户端内的所有用户数据,使用一个用户模型建模用户特质,并分成分的将模型参数发送至服务器;
[0069]
服务器接收所有客户端发送的模型参数后,分成分的进行加权或者聚合处理,获得全局用户模型,并分成分的将全局模型参数分发至各客户端;
[0070]
各客户端结合全局用户模型的参数更新本地用户模型的参数,并以此实现各用户的用户画像。
[0071]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0072]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0073]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。