本发明涉及大数据,特别涉及一种基于空间异构的联邦学习方法。
背景技术:
1、在联邦兴趣点推荐任务中,用户的轨迹数据是根据其访问具体兴趣点的活动生成,这些数据自然地反映了用户在不同地理区域的个性化访问偏好。这种个性化导致了协同训练时,本地客户端上轨迹数据在空间分布上呈现显著差异与隔离。这会导致联邦学习中本地客户端上的本地训练只能学习到有限地理区域内的信息,对于跨区域长序列的学习能力较弱。空间分布偏差在此前的个性化联邦学习中常被忽略,但事实上,它却对poi模型的推荐质量发挥着重大影响。
2、例如,城市居民和郊区居民的签到模式很可能存在显著差异,这种差异不仅由地理位置的变化引起,也与不同地区可用的poi类型和数量不同有关。当联邦学习被应用于poi推荐时,这种空间分布的偏差不可避免,这对模型的协同学习带来了挑战。
技术实现思路
1、针对现有技术存在的上述问题,本发明要解决的技术问题是:如何有效模拟轨迹数据中的空间异质性,并进一步提出能有效提升空间异构环境下的联邦兴趣点推荐模型的个性化性能。
2、为解决上述技术问题,本发明采用如下技术方案:一种基于空间异构的联邦学习方法,包括如下步骤
3、s1:预训练时空意识对抗生成网络st-gan:获取真实本地数据集di在所有本地客户端上训练时空意识对抗生成网络st-gan中的生成器g和辨别器d,使用训练好的生成器记为{g(ωi)|1≤i≤n},{g(ωi)|1≤i≤n}为对应的本地客户端生成伪轨迹数据集,记为g(ωi)为第i个本地客户端生成伪轨迹数据集。
4、将本地所有训练好的g上传服务器,服务器对所有训练好的g进行聚合得到全局生成器g(ω),使用全局生成器生成全局伪轨迹数据集yg。
5、s2:本地训练:拼接真实轨迹数据集yi和伪轨迹数据集得到第i个本地训练数据集yip,并利用yip训练第i个本地客户端上的模型θi,训练t+1次后得到训练后的模型n表示本地客户端的数量。
6、s3:本地模型上传:将n个本地训练后的模型上传至服务器,全局知识蒸馏模块gkd使用yg微调上传的本地模型集合微调过程中,使用服务器上存储的t次训练得到的全局模型θg作为教师模型,将第t+1训练得到的本地模型作为学生模型。使学生模型学习教师模型的全局信息,得到全局化的本地模型
7、s4:全局参数聚合:使用更新服务器上的模型,然后在服务器上将对进行聚合得到全局模型
8、s5:参数更新:此服务器将广播回所有的本地客户端,在每个本地客户端上,个性化知识蒸馏模块pkd使用yip对进行微调,微调时,将服务器广播回所有的本地客户端的作为学生模型,将本地客户端上的作为教师模型,使学生模型学习教师模型的信息,得到个性化的全局模型
9、s6:模型更新:使用覆盖本地客户端上的从而更新本地模型。
10、s7:判断是否达到预设迭代次数,如果未达到则返回s2,否则将当前的本地模型作为最优本地模型,并执行下一步。
11、s8:对于一个用户,获取该用户的历史签到轨迹,并将该历史签到轨迹输入最优本地模型,最优本地模型输出top-k个兴趣点作为推荐结果。
12、进一步的,所述s1中,所述预训练st-gan的过程为:
13、首先将第i个本地客户端中用户u的轨迹序列的前m个轨迹分段,表示为x(u)分为poi序列时间戳序列和纬度和经度序列然后将这三个序列一起输入到生成器g中进行预训练,其中g的优化目标为公式(2)。
14、
15、其中h是批量大小,pg是根据生成器g生成的样本的概率,lg(ω)是生成器训练的损失函数,分别表示第i批量下第j个样本的标签和第i批量下第1个样本到第j-1个样本的标签。生成器通过计算和和的损失,然后加权以获得x(u)的多维输入序列y1:m=(y1,…,ym,…,ym)的损失。
16、生成器g的参数ω通过梯度下降方法迭代更新,如公式(3)所示。
17、
18、其中α表示学习率超参数,而表示的是损失函数相对于参数ω的梯度。
19、预训练的生成器g产生伪序列与真实序列y1:m=(y1,…,ym,…,ym)一起用于训练鉴别器d。鉴别器的训练目标是正确区分由g生成的伪序列和真实序列。使用二元交叉熵损失来训练d,如公式(4)所示:
20、
21、其中npos是真实序列的数量,nneg是由g生成的伪序列数量,在训练过程中npos=nneg=m。yi表示第i个真实序列,表示第i个伪序列。
22、d的优化目标表示为公式(5)。
23、
24、其中,表示来自真实数据分布ppos中采样的真实训练样本集合y的期望值,样本指的是真实数据的序列集合,则表示由g生成的负样本集合的期望值。在鉴别器的实际训练过程中,通过迭代来最小化公式(5)所示的目标函数以更新d的参数如公式(6)所示:
25、
26、其中,表示的是辨别器的损失函数,代表的是其上的参数,表示的是损失函数对参数的梯度。
27、在生成器g和鉴别器d经过预训练后,它们进行对抗训练。对抗训练使用来自强化学习的策略梯度方法:
28、通过时间步m-1,状态sm-1,已生成的序列和下一个动作a确定在下一时间步m生成哪个poi点,以确定序列相应的状态变为sm。这一过程持续进行,直到完整的伪序列被生成。序列的得分是奖励r;如果生成的序列成功欺骗了d,则r为1,否则,如果被识别为生成的,则得分为0。对抗训练的优化目标是最大化生成器g的期望奖励e,如公式(7)所示:
29、
30、其中,rm是伪序列或真实序列的累积奖励,sm-1表示第m-1步的状态,是第m步生成的项目。q是行动值。
31、借鉴于强化学习方法,采用其中鉴别器估计的真实概率用作奖励,并使用公式(8)计算行动值:
32、
33、其中,ym表示的是第m步生成的数据点,而表示的是前1到m-1步已生成的数据点序列。
34、将进一步重新训练生成器g,如公式(9)所示。
35、
36、其中,是从g中抽样观察到的中间状态,表示相对于从生成器g中抽样得到的中间状态计算的期望值,j(ω)代表的是损失函数,由于期望e可以通过抽样方法来近似,根据公式(10)更新生成器的参数。
37、
38、其中,ηm是第m步的学习率。
39、进一步的,所述s2中,服务器对{g(ωi)|1≤i≤n}进行聚合得到全局生成器g(ω)的过程为:
40、部署在所有本地客户端上的st-gan模型的生成器{g(ωi)|1≤i≤n}在完成本地客户端上的预训练后被上传到服务器进行聚合,以获得一个全局生成器g(ω),如公式(11)所示。
41、在服务器上,将{ωi|1≤i≤n}进行聚合得到全局生成器参数ω,如公式(11):
42、
43、其中,ci表示yip中轨迹点的数量,它决定了在聚合过程中本地客户端参数的权重。
44、进一步的,所述s3中,全局知识蒸馏模块gkd使用yg微调t次全局poi推荐模型的过程如下:
45、在gkd中,将服务器上存储的t次训练得到的全局模型θg视为教师模型,将在本地客户端上t+1次训练后得到的模型视为学生模型,使用kl散度计算θg和之间的差异,如公式(16)所示:
46、
47、其中,sog和tog分别是输入自yg的采样的正样本后学生模型和教师模型的输出,sng和tng分别是输入自yg是负样本后学生模型和教师模型的输出。b表示批量大小,dkl代表的是kl散度,是目标函数或损失函数。t是温度参数。
48、在gkd中,学生模型使用lgkd来微调其参数以学习更多的全局信息,获得如公式(17)和公式(18)所示。
49、
50、
51、其中,lgkd是完整的gkd损失函数,组合了kl损失函数和交叉熵损失函数λ是控制和相对重要性的超参数。
52、进一步的,所述s4中,在服务器上将对进行聚合得到全局模型的过程如公式(19)所示:
53、
54、进一步的,所述s5中,个性化知识蒸馏模块pkd使用yip对进行微调的过程为:
55、在全局模型覆盖至本地客户端之前,将服务器广播回所有的本地客户端的作为学生模型,将本地客户端上的作为教师模型,使用yip微调教师模型,如公式(12)所示:
56、
57、其中,npos是从yip收集到的正样本数量,nneg是随机从用户未访问的poi中收集到的负样本数量;σ(·)是sigmoid函数,其中αi和αj分别是为正样本和负样本计算的得分,lbce表示的是poi模型训练过程采用的交叉熵损失函数。
58、使用kl散度计算和之间的差异,如公式(13)所示:
59、
60、lpkd=μ·lkl+(1-μ)·lbce (14)
61、其中,sop和top分别是输入自yip的正样本后学生模型和教师模型的输出,snp和tnp分别是输入自yip是负样本后学生模型和教师模型的输出,μ是一个控制蒸馏损失影响的变量。lpkd是完整的pkd损失函数,组合了kl损失函数lkl和交叉熵损失函数lbce,μ是控制lkl和lbce相对重要性的超参数。
62、经过pkd微调后,全局模型获得了更丰富的个性化信息,如公式(15)所示:
63、
64、相对于现有技术,本发明至少具有如下优点:
65、①解决空间异质性问题:现有个性化联邦学习方法虽然解决了非独立同分布(non-iid)数据环境下的个性化问题,但未能处理poi轨迹数据中的空间异质性。本发明提出了空间异质性问题的模拟方法,有效模拟了轨迹数据的偏置空间分布。
66、②引入st-gan生成合成轨迹数据:通过生成大量多样化的合成轨迹数据,扩展了训练数据的数量和多样性,从而提高了poi推荐模型的个性化性能。
67、③pkd和gkd模块加强个性化和全局信息的学习和保留:在参数更新过程中,这些模块有效地增强了个性化和全局信息的学习和保留,提高了模型在空间异质性环境下的表现。
68、④显著提升模型性能:通过与八种个性化联邦学习方法的比较实验和四个真实数据集的测试,本发明的fedkg方法在非独立同分布和空间异质性环境下均显著优于现有方法。在空间异质性条件下,性能提升了18.21%;在非独立同分布条件下,性能提升了7.59%。
1.一种基于空间异构的联邦学习方法,其特征在于,包括如下步骤
2.如权利要求1所述的一种基于空间异构的联邦学习方法,其特征在于:所述s1中,所述预训练st-gan的过程为:
3.如权利要求2所述的一种基于空间异构的联邦学习方法,其特征在于:所述s2中,服务器对{g(ωi)|1≤i≤n}进行聚合得到全局生成器g(ω)的过程为:
4.如权利要求3所述的一种基于空间异构的联邦学习方法,其特征在于:所述s3中,全局知识蒸馏模块gkd使用yg微调t次全局poi推荐模型的过程如下:
5.如权利要求4所述的一种基于空间异构的联邦学习方法,其特征在于:所述s4中,在服务器上将对进行聚合得到全局模型的过程如公式(19)所示:
6.如权利要求5所述的一种基于空间异构的联邦学习方法,其特征在于:所述s5中,个性化知识蒸馏模块pkd使用对进行微调的过程为: