基于自编码器的单分类联邦学习方法及系统

文档序号:34064103发布日期:2023-05-06 13:59阅读:40来源:国知局
基于自编码器的单分类联邦学习方法及系统与流程

本发明涉及联邦学习,具体涉及一种基于自编码器的单分类联邦学习方法及系统。


背景技术:

1、联邦学习是目前解决数据孤岛问题的有效方法通过保证原始数据不出本地,只上传模型的更新信息,即“数据可用不可见,数据不动模型动”,能在保护客户端隐私的情况下联合多个客户端进行训练,实现数据的流动和融合。然而,由于客户端通常比较分散,其本地数据的分布一般不尽相同,即客户端间的数据是非独立同分布的(non independentlyand identically distributed,non-iid)。特别是极端情况下客户端a只有标签0,客户端b只有标签1,这种分布下不同客户端训练的模型之间非常离散,会严重影响全局模型的性能。

2、目前关于non-iid的研究主要有基于模型的方法,如fedprox在局部目标函数中引入了一个额外的l2正则化项来限制局部模型和全局模型之间的距离。然而,在极端non-iid情况下,由于客户端之间的数据差异非常大,仅仅限制局部模型和全局模型之间的距离无法提升全局模型的性能。基于数据的数据共享的方法,设置一个全局共享数据集(通常由客户端直接上传本地部分原始数据或者利用本地原始数据训练数据生成器的方式组成),客户端使用本地数据和全局共享数据集的子集进行训练,以此减轻客户端之间的non-iid程度。然而,这种方案却上传了客户端的原始数据,使得客户端的隐私得不到保护。


技术实现思路

1、本发明的目的在于提供一种基于自编码器的单分类联邦学习方法及系统,以解决上述背景技术中存在的至少一项技术问题。

2、为了实现上述目的,本发明采取了如下技术方案:

3、一方面,本发明提供一种基于自编码器的单分类联邦学习方法,包括:

4、在数据预处理阶段,客户端共同训练预模型进行原始数据的特征提取和分析;

5、在训练阶段,客户端按照数据标签分别完成单分类模型的训练,并将模型上传服务器;

6、服务器选择模型上传完成的标签对应的模型进行异步分类聚合,并将聚合后的模型按标签重新下发给客户端;

7、客户端加载对应标签的模型后,迭代上述本地分类训练和上传本地模型过程,直至模型收敛或者达到预设条件;

8、在预测阶段,将待预测数据也使用预模型进行数据预处理操作并整合多个单分类模型和预模型的输出,计算归属度,确定预测结果。

9、优选的,在数据预处理阶段,客户端共同训练预模型进行原始数据的特征提取和分析,包括:每个客户端都使用本地所有数据,按照联邦平均算法训练n轮,得到一个多分类的预训练模型;每个客户端按照标签将本地原始数据进行分类;由于预模型是通过使用所有标签的数据训练得到的,所以预模型可以准确地分辨出不同标签数据之间的差别,能够提取出不同标签数据的关键特征;客户端依次将每个标签对应的原始数据输入预训练模型中,将模型中间层的输出作为数据预处理的输出。

10、优选的,在训练阶段,客户端按照数据标签分别完成单分类模型的训练,并将模型上传服务器,包括:客户端将预处理后的数据按照标签进行分类;客户端对于每个标签对应的数据使用自编码器进行重构训练;客户端上传每个经过本地训练后自编码器的模型参数及该模型对应的标签。

11、优选的,服务器选择模型上传完成的标签对应的模型进行异步分类聚合,并将聚合后的模型按标签重新下发给客户端,包括:服务器每隔一段时间检查每个标签对应的单分类模型上传完成情况;服务器选择模型上传完成的标签对应的模型进行聚合;服务器将聚合后的模型按标签重新下发给客户端。

12、优选的,在预测阶段,将待预测数据也使用预模型进行数据预处理操作并整合多个单分类模型和预模型的输出,计算归属度,确定预测结果,包括:将待预测数据输入预模型中,完成待预测数据的预处理操作;将预处理后的待预测数据输入到每个标签对应的自编码器模型中计算重构误差;将待预测数据输入到预模型中计算激活向量;根据重构误差和激活向量计算数据关于某个标签的归属度;选择归属度最大的对应的标签作为待预测数据的预测标签。

13、优选的,计算重构误差包括:

14、rec_x_procesedj=ae_modelj(x_procesed)

15、rec_lossj=loss(x_procesed,rec_x_procesedj)

16、其中,x_procesed为经过数据预处理的待预测数据,ae_modelj()为标签j对应的自编码器模型,rec_x_procesedj为标签j对应的自编码器模型对x_procesed的重构输出,loss()为自编码模型的损失函数,rec_lossj为待预测数据经过标签j对应的自编码器重构后的重构误差;

17、计算激活向量包括:

18、v(x)=pre_model(x)

19、其中,x为未经过数据预处理的待预测数据,pre_model()为预模型,v(x)为x的激活向量,即预模型的输出层未经过softmax层处理的输出;

20、计算待预测数据对标签j的归属度:

21、

22、其中,为未经过数据预处理的待预测数据的激活向量中标签j的激活值的三次方,belongj(x)为待预测数据对标签j的归属度;

23、获得待预测数据的预测标签label包括:

24、label=argmax(belong(x))

25、其中,belong(x)为待预测数据对标签的归属度矩阵,argmax()为输出最大值对应的输入的函数。

26、第二方面,本发明提供一种基于自编码器的单分类联邦学习系统,包括:

27、预处理模块,用于在数据预处理阶段,客户端共同训练预模型进行原始数据的特征提取和分析;

28、训练模块,用于在训练阶段,客户端按照数据标签分别完成单分类模型的训练,并将模型上传服务器;

29、分类聚合模块,用于服务器选择模型上传完成的标签对应的模型进行异步分类聚合,并将聚合后的模型按标签重新下发给客户端;

30、迭代模块,用于客户端加载对应标签的模型后,迭代上述本地分类训练和上传本地模型过程,直至模型收敛或者达到预设条件;

31、预测模块,用于在预测阶段,将待预测数据也使用预模型进行数据预处理操作并整合多个单分类模型和预模型的输出,计算归属度,确定预测结果。

32、第三方面,本发明提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质用于存储计算机指令,所述计算机指令被处理器执行时,实现如上所述的基于自编码器的单分类联邦学习方法。

33、第四方面,本发明提供一种计算机程序产品,包括计算机程序,所述计算机程序当在一个或多个处理器上运行时,用于实现如上所述的基于自编码器的单分类联邦学习方法。

34、第五方面,本发明提供一种电子设备,包括:处理器、存储器以及计算机程序;其中,处理器与存储器连接,计算机程序被存储在存储器中,当电子设备运行时,所述处理器执行所述存储器存储的计算机程序,以使电子设备执行实现如上所述的基于自编码器的单分类联邦学习方法的指令。

35、本发明有益效果:不需要共享客户端本地的原始数据信息及对客户端本地的数据类别没有要求,并且通过利用单分类模型抑制客户端模型间的离散程度和利用预模型进行相互纠正,提高全局模型的性能,能够在保护客户端隐私的情况下有效应对各种non-iid情况;每个单分类器的训练都不影响其他分类器,因此每个标签对应的分类器一旦完成训练,就可以异步聚合更新,从而提高训练过程中的通信效率。

36、本发明附加方面的优点,将在下述的描述部分中更加明显的给出,或通过本发明的实践了解到。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1