一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种去中心的分簇联邦学习方法及系统与流程

2022-02-22 04:38:24 来源:中国专利 TAG:


1.本发明涉及机器学习技术领域,特别是涉及一种去中心的分簇联邦学习方法及系统。


背景技术:

2.近年来,随着大数据和物联网的快速发展,数据量呈现爆炸式增长。在海量数据中,用户的隐私保护问题显得格外的突出。在普通的分布式机器学习的训练过程中,若干参与方的本地数据会直接发送至服务器,进行统一训练,这无疑会增大用户隐私泄露的危险。联邦学习的设计目标是在保证每个参预训练用户数据的安全前提下,无需将所有数据集中到中央服务器就能够训练机器学习模型的技术,参与方的数据只需在本地就可以完成模型的训练,从而在一定程度上解决了隐私保护的问题,让参与方的数据能够在多客户端的参与下进行安全的交互建模和学习,从而达到理想的共同收益,联邦学习由google在2016年首次提出,之后被应用于移动设备输入法的下一词联想模型的训练和部署。
3.但是,如果存在具有恶劣行为的或者是对某些参与方的数据好奇的第三方中心服务器时,我们将训练好的数据贡献给第三方中心服务器,可能会发生数据滥用或者是数据二次分发的风险,以至于某些参与方的数据被泄露。


技术实现要素:

