【技术实现步骤摘要】
一种针对数据异构性的个性化联邦元学习方法
[0001]本专利技术涉及数据异构下分布式机器学习的研究领域,特别涉及一种针对数据异构性的个性化联邦元学习方法。
技术介绍
[0002]现代社会中边缘设备的普及,如移动电话和可穿戴设备,导致了人们产生的分布式私人数据的快速增长。虽然这些丰富的数据为机器学习应用提供了巨大的机会,但随着《通用数据保护条例》(GDPR)和《健康保险隐私及责任法案》(HIPAA)等法规的出台,社会上对数据隐私的关注度越来越高。这使得联邦学习越来越受欢迎,这是一个新的分布式机器学习范式,它能够以合作和隐私保护的方式在数据孤岛上开发和训练机器学习模型。个人用户参与联邦学习的主要动机是利用联邦学习中其他用户的共享知识库。因为单一用户通常面临着数据层面的限制,如数据稀缺、低质量数据和未见过的标签类,这些都限制了他们训练性能良好的本地模型的能力。
[0003]联邦学习是一个框架,它让被称为客户端的多个用户能够在他们的联邦数据上协作训练一个共享的全局模型,而无需将数据从他们的本地设备上移动。一个中央服务器协调联邦学习的整个过程,这个过程是多轮的。在每一轮开始时,服务器将当前的全局模型发送给参与的客户端。每个客户端在其本地数据上训练模型,并将模型更新传回服务器。服务器从所有客户端收集这些更新,并对全局模型进行一次更新,进而结束这一轮。通过消除在单一设备上汇总所有数据的需求,联邦学习克服了上述的隐私问题。由于客户端参与联邦学习的主要动机是获得更好的模型,因此对于那些没有足够的私有数据来开发准确的本地模型的客 ...
【技术保护点】
【技术特征摘要】
1.一种针对数据异构性的个性化联邦元学习方法,其特征在于,包括以下步骤:S1、确定各个客户端初始化阶段时的自动编码器结构以及个性化阶段时的元模型结构;S2、进行初始化阶段以获得不同数据分布的中心点;S3、客户端参与联邦训练,根据每轮上传的数据分布向量将客户端划分为多个组;S4、对每个组内的客户端模型进行聚合并下发给组内的客户端进行下一轮迭代;S5、联邦训练结束后,客户端在其组内元模型及其本地数据上进行调整产生个性化模型。2.根据权利要求1所述一种针对数据异构性的个性化联邦元学习方法,其特征在于,客户端在参与联邦学习之前,需要从服务端下载统一的自动编码器以及元模型的模型结构;所述用以初始化阶段的自动编码器是神经网络的一种,用以提取客户端本地数据分布的统计特性,并以向量的形式进行表征;所述用以个性化阶段的元模型指的是元学习下的一种模型,能通过少量样本的训练来适应新任务的学习模型,用以适应客户端的本地数据生成个性化模型。3.根据权利要求1所述一种针对数据异构性的个性化联邦元学习方法,其特征在于,所述步骤S2中获取中心点,包括以下步骤:S201、令D
i
表示客户端的本地数据集,C
k
表示中心点,表示自动编码器的编码器部分;S202、每个客户端利用本地数据集D
i
训练自动编码器得到S203、每个客户端i使用编码器获得每个数据样本x∈D
i
的嵌入向量的嵌入向量之后将所有样本的嵌入向量进行平均得到本地数据分布向量之后将所有样本的嵌入向量进行平均得到本地数据分布向量并上传到服务端中;S204、服务端在收集到的客户端数据分布向量{H
i
}上运行K
‑
means算法得到K个聚类中心点C
k
。4.根据权利要求1所述一种针对数据异构性的个性化联邦元学习方法,其特征在于,所述自动编码器的模型结构为堆栈自动编码器、卷积自动编码器、循环自动编码器的其中一种。5.根据权利要求1所述一种针对数据异构性的个性化联邦元学习方法,其特征在于,所述联邦训练遵循联邦平均算法,具体为:假设有N个客户端,每个客户端都有一个固定的本地数据集D
i
,在每轮的开始,服务端随机选择部分客户端,然后服务端将当前全局算法状态发送到每个客户端,每个客户端执行基于全局状态和本地数据集的本地计算,然后将更新后的全局状态发送到服务器,服务端将聚合这些更新后的全局状态以产生新的全局状态,并重复此过程;在联邦训练的框架下。6.根据权利要求1所述一种针对数据异构性的个性化联邦元学习方法,其特征在于,步骤S3包括以下步骤:S301、令φ
k
表示第k组中的元模型,θ
i
表示客户端的本地个性化模型,R表示总的通信轮次;每轮从参与联邦训练的所有客户端中选择|S|个客户端;客户端进行本地更新的次数为
T;本地数据集用D
i
表示,并且每个客户端拥有|D
i
|个数据样本x;对于客户端i,其本地数据集划分为两部分集划分为两部分用以客户端的训练,用以客户端的个性化;S302、服务端随机选择|S|个客户端,并将对应的元模型φ
k
发送到选择的客户端中;S303、客户端收到来自服务端的元模型φ
k
时,在元模型φ
k
和本地数据D
i
上进行本地更新,在本地第t∈T轮更新时,其更新的计算方式为:其中,表示的是元模型φ
k
在第r轮的通信回合,在客户端i上进行第t轮的本地更新;α表示本地模型的学习率;表示的是模型...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。