一种本地二部图的去中心联邦图神经网络推荐方法
未命名
09-24
阅读:89
评论:0
1.本发明属于联邦推荐技术领域,涉及一种本地二部图的去中心联邦图神经网络推荐方法。
背景技术:
2.推荐系统作为一种数据驱动应用,通过收集用户的个人信息、交互记录(浏览、评分等)来集中式地训练推荐模型,捕获用户的兴趣偏好,从而对用户产生推荐。其中,用户对物品的交互记录就形成了二部图结构。图神经网络可以有效捕捉到用户-物品二部图中用户与物品节点的高阶相似性用于模型训练,从描述用户(或物品)预先存在特征(如id和属性)进行映射获取用户(或物品)嵌入进行训练,用于推荐模型训练。然而,训练数据通常存在于多个数据源并且包含个人的敏感信息。保护数据隐私已成为一个世界性的共识和趋势,以欧盟的《通用数据保护条例》(gdpr)为代表的条例法规纷纷出台。
3.基于上述原因,mcmahan等人于2017年提出联邦学习这一概念,兼顾效率与安全。如今,将图神经网络与联邦学习框架相结合,实现在基于分散的用户数据上训练一个高质量的集中式推荐模型逐渐常见。然而,研究人员发现完全中立的“可信”中央服务器是很难确定并且服务器需要跟所有节点通信,通信瓶颈较高,性能很难保障。因此,在基于联邦推荐中,如何提高推荐模型的推荐准确率、减小模型泄露隐私的风险,是实现高效的联邦推荐系统的一个急需解决的问题。
4.例如申请公布号为cn 113420232 a,名称为“一种面向隐私保护的图神经网络联邦推荐方法”的专利申请,公开了一种基于联邦学习的图推荐训练方法,该方法的主要步骤是:(1)服务器维护全局物品表;初始化全局权重与物品嵌入矩阵,分发给参与训练的客户端;(2)各个客户端获取初始化的全局权重以及物品嵌入矩阵后,并行使用本地数据进行基于图神经网络的推荐模型训练;(3)每个客户端在一轮本地训练结束后,将本地梯度和物品嵌入矩阵进行同态加密上传至中央服务器;(4)服务器在接收到上传的同态加密后的本地梯度和物品嵌入矩阵,使用fedavg算法进行聚合,产生新的全局权重,将加权平均后的权重以及全局物品嵌入进行更新并分发给各个客户端;(5)每个客户端接收聚合后的全局权重和全局物品嵌入矩阵后,进行解密并重新赋值,接着并行训练本地推荐系统模型;(6)重复执行步骤(3)~(5)至预设阈值结束训练,各客户端输出各自的最终预测结果。该方法存在的不足之处是:由于客户端仅持有自己与交互过物品的本地二部图,该图过于稀疏导致用户训练的推荐准确率较低;此外,中央服务器会在模型聚合时,瞬间接收上千个客户端训练好的模型参数,一旦中央服务器出现故障,整个训练过程就要被迫终止,导致训练失败等问题。
技术实现要素:
5.本发明的目的在于针对上述技术的不足,提出一种本地二部图的去中心联邦图神经网络推荐方法,用于解决现有技术中存在的因本地二部图过于稀疏导致的推荐准确率较
低,以及因存在中央服务器导致的推荐可靠性较差的技术问题。
6.为实现上述目的,本发明采用的技术方案包括如下步骤:
7.(1)构建去中心联邦推荐系统:
8.构建包括m个客户端和n个待评分物品的去中心联邦推荐系统,每个客户端um持有zm个待评分物品及对应标签其中,m≥100,um表示第m个客户端,n≥100,tn表示第n个待评分物品,zm≥50,t
m,z
表示um的第z个待评分物品,y
m,z
表示t
m,z
对应的标签;
9.(2)基于通信距离对客户端进行分簇:
10.基于通信距离将m个客户端分为s个簇分为s个簇每个簇内的is个客户端协商选举簇头节点τs,s个簇的簇头节点协商选举全局聚合节点τ;其中,s≥5,表示第s个簇,is表示中包含的客户端的总数,is≥10,c
s,i
表示中的第i个客户端;
11.(3)构造每个簇内客户端的本地二部图:
12.对每个簇内的每两个客户端c
s,i
、c
s,j
持有的待评分物品集合进行隐私保护求交,得到客户端c
s,i
与c
s,j
的共有物品交集并构造以每个簇内的每个客户端c
s,i
、c
s,i
持有的zm个待评分物品t
s,i,z
分别为左侧顶点、右侧顶点,以c
s,i
与t
s,i,z
的连线和以c
s,j
与中每个物品的连线边的c
s,i
的本地二部图g
s,i
;
13.(4)获取训练数据集和测试数据集:
14.每个客户端c
s,i
获取包含客户端c
s,i
的id、评分物品t
s,i,z
的id、t
s,i,z
的标签y
s,i,z
以及本地二部图g
s,i
作为c
s,i
的z
s,i
条评分数据,然后将所有评分数据中的半数以上组成训练数据集将剩余评分数据组成测试数据集
15.(5)客户端初始化本地联邦推荐模型w
s,i
,并对其进行迭代训练:
16.(5a)每个客户端c
s,i
初始化包括顺次连接嵌入层、k个层叠的轻量级图卷积层lgc、合并层以及f个层叠的全连接层的本地联邦推荐模型w
s,i
,簇间的聚合轮次为l,最大簇间聚合轮次为l,l≥15,簇内聚合轮次为α,最大簇内聚合轮次为p,p≥5,第l次簇间聚合第α次簇内聚合的本地联邦推荐模型的模型参数为并令l=0;
17.(5b)令α=0;
18.(5c)将训练数据集中有放回地随机选取b个训练数据作为每个客户端c
s,i
本地联邦推荐模型w
s,i
的输入,嵌入层将客户端c
s,i
的id、评分物品t
s,i,z
的id转化为d维的用户嵌入向量物品嵌入向量k个lgc层基于本地二部图g
s,i
对与进行卷积聚合;合并层对卷积聚合后的用户嵌入向量与物品嵌入向量进行特征融合;f个层叠的全连接层根据特征融合的嵌入向量对客户端u
s,i
对物品t
s,i,b
的进行评分预测,得到预测评分
19.(5d)使用预测评分标签及其对应的真实评分标签y
s,i,b
计算本地推荐模型
的mse损失值并使用随机梯度下降算法,通过对模型参数进行更新,得到第l次簇间聚合中第α次簇内训练的模型参数并上传至簇头τs;
20.(5e)簇头τs对模型参数进行聚合得到模型参数分发至簇内客户端c
s,i
,并判断α=p是否成立,若是,得到簇内第l次簇间聚合第p次簇内聚合的联邦推荐模型的模型参数簇头τs将聚合的模型参数上传至全局聚合节点τ后,簇内用户c
s,i
与c
s,j
互相传输用户嵌入向量与并执行步骤(5f),否则,令α=α+1,执行步骤(5c);
21.(5f)全局聚合节点τ对模型参数进行聚合,并将聚合模型参数ω
l
分发至每个客户端c
s,i
后,得到全局的第l次簇间聚合的联邦推荐模型w
l
的模型参数ω
l
,判断l=l是否成立,若是,得到训练好的联邦推荐模型w
l
,否则l=l+1,执行步骤(5b);
22.(6)获取用户对物品的推荐结果:
23.将测试数据集作为训练好的本地推荐模型的输入进行前向传播,得到测试数据集中客户端u
s,i
对物品t
s,i,o
的预测评分
24.本发明与现有技术相比,具有如下优点:
25.1.本发明通过对每个簇内的每两个客户端持有的待评分物品集合进行隐私保护求交,并构造以每个簇内的每个客户端持有的多个待评分物品分别为左侧顶点、右侧顶点,以一个客户端与待评分物品的连线和以另一个客户端与求交结果中每个物品的连线为边的本地二部图,避免现有技术仅以一个客户端与待评分物品的连线为边的本地二部图因过于稀疏的缺陷,有效提高了推荐的准确率。
26.2.本发明客户端协商选举簇头节点以及全局聚合节点负责聚合簇内与簇间模型参数,一旦簇头或全局聚合节点掉线即可重新进行选举,避免现有技术因客户端数量过大导致中央服务器训练失败的缺陷,有效提高了推荐的可靠性。
附图说明
27.图1为本发明的实现流程图。
具体实施方式
28.下面结合附图和具体实施例,对本发明作进一步的详细描述。
29.参照图1,本发明包括如下步骤:
30.步骤1)构建去中心联邦推荐系统:
31.构建包括m个客户端和n个待评分物品的去中心联邦推荐系统,每个客户端um持有zm个待评分物品及对应标签其中,m≥100,um表示第m个客户端,n≥100,tn表示第n个待评分物品,zm≥50,t
m,z
表示um的第z个待评分物品,y
m,z
表示t
m,z
对应的标签;
32.本实施例中,m=943,n=1682,zm值为100。
33.步骤2)基于通信距离对客户端进行分簇:
34.基于通信距离将m个客户端分为s个簇分为s个簇每个簇内的is个客户端协商选举簇头节点τs,s个簇的簇头节点协商选举全局聚合节点τ;其中,s≥5,表示第s个簇,is表示中包含的客户端的总数,is≥10,c
s,i
表示中的第i个客户端;
35.在本实施例中,基于通信距离将m个客户端分为s个簇采用基于k均值原型聚类算法,具体实施过程如下:
36.步骤2a)所有客户端均为d2d用户,能发送和接收信号并具有自动路由(转发消息)的功能;
37.步骤2b)将所有d2d用户,存储在集合中,随机选取s个d2d用户,s为要划分的簇的数目,将d2d用户位置坐标作为初始均值向量;
38.步骤2c)确实第s个d2d簇的用户集合对第m个d2d用户um,分别计算它到s个均值向量的距离;
39.步骤2d)选取离用户um距离最近的均值向量,确定该均值向量对应的簇标记,将对应的值作为它选择的簇号,将用户um划入该簇;
40.步骤2e)对每一个簇,计算新的均值向量,判断新的均值向量与当前簇的均值向量是否相等,如果不相等,将新计算的均值向量替换原均值向量,如果相等,原均值向量的值不做改变;
41.步骤2f)重复上述步骤2b)~步骤2e),直到所有簇的均值向量都和前一轮计算的均值向量相等,得到分簇结果;在本实施例中,设置簇个数s=5,设置每个簇内的客户端总数is的值为300;
42.步骤3)构造每个簇内客户端的本地二部图:
43.对每个簇内的每两个客户端c
s,i
、c
s,j
持有的待评分物品集合执行隐私保护求交方法,得到客户端c
s,i
与c
s,j
的共有物品交集并构造以每个簇内的每个客户端c
s,i
、c
s,i
持有的zm个待评分物品t
s,i,z
分别为左侧顶点、右侧顶点,以c
s,i
与t
s,i,z
的连线和以c
s,j
与中每个物品的连线边的c
s,i
的本地二部图g
s,i
;
44.在本实施例中,对每个簇内的每两个客户端c
s,i
、c
s,j
持有的待评分物品集合执行隐私保护求交方法,可采用基于rsa盲签名的隐私保护求交方法、基于ot协议的隐私保护求交方法、或基于同态加密的隐私保护求交方法,在本实施例中,由于基于rsa盲签名的隐私保护求交方法具有较高的隐私性,因此采用该方法,具体实施过程如下:
45.步骤3a)c
s,i
产生两个大质数p与q,任取a满足a与(p-1)*(q-1)互质,选取r满足(a*r)mod((p-1)*(q-1))=1,并发送a,给客户端c
s,j
;
46.步骤3b)c
s,i
与c
s,j
协商两个哈希函数与h2:{0,1}
*
→
{0,1}
θ
,其中θ是安全参数,是模的整数域;
47.步骤3c)c
s,i
对每个物品t
s,i,z
的id,计算并进一步计算
哈希值k
s,i,z
=h2(ts'
,i,z
),获取c
s,i
持有的所有加密后id的哈希结果集合
[0048][0049]
步骤3d)c
s,j
对每个物品t
s,j,z
的id,计算其中给客户端c
s,i
;
[0050]
步骤3e)c
s,i
计算获取集合发送集合与c
s,i
持有集合给c
s,j
;
[0051]
步骤3f)c
s,j
计算获取集合计算交集并发送集合给c
s,i
;
[0052]
步骤3g)c
s,i
计算交集物品id集合
[0053]
步骤4)获取训练数据集和测试数据集:
[0054]
每个客户端c
s,i
获取包含客户端c
s,i
的id、评分物品t
s,i,z
的id、t
s,i,z
的标签y
s,i,z
以及本地二部图g
s,i
作为c
s,i
的z
s,i
条评分数据,然后将所有评分数据中的半数以上组成训练数据集将剩余评分数据组成测试数据集
[0055]
本实施例所使用的数据集为movielen 100k的用户与物品的推荐数据集,该数据集中所有的用户数目为m=943,物品数目为n=1682,用户对物品的评分数据条数为10万条,在本实施例中,设置簇内每个客户端持有的z
s,i
为100条评分数据。
[0056]
步骤5)客户端初始化本地联邦推荐模型w
s,i
,并对其进行迭代训练:
[0057]
步骤5a)每个客户端c
s,i
初始化包括顺次连接嵌入层、k个层叠的轻量级图卷积层lgc、合并层以及f个层叠的全连接层的本地联邦推荐模型w
s,i
,簇间的聚合轮次为l,最大簇间聚合轮次为l,l≥15,簇内聚合轮次为α,最大簇内聚合轮次为p,p≥5,第l次簇间聚合第α次簇内聚合的本地联邦推荐模型的模型参数为并令l=0;
[0058]
在本实施例中,本地推荐模型包含轻量级图卷积层lgc的个数k=3以及全连接层的个数f=3,第一个全连接层的输入为128,输出为64,第二个全连接层的输入为64,输出为32,第三个全连接层的输入为32,输出为1,最大簇内聚合轮次为p=5,最大簇间聚合伦次为l=25;
[0059]
步骤5b)令α=0;
[0060]
步骤5c)将训练数据集中有放回地随机选取b个训练数据作为每个客户端c
s,i
本地联邦推荐模型w
s,i
的输入,嵌入层将客户端c
s,i
的id、评分物品t
s,i,z
的id转化为d维的用户嵌入向量物品嵌入向量k个lgc层基于本地二部图g
s,i
对与进行卷积聚合;合并层对卷积聚合后的用户嵌入向量与物品嵌入向量进行特征融合;f个层叠的全连接层根据特征融合的嵌入向量对客户端c
s,i
对物品t
s,i,b
的评分进行预测,得到预测评分
[0061][0062]
在本实施例中,b=32,嵌入层将客户端id与评分物品id转化为64维的用户嵌入向
量与物品嵌入向量;由第一个lgc层基于本地二部图g
s,i
对64维与进行卷积聚合,聚合公式为:
[0063][0064][0065]
其中,表示客户端c
s,i
在本地二部图g
s,i
中相连接的每一个物品,是客户端c
s,i
在本地二部图g
s,i
中相连接的物品个数,是物品t
s,i,b
在本地二部图g
s,i
中相连接的客户端个数,表示物品t
s,i,b
在本地二部图g
s,i
中相连接的每一个簇内用户中相连接的每一个簇内用户是客户端c
s,g
在本地二部图g
s,i
中相连接的物品个数,聚合后得64维聚合的用户嵌入向量与物品嵌入向量同理第二、三层lgc层基于本地二部图g
s,i
对64维与再次进行卷积聚合分别得到64维与与64维与合并层对卷积后的用户嵌入向量、物品嵌入向量进行求和操作后得到与拼接用户嵌入向量物品嵌入向量得到128维向量,3个全连接层对特征融合的128维嵌入向量进行客户端c
s,i
对物品t
s,i,b
的评分进行预测。
[0066]
步骤5d)使用预测评分标签及其对应的真实评分标签y
s,i,b
计算本地推荐模型的mse损失值并使用随机梯度下降算法,通过对模型参数进行更新,得到第l次簇间聚合中第α次簇内训练的模型参数并上传至簇头τs;
[0067]
簇中的本地推荐模型的mse损失值以及模型参数的更新公式分别为:
[0068][0069][0070]
其中,∑表示求和操作,η>0表示学习率。在本实例中,η=0.01。
[0071]
步骤5e)簇头τs对模型参数进行聚合得到模型参数分发至簇内客户端c
s,i
,并判断α=p是否成立,若是,得到簇内第l次簇间聚合第p次簇内聚合的联邦推荐模型的模型参数簇头τs将聚合的模型参数上传至全局聚合节点τ后,簇内用户c
s,i
与c
s,j
互相传输用户嵌入向量与并执行步骤(5f),否则,令α=α+1,执行步骤(5c);
[0072]
簇头节点τs对模型参数进行聚合的公式如下:
[0073][0074]
在本实施例中,s=5,is值为300。
[0075]
步骤5f)全局聚合节点τ对模型参数进行聚合,并将聚合模型参数ω
l
分发至每个客户端c
s,i
后,得到全局的第l次簇间聚合的联邦推荐模型w
l
的模型参数ω
l
,判断l=l是否成立,若是,得到训练好的联邦推荐模型w
l
,否则l=l+1,执行步骤(5b);
[0076]
全局聚合节点τ对模型参数进行聚合的公式如下:
[0077][0078]
步骤6)获取用户对物品的推荐结果:
[0079]
将测试数据集作为训练好的本地推荐模型的输入进行前向传播,得到测试数据集中客户端u
s,i
对物品t
s,i,o
的预测评分
技术特征:
1.一种本地二部图的去中心联邦图神经网络推荐方法,其特征在于,包括如下步骤:(1)构建去中心联邦推荐系统:构建包括m个客户端和n个待评分物品的去中心联邦推荐系统,每个客户端u
m
持有z
m
个待评分物品及对应标签其中,m≥100,u
m
表示第m个客户端,n≥100,t
n
表示第n个待评分物品,z
m
≥50,t
m,z
表示u
m
的第z个待评分物品,y
m,z
表示t
m,z
对应的标签;(2)基于通信距离对客户端进行分簇:基于通信距离将m个客户端分为s个簇每个簇内的i
s
个客户端协商选举簇头节点τ
s
,s个簇的簇头节点协商选举全局聚合节点τ;其中,s≥5,表示第s个簇,i
s
表示中包含的客户端的总数,i
s
≥10,c
s,i
表示中的第i个客户端;(3)构造每个簇内客户端的本地二部图:对每个簇内的每两个客户端c
s,i
、c
s,j
持有的待评分物品集合持有的待评分物品集合进行隐私保护求交,得到客户端c
s,i
与c
s,j
的共有物品交集并构造以每个簇内的每个客户端c
s,i
、c
s,i
持有的z
m
个待评分物品t
s,i,z
分别为左侧顶点、右侧顶点,以c
s,i
与t
s,i,z
的连线和以c
s,j
与中每个物品的连线为边的c
s,i
的本地二部图g
s,i
;(4)获取训练数据集和测试数据集:每个客户端c
s,i
获取包含客户端c
s,i
的id、评分物品t
s,i,z
的id、t
s,i,z
的标签y
s,i,z
以及本地二部图g
s,i
作为c
s,i
的z
s,i
条评分数据,然后将所有评分数据中的半数以上组成训练数据集将剩余评分数据组成测试数据集(5)客户端初始化本地联邦推荐模型w
s,i
,并对其进行迭代训练:(5a)每个客户端c
s,i
初始化包括顺次连接嵌入层、k个层叠的轻量级图卷积层lgc、合并层以及f个层叠的全连接层的本地联邦推荐模型w
s,i
,簇间的聚合轮次为l,最大簇间聚合轮次为l,l≥15,簇内聚合轮次为α,最大簇内聚合轮次为p,p≥5,第l次簇间聚合第α次簇内聚合的本地联邦推荐模型的模型参数为并令l=0;(5b)令α=0;(5c)将训练数据集中有放回地随机选取b个训练数据作为每个客户端c
s,i
本地联邦推荐模型w
s,i
的输入,嵌入层将客户端c
s,i
的id、评分物品t
s,i,z
的id转化为d维的用户嵌入向量物品嵌入向量k个lgc层基于本地二部图g
s,i
对与进行卷积聚合;合并层对卷积聚合后的用户嵌入向量与物品嵌入向量进行特征融合;f个层叠的全连接层根据特征融合的嵌入向量对客户端u
s,i
对物品t
s,i,b
的进行评分预测,得到预测评分(5d)使用预测评分标签及其对应的真实评分标签y
s,i,b
计算本地推荐模型的
mse损失值并使用随机梯度下降算法,通过对模型参数进行更新,得到第l次簇间聚合中第α次簇内训练的模型参数并上传至簇头τ
s
;(5e)簇头τ
s
对模型参数进行聚合得到模型参数分发至簇内客户端c
s,i
,并判断α=p是否成立,若是,得到簇内第l次簇间聚合第p次簇内聚合的联邦推荐模型w
sl,p
的模型参数簇头τ
s
将聚合的模型参数上传至全局聚合节点τ后,簇内用户c
s,i
与c
s,j
互相传输用户嵌入向量与并执行步骤(5f),否则,令α=α+1,执行步骤(5c);(5f)全局聚合节点τ对模型参数进行聚合,并将聚合模型参数ω
l
分发至每个客户端c
s,i
后,得到全局的第l次簇间聚合的联邦推荐模型w
l
的模型参数ω
l
,判断l=l是否成立,若是,得到训练好的联邦推荐模型w
l
,否则l=l+1,执行步骤(5b);(6)获取用户对物品的推荐结果:将测试数据集作为训练好的本地推荐模型的输入进行前向传播,得到测试数据集中客户端u
s,i
对物品t
s,i,o
的预测评分2.根据权利要求1所述的一种本地二部图扩充的去中心联邦图神经网络推荐方法,其特征在于,步骤(2)中所述的基于通信距离将m个客户端分为s个簇采用基于k均值原型聚类算法。3.根据权利要求1所述的一种本地二部图扩充的去中心联邦图神经网络推荐方法,其特征在于,步骤(3)中所述的对每个簇内的每两个客户端c
s,i
、c
s,j
持有的待评分物品集合持有的待评分物品集合进行隐私保护求交,可采用基于rsa盲签名的隐私保护求交方法、基于ot协议的隐私保护求交方法、或基于同态加密的隐私保护求交方法。4.根据权利要求1所述的一种本地二部图扩充的去中心联邦图神经网络推荐方法,其特征在于,步骤(5d)中所述的簇中的本地推荐模型的mse损失值以及模型参数的更新公式分别为:的更新公式分别为:其中,∑表示求和操作,η>0表示学习率。5.根据权利要求1所述的一种本地二部图扩充的去中心联邦图神经网络推荐方法,其特征在于:步骤(5e)中所述的簇头节点τ
s
对模型参数进行聚合的公式如下:6.根据权利要求1所述的一种本地二部图扩充的去中心联邦图神经网络推荐方法,其
特征在于:步骤(5f)中所述的全局聚合节点τ对模型参数进行聚合的公式如下:
技术总结
本发明提出一种本地二部图的去中心联邦图神经网络推荐方法,实现步骤为:构建去中心联邦推荐系统;基于通信距离对客户端进行分簇;构造每个簇内客户端的本地二部图;获取训练数据集和测试数据集;客户端初始化本地联邦推荐模型,并对其进行迭代训练;获取用户对物品的推荐结果。本发明客户端协商簇头以及全局聚合节点负责簇内与簇间模型参数聚合,一旦簇头或全局聚合节点掉线可重新选举,防止模型训练失败;客户端之间实现隐私保护求交方法,获取与簇内客户端的物品交集集合,在原有的左侧为客户端顶点右侧为该客户端交互的物品顶点的连线图上,添加左侧为簇内客户端顶点右侧为物品交集顶点的连线,使本地二部图更加稠密,获取推荐准确率更高。获取推荐准确率更高。获取推荐准确率更高。
技术研发人员:王子龙 董卓欣 陈谦 王鸿波 柴政 闫梦晴
受保护的技术使用者:西安电子科技大学
技术研发日:2023.04.07
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/