4.本发明的目的是提供一种去中心的分簇联邦学习方法及系统,减小了non-iid数据对模型训练的影响,同时也降低了第三方中心服务器泄露数据的风险。
5.为实现上述目的,本发明提供了如下方案:
6.一种去中心的分簇联邦学习方法,包括:
7.对所有参与方进行预训练,得到每个所述参与方的模型权重和评分分数;
8.根据所述模型权重,利用k-means算法对所有所述参与方进行分簇处理,得到多个簇;
9.确定每个所述簇中评分分数最高的参与方为簇头参与方,确定所述簇中除所述簇头参与方之外的参与方为非簇头参与方;
10.将所述簇头参与方作为对应簇的服务器,对每个所述簇进行联邦训练,得到多个全局模型。
11.可选的,所述对所有参与方进行预训练,得到每个所述参与方的模型权重和评分分数,具体包括:
12.确定任一所述参与方为中心参与方;
13.确定除所述中心参与方之外的参与方为非中心参与方;
14.所述中心参与方生成第一全局初始模型,并将所述第一全局初始模型分别发送给多个所述非中心参与方;
15.所述中心参与方和多个所述非中心参与方分别利用本地数据对所述第一全局初
始模型进行训练,得到多个第一本地模型;
16.确定多个所述第一本地模型的准确率和模型权重;
17.根据多个所述第一本地模型的准确率和模型权重,确定每个所述第一本地模型的评分分数;
18.确定所述第一本地模型的模型权重为对应参与方的模型权重;
19.确定所述第一本地模型的评分分数为对应参与方的评分分数。
20.可选的,所述评分分数的计算公式为:s
core
=wi·
acci;
21.其中,score为评分分数,wi为参与方i的模型权重;acci为参与方i的准确率。
22.可选的,所述根据所述模型权重,利用k-means算法对所有所述参与方进行分簇处理,得到多个簇,具体包括:
23.根据多个所述参与方的模型权重,利用公式sim(xi,xj)=||xi,xj||,分别两两计算多个所述参与方之间的余弦相似度;
24.根据多个所述余弦相似度,构建余弦相似度矩阵;
25.根据所述余弦相似度矩阵,利用k-means算法对所有所述参与方进行分簇处理,得到多个簇;
26.其中,sim(xi,xj)表示参与方i的模型权重和参与方j的模型权重之间的余弦相似度;xi表示参与方i的模型权重;xj表示参与方j的模型权重。
27.可选的,所述将所述簇头参与方作为对应簇的服务器,对每个所述簇进行联邦训练,得到多个全局模型,具体包括:
28.确定任一簇为当前簇;
29.所述当前簇中的簇头参与方生成第二全局初始模型,并将所述第二全局初始模型分别发送给当前簇中的多个非簇头参与方;
30.确定所述第二全局初始模型为参与方初始模型;
31.所述当前簇中的所有参与方分别利用本地数据对所述参与方初始模型进行训练,得到多个第二本地模型;
32.所述簇头参与方将多个所述第二本地模型进行聚合处理,得到聚合模型;
33.判断所述聚合模型是否收敛,得到判断结果;
34.若所述判断结果为否,则将所述聚合模型作为参与方初始模型,并返回步骤“所述当前簇中的所有参与方分别利用本地数据对所述参与方初始模型进行训练,得到多个第二本地模型”;
35.若所述判断结果为是,则确定所述聚合模型为所述当前簇的全局模型。
36.一种去中心的分簇联邦学习系统,包括:
37.预训练模块,用于对所有参与方进行预训练,得到每个所述参与方的模型权重和评分分数;
38.分簇处理模块,用于根据所述模型权重,利用k-means算法对所有所述参与方进行分簇处理,得到多个簇;
39.簇头参与方确定模块,用于确定每个所述簇中评分分数最高的参与方为簇头参与方,确定所述簇中除所述簇头参与方之外的参与方为非簇头参与方;
40.全局模型确定模块,用于将所述簇头参与方作为对应簇的服务器,对每个所述簇
进行联邦训练,得到多个全局模型。
41.可选的,所述预训练模块,具体包括:
42.中心参与方当前单元,用于确定任一所述参与方为中心参与方;
43.非中心参与方当前单元,用于确定除所述中心参与方之外的参与方为非中心参与方;
44.第一全局初始模型生成单元,用于使所述中心参与方生成第一全局初始模型,并将所述第一全局初始模型分别发送给多个所述非中心参与方;
45.第一本地模型确定单元,用于使所述中心参与方和多个所述非中心参与方分别利用本地数据对所述第一全局初始模型进行训练,得到多个第一本地模型;
46.第一模型权重确定单元,用于确定多个所述第一本地模型的准确率和模型权重;
47.第一评分分数确定单元,用于根据多个所述第一本地模型的准确率和模型权重,确定每个所述第一本地模型的评分分数;
48.第二模型权重确定单元,用于确定所述第一本地模型的模型权重为对应参与方的模型权重;
49.第二评分分数确定单元,用于确定所述第一本地模型的评分分数为对应参与方的评分分数。
50.可选的,所述评分分数的计算公式为:score=wi·
acci;
51.其中,score为评分分数,wi为参与方i的模型权重;acci为参与方i的准确率。
52.可选的,所述分簇处理模块,具体包括:
53.余弦相似度计算单元,用于根据多个所述参与方的模型权重,利用公式sim(xi,xj)=||xi,xj||,分别两两计算多个所述参与方之间的余弦相似度;
54.余弦相似度矩阵构建单元,用于根据多个所述余弦相似度,构建余弦相似度矩阵;
55.分簇处理单元,用于根据所述余弦相似度矩阵,利用k-means算法对所有所述参与方进行分簇处理,得到多个簇;
56.其中,sim(xi,xj)表示参与方i的模型权重和参与方j的模型权重之间的余弦相似度;xi表示参与方i的模型权重;xj表示参与方j的模型权重。
57.可选的,所述全局模型确定模块,具体包括:
58.当前簇确定单元,用于确定任一簇为当前簇;
59.第二全局初始模型生成单元,用于使所述当前簇中的簇头参与方生成第二全局初始模型,并将所述第二全局初始模型分别发送给当前簇中的多个非簇头参与方;
60.参与方初始模型确定单元,用于确定所述第二全局初始模型为参与方初始模型;
61.第二本地模型确定单元,用于使所述当前簇中的所有参与方分别利用本地数据对所述参与方初始模型进行训练,得到多个第二本地模型;
62.聚合模型确定单元,用于使所述簇头参与方将多个所述第二本地模型进行聚合处理,得到聚合模型;
63.判断单元,用于判断所述聚合模型是否收敛,得到判断结果;若所述判断结果为否,则调用参与方初始模型更新单元;若所述判断结果为是,则调用全局模型确定单元;
64.参与方初始模型更新单元,用于将所述聚合模型作为参与方初始模型,并调用所述第二本地模型确定单元;
65.全局模型确定单元,用于确定所述聚合模型为所述当前簇的全局模型。
66.根据本发明提供的具体实施例,本发明公开了以下技术效果:
67.本发明提供了一种去中心的分簇联邦学习方法及系统,方法包括:对所有参与方进行预训练,得到每个参与方的模型权重和评分分数;根据模型权重,利用k-means算法对所有参与方进行分簇处理,得到多个簇;确定每个簇中评分分数最高的参与方为簇头参与方,确定簇中除簇头参与方之外的参与方为非簇头参与方;将簇头参与方作为对应簇的服务器,对每个簇进行联邦训练,得到多个全局模型。本发明通过将簇头参与方作为对应簇的服务器,对每个簇进行联邦训练,能够减了non-iid数据对模型训练的影响,同时也降低第三方中心服务器泄露数据的风险。
附图说明
68.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
69.图1为本发明实施例中去中心的分簇联邦学习方法流程图;
70.图2为本发明实施例中参与方分簇流程图;
71.图3为本发明实施例中去中心的分簇的去中心的分簇联邦学习示意图。
具体实施方式
72.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
73.本发明的目的是提供一种去中心的分簇联邦学习方法及系统,减小了non-iid数据对模型训练的影响,同时也降低了第三方中心服务器泄露数据的风险。
74.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
75.图1为本发明实施例中去中心的分簇联邦学习方法流程图,如图1,本发明提供了一种去中心的分簇联邦学习方法,包括:
76.步骤101:对所有参与方进行预训练,得到每个参与方的模型权重和评分分数;
77.步骤102:根据模型权重,利用k-means算法对所有参与方进行分簇处理,得到多个簇;
78.步骤103:确定每个簇中评分分数最高的参与方为簇头参与方,确定簇中除簇头参与方之外的参与方为非簇头参与方;
79.步骤104:将簇头参与方作为对应簇的服务器,对每个簇进行联邦训练,得到多个全局模型。
80.步骤101,具体包括:
81.确定任一参与方为中心参与方;
82.确定除中心参与方之外的参与方为非中心参与方;
83.中心参与方生成第一全局初始模型,并将第一全局初始模型分别发送给多个非中心参与方;
84.中心参与方和多个非中心参与方分别利用本地数据对第一全局初始模型进行训练,得到多个第一本地模型;
85.确定多个第一本地模型的准确率和模型权重;
86.根据多个第一本地模型的准确率和模型权重,确定每个第一本地模型的评分分数;
87.确定第一本地模型的模型权重为对应参与方的模型权重;
88.确定第一本地模型的评分分数为对应参与方的评分分数。
89.其中,评分分数的计算公式为:score=wi·
acci;
90.其中,score为评分分数,wi为参与方i的模型权重;acci为参与方i的准确率。
91.步骤102,具体包括:
92.根据多个参与方的模型权重,利用公式sim(xi,xj)=||xi,xj||,分别两两计算多个参与方之间的余弦相似度;
93.根据多个余弦相似度,构建余弦相似度矩阵;
94.根据余弦相似度矩阵,利用k-means算法对所有参与方进行分簇处理,得到多个簇;
95.其中,sim(xi,xj)表示参与方i的模型权重和参与方j的模型权重之间的余弦相似度;xi表示参与方i的模型权重;xj表示参与方j的模型权重。
96.步骤104,具体包括:
97.确定任一簇为当前簇;
98.当前簇中的簇头参与方生成第二全局初始模型,并将第二全局初始模型分别发送给当前簇中的多个非簇头参与方;
99.确定第二全局初始模型为参与方初始模型;
100.当前簇中的所有参与方分别利用本地数据对参与方初始模型进行训练,得到多个第二本地模型;
101.簇头参与方将多个第二本地模型进行聚合处理,得到聚合模型;
102.判断聚合模型是否收敛,得到判断结果;
103.若判断结果为否,则将聚合模型作为参与方初始模型,并返回步骤“当前簇中的所有参与方分别利用本地数据对参与方初始模型进行训练,得到多个第二本地模型”;
104.若判断结果为是,则确定聚合模型为当前簇的全局模型。
105.具体的,本技术提供了了一种去中心的分簇的联邦学习方法。该方法是无第三方中心服务器参与训练过程,由参与训练的参与方进行承担第三方中心服务器的功能的一种方法。该方法降低了第三方中心服务器泄露参与方数据信息的风险,与存在第三方中心服务器的分簇的联邦学习的算法相比,有着相似的性能、准确度和收敛速度。本方法的具体方案如下所示:
106.step 1:进行一轮的预训练。
107.在所有的参与方中,随机选择一个参与方作为临时负责中心服务器的相关功能。
该参与方初始化一个全局模型,并将该全局模型发送给参与训练的其他参与方。
108.在所有参与方(包含作为临时负责中心服务器相关功能的参与方)中进行一个通信轮次的本地训练。本地参与方需要进行e个epochs的本地训练,得到训练好的本地参与方的权重参数wi,与此同时,会计算参与方自己的评分分数,计算方法如公式(1)所示。之后,该参与方将本地权重参数wi和评分分数score上传至临时负责中心服务器的参与方。为了保证各方之间的通信安全,我们将使用同态加密的方法对上传的本地权重参数wi和评分分数score进行加密。
109.score=wi·
acciꢀꢀ
(1)
110.step 2:对参与训练的参与方进行分簇。
111.临时负责中心服务器的参与方收到所有参与方的本地模型权重参数wi的同时,会收到每个参与方的一个评分分数score。该评分分数score是在分簇之后,选择簇头参与方的一个重要依据。
112.如图2,将每个参与方上传的本地模型权重参数wi构建一个相似度矩阵δw。之后使用k-means算法对参与方进行分簇,使具有梯度方向大致相似的参与方放在同一个簇中,簇的数量将由k-means算法中的k值而定。
113.分簇结束之后,在簇ck中,根据簇内所有的参与方的评分分数score进行从大到小的排序。选择分数最大的参与方作为簇头参与方,用于负责该簇中中心服务器的相关功能。
114.在k-means算法中,采用余弦相似度来衡量每个参与方之间的相似性,假设参与方i和参与方j的余弦相似度表示如下:
115.sim(xi,xj)=||xi,xj||,
116.假设共有n个客户端参与训练及分成k个簇。经过k-means 算法之后,可以得到客户端簇c1,c2,

