【技术实现步骤摘要】
联邦学习方法、装置、设备及介质
[0001]本公开涉及数据处理
,尤其涉及人工智能、深度学习等
技术介绍
[0002]人工智能技术在快速发展着,深度学习技术作为其中最为重要的技术之一,需要十分庞大的数据作为基础。
[0003]但是,传统的机器学习都是将数据收集起来,再集中进行训练。这给一些隐私信息带来了巨大的威胁。联邦学习就此诞生了。联邦学习是一种分布式机器学习技术,与以往的分布式机器学习技术不同的是,联邦学习不用收集用户的数据,而是让这些数据留存在本地,让用户设备自己原地训练机器学习模型,并将训练好的模型上传给服务器。通过这种方式,数据不离开本地,保障了数据安全。但,如何进行联邦学习仍值得研究。
技术实现思路
[0004]本公开提供了一种联邦学习方法、装置、设备及存储介质。
[0005]根据本公开的一方面,提供了一种联邦学习方法,包括:
[0006]获取多个边缘设备的性能参数;
[0007]基于多个边缘设备的性能参数对多个边缘设备进行聚类分析,得到多个设备簇群 ...
【技术保护点】
【技术特征摘要】
1.一种联邦学习方法,包括:获取多个边缘设备的性能参数;基于所述多个边缘设备的性能参数对所述多个边缘设备进行聚类分析,得到多个设备簇群;为所述多个设备簇群对云端全局模型进行知识蒸馏,以蒸馏出多个第一子模型;将所述多个第一子模型分发到对应的设备簇群进行联邦学习。2.根据权利要求1所述的方法,其中,所述为所述多个设备簇群对云端全局模型进行知识蒸馏,包括:针对所述多个设备簇群中的每个设备簇群,分别执行:从公开数据集中采样出适配所述设备簇群的性能参数的训练样本集;以及,创建适配所述设备簇群的性能参数的初始模型;以所述云端全局模型为教师模型,以所述初始模型为学生模型,基于所述训练样本集训练所述初始模型,以蒸馏出所述第一子模型。3.根据权利要求1或2所述的方法,其中,所述基于所述多个边缘设备的性能参数对所述多个边缘设备进行聚类分析,得到多个设备簇群,包括:基于所述多个边缘设备的性能参数,确定边缘设备之间的性能相似度;基于边缘设备之间的性能相似度进行聚类分析,得到所述多个设备簇群。4.根据权利要求1
‑
3中任一项所述的方法,各设备簇群用于对相应的第一子模型进行训练得到第二子模型,还包括:基于各设备簇群的第二子模型和/或全局学生模型,引导各设备簇群生成满足预设数据分布特征的扩增数据集;其中,针对每个设备簇群,所述预设数据分布特征为所述设备簇群内本地数据集的数据分布特征;所述全局学生模型是对各设备簇群的第二子模型进行知识蒸馏得到的;基于各设备簇群的扩增数据集训练所述云端全局模型。5.根据权利要求4所述的方法,其中,对各设备簇群的第二子模型进行知识蒸馏,得到所述全局学生模型,包括:将蒸馏样本分别输入各设备簇群的第二子模型,得到各设备簇群的第二子模型对所述蒸馏样本的处理结果;将各第二子模型对所述蒸馏样本的处理结果进行融合,得到软目标;基于所述软目标和所述蒸馏样本训练所述全局学生模型,以最小化所述全局学生模型对所述蒸馏样本的处理结果和所述软目标之间的损失。6.根据权利要求5所述的方法,其中,所述将各第二子模型对所述蒸馏样本的处理结果进行融合,得到软目标,包括:基于各第二子模型在验证集上的准确率确定各第二子模型的权重;其中,准确率越高相应的权重越高;将各第二子模型对所述蒸馏样本的处理结果进行加权求和,得到所述软目标。7.根据权利要求4
‑
6中任一项所述的方法,其中,基于各设备簇群的第二子模型和所述全局学生模型,引导各设备簇群生成扩增数据集,包括:针对各设备簇群,获取所述设备簇群基于所述设备簇群的本地数据分布特征生成的伪
样本;针对所述伪样本,循环执行以下操作:基于所述全局学生模型处理所述伪样本,得到所述伪样本的第一待比对结果;以及,基于各第二子模型处理所述伪样本,得到所述伪样本的多个处理结果;对所述多个处理结果进行融合处理,得到所述伪样本的第二待比对结果;在所述第一待比对结果和所述第二待比对结果之间的差异满足预设条件的情况下,将所述伪样本添加到所述扩增数据集中;在所述第一待比对结果和所述第二待比对结果之间的差异不满足所述预设条件的情况下,请求所述设备簇群更新所述伪样本,直到满足所述预设条件为止。8.根据权利要求7所述的方法,所述预设条件包括以下中的至少一种:所述伪样本的所述第一待比对结果和所述第二待比对结果之间的差异小于预设阈值;所述伪样本的所述第一待比对结果和所述第二待比对结果之间的差异变化趋势为从持续变小到结束变小。9.根据权利要求4
‑
8中任一项所述的方法,所述扩增数据集是各设备簇群基于扩散模型生成的,所述全局学生模型用于构建所述扩散模型的逆向过程。10.一种联邦学习方法,包括:发送当前边缘设备的性能参数给服务器,以使得所述服务器基于多个边缘设备的性能参数对所述多个边缘设备进行聚类分析,得到多个设备簇群,并对云端全局模型进行知识蒸馏,得到适用于目标设备簇群的第一子模型;其中,所述目标设备簇群为所述当前边缘设备所在的设备簇群;基于所述第一子模型进行联邦学习。11.根据权利要求10所述的方法,其中,所述基于所述第一子模型进行联邦学习,包括:采用当前边缘设备的本地数据集训练所述第一子模型,得到待聚合子模型;基于所述目标设备簇群和所述待聚合子模型生成所述第一子模型的第二子模型。12.根据权利要求11所述的方法,其中,所述采用当前边缘设备的本地数据集训练所述第一子模型,包括:采用所述当前边缘设备的本地数据集对所述第一子模型迭代训练预设次数。13.根据权利要求11所述的方法,其中,所述基于所述目标设备簇群和所述待聚合子模型生成所述第一子模型的第二子模型,包括:在所述当前边缘设备为所述目标设备簇群的主设备的情况下,获取所述目标设备簇群内各边缘设备训练得到的多个待聚合子模型;对所述多个待聚合子模型进行聚合处理,得到所述第一子模型的第二子模型。14.根据权利要求13所述的方法,其中,所述对所述多个待聚合子模型进行聚合处理,得到所述第一子模型的第二子模型,包括:对所述多个待聚合子模型的模型参数进行加权平均,得到所述第一子模型的第二子模型;或者,对所述多个待聚合子模型的模型参数求均值,得到所述第一子模型的第二子模型。15.根据权利要求13所述的方法,其中,所述对所述多个待聚合子模型进行聚合处理,得到所述第一子模型的第二子模型,包括:
在验证集包括多种类别的情况下,针对每种类别分别确定对所述类别的预测准确率最高的待聚合子模型作为中间子模型,以得到多个中间子模型;对所述多个中间子模型的模型参数求均值,得到所述第二子模型。16.根据权利要求10
‑
15中任一项所述的方法,还包括:将所述第二子模型发送给所述服务器;在各设备簇群的第二子模型和/或全局学生模型的指导下,基于所述当前边缘设备的本地数据集的分布特征生成扩增样本,以使得所述服务器得到所述目标设备簇群的扩增数据集;其中,所述全局学生模型是所述服务器对各设备簇群的第二子模型进行知识蒸馏得到的。17.根据权利要求16所述的方法,其中,在各设备簇群的第二子模型和全局学生模型的指导下,基于所述当前边缘设备的本地数据集的分布特征生成扩增样本,包括:基于扩散模型生成伪样本;其中,所述扩散模型学习了所述当前边缘设备的本地数据集的数据分布特征;且所述扩散模型的逆向过程是基于所述全局学生模型构建的;在所述全局学生模型和各设备簇群的第二子模型的指导下基于所述扩散模型更新所述伪样本,以得到所述扩增样本。18.一种联邦学习装置,包括:获取模块,用于获取多个边缘设备的性能参数;聚类模块,用于基于所述多个边缘设备的性能参数对所述多个边缘设备进行聚类分析,得到多个设备簇群;蒸馏模块,用于为所述多个...
【专利技术属性】
技术研发人员:刘吉,陈春璐,周吉文,荆博,熊昊一,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。