[0030] 下面结合案例,请参阅图1,图1给出了本发明提出的面向隐私保护的图神经网络联邦推荐方法的体系结构。以下案例以一个中央服务器和四个客户端为例,对本发明进行进一步详细说明,具体实施步骤如下。
[0031] 步骤1.使用本方法,中央服务器维护全局的物品存在表P。维护全局物品存在向量表P的目的是,如图2所示,某两个客户端物品存在不同程度的重叠或相似的情况,P为后续服务器端加权平均聚合做准备。初始化全局权重W0和全局的物品网络嵌入矩阵E0,v,分发给4个参与联邦训练的客户端。
[0032] 步骤2.在4个客户端在拿到初始化的全局权重和物品网络嵌入矩阵后,并行的训练本地的图神经网络模型。
[0033] 每个客户端的本地数据是Nu个用户对Nv个物品的评分,视为一个交互矩阵M。表1为4个客户端中数据统计的示意表。
[0034] 表1
[0035] 客户端编号 评分个数 用户个数 物品个数 评分等级k1 25000 943 1444 1,2,3,4,5
k1 25000 943 1464 1,2,3,4,5
k1 25000 943 1469 1,2,3,4,5
k1 25000 943 1452 1,2,3,4,5
[0036] 每个客户端将本地的交互矩阵转换成二部图G(P,ε,R),用户特征X′u和物品特征X′v分别分布在用户顶点集上和物品顶点集上。二部图作为输入,经过图卷积编码层,获得用户嵌入矩阵(User Embedding)和物品嵌入矩阵(Item Embedding)。由用户嵌入矩阵Eu和物品嵌入矩阵Ev拼接而成嵌入层 如下式(1)所示。
[0037]
[0038] 随后进入模型的全连接层,最后经过双线性解码器获得这一个epoch的本地预测结果 其本地训练模型参阅图3,图3中给出了本发明中客户端本地训练的模型。其中优化目标损失函数L使用交叉熵损失函数,如下式(2)所示。
[0039]
[0040] 其中,I[·]∈0,1为指示函数。步骤2就是本地客户端基于二部图的链路预测。
[0041] 步骤3.每个客户端在一个epoch的本地训练结束后。4个客户端并行调用相同的密匙key,将本轮的各自本地的梯度wt和物品网络嵌入矩阵et,v这两个明文数据加密后变为HE(wt)和HE(et,v),并上传至中央服务器。在保护数据隐私的同时,并行化处理提高了数据加密处理的效率。
[0042] 步骤4.中央服务器在接收到4个客户端上传的加密后的密文,使用FedAvg算法,如式(3)所示,进行聚合产生新的全局权重密文HE(Wt)。
[0043]
[0044] 根据全局物品存在表,加权平均得到全局物品网络嵌入矩阵密文HE(Et+1,v),如式(4)所示。将聚合后的全局权重密文和全局物品网络嵌入矩阵密文分发给4个客户端。
[0045]
[0046] 本发明在中央服务器端进行计算的是同态加密后的权重和网络嵌入矩阵。如图4所示,解密结果相当于对明文做同样的计算操作。这进一步加强了数据的安全性,保证了客户端和服务器之间传输数据的隐私性。
[0047] 服务器端进行聚合操作,其对应具体伪代码实施步骤如下:
[0048]
[0049] 步骤5.每个客户端在接收到聚合后的全局权重密文和全局网络嵌入矩阵密文后,根据本地的密钥进行解密还原为Wt+1和Et+1,v。将全局权重赋值给本地权重,将全局物品网络嵌入矩阵作为本地的物品网络嵌入矩阵。4个客户端并行的训练本地推荐系统模型。
[0050] 客户端训练过程,其对应具体伪代码实施步骤如下:
[0051]
[0052]
[0053] 步骤6.周期性循环步骤3到步骤5至本次任务结束。请参阅图5,本方法的整体流程图,是通过不断的本地客户端的训练,得出本地推荐预测结果。在各个客户端本地训练的过程中,得到的数据,如权重和物品网络嵌入矩阵;本方法将其进行同态加密后,通过联邦学习的框架,联合多方共同训练,在中央服务器聚合同态加密后的数据,再分发给各个客户端;客户端解密接收的密文数据用于本地训练,由此达到提升各个客户端训练准确率的效果。
[0054] 本实施例主要从推荐的均方根误差(RMSE)、均方误差(MAE)两个方面来进行推荐质量评价,其计算公式分别如(5)(6)所示。
[0055]
[0056]
[0057] 其中,n是测试样本的数量,yi和 分别代表第i个样本的真实和预测值。
[0058] 表2为仅在本地训练的与本实施例中改进方法的推荐结果对比示意表。
[0059]
[0060] 由表2可以看出本实施案例中的改进后的基于图神经网络联邦推荐方法降低了推荐的误差,提高了准确率。
[0061] 以上是本发明的较佳实施过程,凡依本发明技术所做的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。