,ck,有n={c1∪c2∪

∪ck}。
117.step 3:进行联邦训练。
118.如图3,簇头参与方承担第三方中心服务器的功能,例如:初始化全局模型,聚合操作等。在每个簇中,各参与方与簇头参与方进行通信时,都会使用同态加密方法对上传的数据信息进行加密。此外,簇头参与方也要进行本地训练。
119.每个簇的簇头参与方初始化全局模型,并将该全局模型发送给簇中其他的参与方。
120.在簇ck中,簇中的参与方i收到簇头参与方k发送的全局模型之后,将自己所持有的本地数据与全局模型进行本地训练,并得到本地模型
121.当所有的参与方训练结束后,即每个参与方在本地完成e个epochs之后,将训练好的本地模型上传至簇头参与方k,等待簇头参与方k的聚合操作。
122.簇头参与方k收到该簇中所有参与方的本地模型之后,进行聚合操作,形成新的全局模型。因为一共有k个簇,所有共产生了k个全局模型,即
123.簇头参与方k将新的全局模型继续发送至该簇中的参与方中,进行下一轮的训练。直到所有通信轮次训练完成或者系统设置的整体运行时间结束为止。
124.本发明避免了恶劣的或对某些参与方的数据信息是好奇的第三方中心服务器的出现。在一定程度上提高了算法的安全性。此外,本发明在与带第三方中心服务器的分簇的联邦学习算法相比,具有相似的性能、准确率和收敛速度。
125.此外,本发明还提供了一种去中心的分簇联邦学习系统,包括:
126.预训练模块,用于对所有参与方进行预训练,得到每个参与方的模型权重和评分分数;
127.分簇处理模块,用于根据模型权重,利用k-means算法对所有参与方进行分簇处理,得到多个簇;
128.簇头参与方确定模块,用于确定每个簇中评分分数最高的参与方为簇头参与方,确定簇中除簇头参与方之外的参与方为非簇头参与方;
129.全局模型确定模块,用于将簇头参与方作为对应簇的服务器,对每个簇进行联邦训练,得到多个全局模型。
130.其中,预训练模块,具体包括:
131.中心参与方当前单元,用于确定任一参与方为中心参与方;
132.非中心参与方当前单元,用于确定除中心参与方之外的参与方为非中心参与方;
133.第一全局初始模型生成单元,用于使中心参与方生成第一全局初始模型,并将第一全局初始模型分别发送给多个非中心参与方;
134.第一本地模型确定单元,用于使中心参与方和多个非中心参与方分别利用本地数据对第一全局初始模型进行训练,得到多个第一本地模型;
135.第一模型权重确定单元,用于确定多个第一本地模型的准确率和模型权重;
136.第一评分分数确定单元,用于根据多个第一本地模型的准确率和模型权重,确定每个第一本地模型的评分分数;
137.第二模型权重确定单元,用于确定第一本地模型的模型权重为对应参与方的模型权重;
138.第二评分分数确定单元,用于确定第一本地模型的评分分数为对应参与方的评分分数。
139.具体的,评分分数的计算公式为:score=wi·
acci;
140.其中,score为评分分数,wi为参与方i的模型权重;acci为参与方i的准确率。
141.具体的,分簇处理模块,具体包括:
142.余弦相似度计算单元,用于根据多个参与方的模型权重,利用公式sim(xi,xj)=||xi,xj||,分别两两计算多个参与方之间的余弦相似度;
143.余弦相似度矩阵构建单元,用于根据多个余弦相似度,构建余弦相似度矩阵;
144.分簇处理单元,用于根据余弦相似度矩阵,利用k-means算法对所有参与方进行分簇处理,得到多个簇;
145.其中,sim(xi,xj)表示参与方i的模型权重和参与方j的模型权重之间的余弦相似度;xi表示参与方i的模型权重;xj表示参与方j的模型权重。
146.优选的,全局模型确定模块,具体包括:
147.当前簇确定单元,用于确定任一簇为当前簇;
148.第二全局初始模型生成单元,用于使当前簇中的簇头参与方生成第二全局初始模型,并将第二全局初始模型分别发送给当前簇中的多个非簇头参与方;
149.参与方初始模型确定单元,用于确定第二全局初始模型为参与方初始模型;
150.第二本地模型确定单元,用于使当前簇中的所有参与方分别利用本地数据对参与
方初始模型进行训练,得到多个第二本地模型;
151.聚合模型确定单元,用于使簇头参与方将多个第二本地模型进行聚合处理,得到聚合模型;
152.判断单元,用于判断聚合模型是否收敛,得到判断结果;若判断结果为否,则调用参与方初始模型更新单元;若判断结果为是,则调用全局模型确定单元;
153.参与方初始模型更新单元,用于将聚合模型作为参与方初始模型,并调用第二本地模型确定单元;
154.全局模型确定单元,用于确定聚合模型为当前簇的全局模型。
155.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
156.本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献