协作式的模型训练方法及装置

文档序号:27034298发布日期:2021-10-24 06:11阅读:102来源:国知局
协作式的模型训练方法及装置

1.本发明涉及深度学习技术领域,尤其是涉及一种协作式的模型训练方法及装置。


背景技术:

2.联邦学习(fl)是一个以隐私为导向的框架,它允许分布式边缘设备联合训练一个共享的全局模型,而不把它们的敏感数据传输给集中式服务器。联邦学习的目的是平衡获得大量数据和保护敏感信息这两者之间的冲突。然而,每个边缘设备上本地存储的数据通常是非独立同分布的(not independent andidentically distributed,non

iid)。这种数据的异质性给全局模型的优化和收敛带来了严重的挑战。
3.目前,为了解决联邦学习框架中与通信有关的挑战,引入了一种高效的模型更新聚合算法,即federated averaging(fedavg)。然而联邦学习仍然面临着统计方面的挑战。一方面,基于fedavg的变体聚合算法依赖于分布式随机梯度下降(d

sgd),它被广泛用于在训练数据的独立同分布(identically distribute,iid)采样设置下迭代训练深度学习模型。使用iid抽样方法从训练样本中学习的目的是为了确保随机梯度是全梯度的无偏估计。在实践中确保每个边缘客户的本地数据总是iid是不现实;另一方面,研究表明,数据的异质性,即non

iid分布,可能会降低收敛速度,这不利于获得一个稳健的共享模型。


技术实现要素:

4.本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明实施例提出一种,能够提高联邦学习框架的性能、准确性和收敛速度,不需要共享任何数据、不需要基于特定模型,并提供完整的隐私保护,精度波动更小,从而减少了数据对模型收敛的负面影响,适用于大规模用户场景。
5.本发明实施例还提出另一种协作式的模型训练方法。
6.本发明实施例还提出另一种协作式的模型训练方法。
7.本发明实施例还提出一种协作式的模型训练装置。
8.本发明实施例还提出另一种协作式的模型训练装置。
9.根据本发明的第一方面实施例的协作式的模型训练方法,包括:
10.从多个客户端对应的客户端集中选取出共享数据集;
11.根据所述共享数据集和预设分数参与联邦学习训练,得到分类模型参数;
12.将所述分类模型参数广播至所述多个客户端;
13.获取所述多个客户端返回的更新模型参数=;
14.根据所述更新模型参数=进行聚合,得到多个全局二元分类模型;
15.将所述多个全局二元分类模型集成为全局多分类模型。
16.根据本发明第一方面实施例的协作式的模型训练方法,至少具有如下有益效果:首先,通过从多个客户端对应的客户端集中选取出共享数据集,然后根据共享数据集和预设分数参与联邦学习训练,得到分类模型参数,再将分类模型参数广播至多个客户端,继而
获取多个客户端返回的更新模型参数和更新二元分类模型,并根据更新模型参数进行聚合,得到多个全局二元分类模型,最后将多个全局二元分类模型集成为全局多分类模型,能够提高联邦学习框架的性能、准确性和收敛速度,不需要共享任何数据、不需要基于特定模型,并提供完整的隐私保护,精度波动更小,从而减少了数据对模型收敛的负面影响,适用于大规模用户场景。
17.根据本发明的一些实施例,所述从多个客户端对应的客户端集中选取出共享数据集,包括:获取所述多个客户端对应的客户标签;根据所述客户标签从多个所述客户端集中选取出所述共享数据集。
18.根据本发明的一些实施例,所述根据所述更新模型参数进行聚合,得到多个全局二元分类模型,包括:获取所述更新模型参数对应的更新二元分类模型;根据所述更新二元分类模型对所述更新模型参数进行分组,得到多个待聚合分类组;分别提取每个所述待聚合分类组的待聚合参数;根据所述待聚合参数和所述更新二元分类模型进行聚合,得到所述多个全局二元分类模型。
19.根据本发明的第二方面实施例的协作式的模型训练方法,包括:
20.获取服务器广播的分类模型参数;
21.获取多个本地二元分类模型对应的本地数据标签;
22.根据所述本地数据标签初始化多个所述本地二元分类模型;
23.根据本地数据集优化初始化后的多个所述本地二元分类模型,得到多个更新模型参数和多个更新二元分类模型;
24.将所述更新模型参数发回至所述服务器。
25.根据本发明第二方面实施例的协作式的模型训练方法,至少具有如下有益效果:首先,获取服务器广播的分类模型参数,获取多个本地二元分类模型对应的本地数据标签,然后根据所述本地数据标签初始化多个所述本地二元分类模型,再根据本地数据集优化初始化后的多个所述本地二元分类模型,得到多个更新模型参数和多个更新二元分类模型,最后将所述更新模型参数发回至所述服务器,能够大大减少的额外计算负担,提高数据的准确率,不需要共享任何数据,并提供完整的隐私保护,提高联邦学习框架的性能和收敛性。
26.根据本发明的一些实施例,所述根据本地数据集优化初始化后的多个所述本地二元分类模型,得到多个更新模型参数和多个更新二元分类模型,包括:获取所述本地二元分类模型对应的目标函数;根据所述本地数据集、所述目标函数执行随机梯度下降,优化所述本地二元分类模型,得到所述更新模型参数和所述更新二元分类模型。
27.根据本发明第三方面实施例的协作式的模型训练方法,用于服务器和客户端,服务器与客户端通信连接,包括:
28.服务器执行如本发明第一方面实施例所述的协作式的模型训练方法,客户端执行如本发明第二方面实施例所述的协作式的模型训练方法。
29.根据本发明第三方面实施例的协作式的模型训练方法,至少具有如下有益效果:通过服务端执行本发明第一方面实施例的协作式的模型训练方法,通过客户端执行本发明第二方面实施例的协作式的模型训练方法,能够提高联邦学习框架的性能、准确性和收敛性,精度波动更小,从而减少了数据对模型收敛的负面影响,适用于大规模用户场景。
30.根据本发明第四方面实施例的协作式的模型训练装置,包括:
31.选取模块,用于从多个客户端对应的客户端集中选取出共享数据集;
32.训练模块,用于根据所述共享数据集和预设分数参与联邦学习训练,得到分类模型参数;
33.广播模块,用于将所述分类模型参数广播至所述多个客户端;
34.第一获取模块,用于获取所述多个客户端返回的更新模型参数;
35.聚合模块,用于根据所述更新模型参数进行聚合,得到多个全局二元分类模型;
36.集成模块,用于将所述多个全局二元分类模型集成为全局多分类模型。
37.根据本发明第四方面实施例的协作式的模型训练装置,至少具有如下有益效果:通过执行本发明第一方面实施例的协作式的模型训练方法,能够提高联邦学习框架的性能、准确性和收敛速度,不需要共享任何数据、不需要基于特定模型,并提供完整的隐私保护,精度波动更小,从而减少了数据对模型收敛的负面影响,适用于大规模用户场景。
38.根据本发明第五方面实施例的协作式的模型训练装置,包括:
39.第二获取模块,用于获取服务器广播的分类模型参数;
40.第三获取模块,用于获取多个本地二元分类模型对应的本地数据标签;
41.初始化模块,用于根据所述本地数据标签初始化多个所述本地二元分类模型;
42.优化模块,用于根据本地数据集优化初始化后的多个所述本地二元分类模型,得到多个更新模型参数和多个更新二元分类模型;
43.返回模块,用于将所述更新模型参数发回至所述服务器。
44.根据本发明第五方面实施例的协作式的模型训练装置,至少具有如下有益效果:通过执行本发明第二方面实施例的协作式的模型训练方法,能够大大减少的额外计算负担,提高数据的准确率,不需要共享任何数据,并提供完整的隐私保护,提高联邦学习框架的性能和收敛性。
45.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
46.本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
47.图1为本发明一实施例的协作式的模型训练方法的流程示意图;
48.图2为本发明实施例的fedova算法的示意图;
49.图3为本发明另一实施例的的协作式的模型训练方法的流程示意图;
50.图4为本发明一实施例的协作式的模型训练装置的结构示意图;
51.图5为本发明另一实施例的协作式的模型训练装置的结构示意图。
52.附图标记:
53.选取模块400、训练模块410、广播模块420、第一获取模块430、聚合模块440、集成模块450、第二获取模块500、第三获取模块510、初始化模块520、优化模块530、返回模块540。
具体实施方式
54.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
55.本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
56.本发明实施例为重点解决由部分类别缺失引起的non

iid分布问题。在客户non

iid数据的限制下,联邦学习中的non

iid问题意味着每个客户不能通过数据共享获得足够的多类标签来训练高精度的多类分类模型,这限制了联邦学习框架的可扩展性,因此不能在客户端直接训练一个多类模型。为此,可以通过使用one

vs

all方法将non

iid数据上的联合多类分类任务分解为客户端的多个二元分类任务。因此,在实施例中,可以结合one

vs

all方法(一对多算法,即使用多个分类器,对于每一个类假设其为正类,然后使用一次二分类的判别算法即可分别得出各个类的分类)和fedavg(联邦平均算法,fedavg思想的精髓就在于将各用户自己训练的权重整合起来进行平均,即根据所拥有的样本数的不同,在平均过程中所占比重也不同)训练方案的思想,设计federated one

vs

all(fedova)算法。这种算法通过将多分类任务分解为多个二元分类任务,可以有效地处理联邦学习中的non

iid数据。fedova算法的概述可以参照图2所示。fedova算法首先将多类分类问题分解为更直接的二元分类问题,然后使用集成学习的方法将它们各自的输出结合起来。
57.参照图1,根据本发明第一方面实施例的协作式的模型训练方法,包括:
58.步骤s100,从多个客户端对应的客户端集中选取出共享数据集。
59.其中,客户端可以是多个;客户端集可以是每个客户端的数据集;可以选取一部分客户端的集作为客户端共享数据集к。可选的,设每个客户有一个本地数据集d
k
,k∈{1,2,...,k},总类数为n。可以从所有客户端中选择一部分的客户端,然后获取这部分客户端的数据(即客户端的d
k
)作为共享数据集。具体的,针对多个客户端,可以设置不同的客户端的标签。对于每一轮训练,服务器根据标签随机选择部分客户端集作为共享数据集к参与联邦学习训练。
60.步骤s110,根据共享数据集和预设分数参与联邦学习训练,得到分类模型参数。
61.其中,分类模型参数可以是服务器根据共享数据集和预设分数进行联邦学习训练后所得的二元分类器模型参数。可选的,预设分数可以根据需求设置。设预设分数为c,可以根据随机选取得到的共享数据集к,以预设分数c参与联邦学习训练,可以加快训练速度的收敛速度。通过联邦学习训练得到二元分类器模型参数即得到分类模型参数其中i表示分类器id,i∈{1,2,...,n}。
62.步骤s120,将分类模型参数广播至多个客户端。
63.可选的,服务器可以将分类模型参数广播给多个客户端,使得多个客户端在收到分类模型参数之后,可以进行本地训练,得到更新结果。
64.步骤s130,获取多个客户端返回的更新模型参数。
65.其中,更新模型参数可以是通过本地训练优化分类器后所得的二元分类器参数。
可选的,客户端在进行本地训练时,对于每一种标签都需要训练一个分类模型,即训练多个模型。每个客户端通过使用本地数据集d
k
执行随机梯度下降来优化分类器,然后将更新后所得的更新模型参数返回服务器。
66.步骤s140,根据更新模型参数进行聚合,得到多个全局二元分类模型。
67.其中,全局二元分类模型可以是全局的二分类器模型,全局二元分类模型可以是多个。可选的,由于每个客户端只训练部分分类器,不返回所有分类器的参数,而且每个分类器之间是独立的,因而可以进行异步更新以减少计算负担。具体的,服务器根据相应的二元分类器模型对返回的更新模型参数进行分组,然后汇总每组g
i
的参数进行聚合,得到对应的全局二元分类模型。对于每个本地客户端拥有多个本地二分类的模型,在将更新模型参数返回服务器之后,服务器对每一类别的本地二元分类模型聚合为多个全局的二元分类模型,即得到多个全局二元分类模型。
68.步骤s150,将多个全局二元分类模型集成为全局多分类模型。
69.可选的,上述聚合步骤s140是重复进行的,可以将多个全局二元分类模型集成为一个全局的多分类模型,直到最后的集成分类器达到收敛效果,得到全局多分类模型。fedova中的组件二元分类器之间没有冗余,每个分类器的训练都不影响其他分类器。因此,在联邦学习训练过程中,组件二元分类器一旦完成训练就可以独立更新,从而提高了客户端和服务器的通信效率,没有给联邦学习框架带来额外的操作。
70.上述协作式的模型训练方法,首先通过从多个客户端对应的客户端集中选取出共享数据集,然后根据共享数据集和预设分数参与联邦学习训练,得到分类模型参数,再将分类模型参数广播至多个客户端,继而获取多个客户端返回的更新模型参数和更新二元分类模型,并根据更新模型参数进行聚合,得到多个全局二元分类模型,最后将多个全局二元分类模型集成为全局多分类模型,能够提高联邦学习框架的性能、准确性和收敛速度,不需要共享任何数据、不需要基于特定模型,并提供完整的隐私保护,精度波动更小,从而减少了数据对模型收敛的负面影响,适用于大规模用户场景。
71.在本发明的一些实施例中,从多个客户端对应的客户端集中选取出共享数据集,包括:
72.获取多个客户端对应的客户标签。其中,客户标签可以是客户端对应的独特的标签。可选的,对于non

iid配置,可以使用参数1≤l≤10来表示客户端持有的独特标签的数量。例如,non

iid

2意味着每个客户端有两个不同的标签。这是通过将训练数据按标签分组并将每组分为(l
×
k)/n个分区来实现的,最后将具有不同标签的分区分配给每个客户端,并获取该分区的标签,得到每个客户端对应的客户标签。
73.根据该客户标签从多个客户端集中选取出共享数据集。可选的,假设客户端数量k=100个,可以根据不同客户端对应的客户标签,在每轮训练中随机选择20%的客户端进行训练(即预设分数c=0.2),分别获取这20%的客户端的数据,即可得到共享数据集。通过客户标签随机选取参与训练的客户端,得到共享数据集,不需要所有的样本类别,可以在每个任务上获得最佳的准确性,并提供完整的隐私保护。
74.在本发明的一些实施例中,根据更新模型参数进行聚合,得到多个全局二元分类模型,包括:
75.获取更新模型参数对应的更新二元分类模型。其中,更新二元分类模型可以是更
新后的本地二元分类模型。可选的,由于客户端在进行本地训练时,对于每一种标签都需要训练一个分类模型,即训练多个模型,因此,每一类别的更新模型参数对应一个更新后的本地二元分类模型,即更新二元分类模型。
76.根据更新二元分类模型对更新模型参数进行分组,得到多个待聚合分类组。可选的,由于每个客户端只训练部分分类器,不返回所有分类器的参数,而且每个分类器之间是独立的,因而可以进行异步更新以减少计算负担。服务器根据相应的二元分类器模型对返回的参数进行分组,得到多组待聚合分类组。
77.分别提取每个待聚合分类组的待聚合参数。可选的,对于每一组待聚合分类组,可以汇总每组g
i
的参数,得到待聚合参数。
78.根据待聚合参数和更新二元分类模型进行聚合,得到多个全局二元分类模型。可选的,对于更新二元分类模型f
i
,聚合过程可以表述为下述公式


[0079][0080]


中,为待聚合参数,为待聚合分类组,为更新模型参数,k∈{1,2,...,k}。通过上述公式

,对每一类别的更新二元分类模型聚合为多个全局的二元分类模型,即得到多个全局二元分类模型。将多类分类问题分解为更直接的二元分类问题,然后使用集成学习的方法将它们各自的输出结合起来,由于fedova中的组件二元分类器之间没有冗余,每个分类器的训练都不影响其他分类器,通过异步更新,在联邦学习训练过程中,组件二元分类器一旦完成训练就可以独立更新,而提高了客户端和服务器的通信效率。
[0081]
参照图3,根据本发明第二方面实施例的协作式的模型训练方法,包括:
[0082]
步骤s300,获取服务器广播的分类模型参数。
[0083]
可选的,客户端可以接收服务器广播的分类模型参数每个客户端在收到分类模型参数之后,可以进行本地训练,得到更新结果。
[0084]
步骤s310,获取多个本地二元分类模型对应的本地数据标签。
[0085]
其中,本地数据标签可以是本地数据集d
k
对应的标签。可选的,设该客户端的本地数据集为f

mnist数据集,对于f

mnist数据集,如果客户端仅具有标签“1”和标签“2”,则可以得到本地二元分类模型f1和f2对应的本地数据标签“1”和“2”。
[0086]
步骤s320,根据本地数据标签初始化多个本地二元分类模型。
[0087]
可选的,参照图2所示的fedova算法,客户端收到分类模型参数ω
it
后,客户端会根据自己的本地数据标签分布来初始化一些ova组件分类器模型,即将分类模型参数以客户端仅具有标签“1”和标签“2”为例,此时该客户端将初始化本地二元分类模型f1和f2的参数。与多类分类器集成不同,fedova的每个分类器都是专门用来区分特定类别的。这样的设计可以确保不同分类器之间的低误差相关性,从而增强分类器之间的多样性,提高整体分类精度。
[0088]
步骤s330,根据本地数据集优化初始化后的多个本地二元分类模型,得到多个更新模型参数和多个更新二元分类模型。
[0089]
可选的,在联邦学习训练过程中,fedova的目的是为每个类别训练一个专家级的
二元分类器,因此解决了用non

iid数据训练多分类器模型时难以收敛的问题。对于每个二元分类器,每个客户端通过使用本地数据集d
k
执行随机梯度下降来优化分类器,得到更新结果,包括更新后的更新二元分类模型及其对应的更新模型参数。由于fedova中的每个组件分类器都将不属于当前类别的样本分配给其他类别,因此,遗漏负样本类别并不会对分类器的性能产生明显影响。此外,当新的标签类别出现时,fedova只需要为每个新出现的标签创建一个新的分类器,这就允许在联邦学习训练期间适应新的环境而不需要发生剧烈变化。
[0090]
步骤s340,将更新模型参数发回至服务器。
[0091]
可选的,可以将更新结果返回服务器,使得服务器可以根据返回的更新模型参数对每一类别的本地二分类模型聚合为多个全局的二分类模型,最后将这些全局的二分类模型集成为一个全局的多分类模型。
[0092]
上述协作式的模型训练方法,首先,获取服务器广播的分类模型参数,获取多个本地二元分类模型对应的本地数据标签,然后根据所述本地数据标签初始化多个所述本地二元分类模型,再根据本地数据集优化初始化后的多个所述本地二元分类模型,得到多个更新模型参数和多个更新二元分类模型,最后将所述更新模型参数发回至所述服务器,能够大大减少的额外计算负担,提高数据的准确率,不需要共享任何数据,并提供完整的隐私保护,提高联邦学习框架的性能和收敛性。
[0093]
在本发明的一些实施例中,根据本地数据集优化初始化后的多个本地二元分类模型,得到多个更新模型参数,包括:
[0094]
获取本地二元分类模型对应的目标函数。可选的,设对于每个二元分类器,其目标是最小化以下目标函数:
[0095][0096]


中,d
k
表示包含训练样本(x
i
,y
i
)的本地数据集,ω是二元分类器的参数,是一个损失函数,即:
[0097]
根据本地数据集、目标函数执行随机梯度下降,优化本地二元分类模型,得到更新模型参数。可选的,根据如图2所示的fedova算法训练多个二元分类器,并选择最有把握的分类器的输出作为预测结果。可以将本地数据集d
k
、二元分类器参数ω代入上述式

中,得到更新结果,包括更新后的更新二元分类模型及其对应的更新模型参数,可以显著提高联邦学习在non

iid数据场景中的性能,准确率更高,收敛更快。
[0098]
根据本发明第三方面实施例的协作式的模型训练方法,应用于服务器和客户端,服务器与客户端通信连接,包括:
[0099]
服务器执行如本发明第一方面实施例的协作式的模型训练方法,客户端执行如本发明第二方面实施例的协作式的模型训练方法。
[0100]
上述协作式的模型训练方法,通过服务端执行本发明第一方面实施例的协作式的模型训练方法,通过客户端执行本发明第二方面实施例的协作式的模型训练方法,能够提高联邦学习框架的性能、准确性和收敛性,精度波动更小,从而减少了数据对模型收敛的负
面影响,适用于大规模用户场景。
[0101]
下面以一个具体的实施例详细描述本发明实施例的协作式的模型训练方法的过程。需要理解的是,下面描述仅是示例性说明,而不是对本发明的具体限制。
[0102]
协作式的模型训练方法,执行以下步骤:
[0103]
本发明实施例根据图2所示的fedova算法进行协作式的模型训练,fedova的训练过程是对1到t的通信回合重复以下步骤:
[0104]
第一步,初始化二分类器模型参数。
[0105]
假设有一个负责协调的服务器和联邦学习中的客户集其中每个客户有一个本地数据集d
k
,k∈{1,2,...,k},总类数为n。对于每一轮训练,服务器随机选择客户端集的一个子集以分数c参与联邦学习训练(以分数c参与联邦学习训练,可以加快训练速度和全局模型的收敛速度)。然后,服务器将二元分类器模型参数广播给这些客户,其中i表示分类器id,i∈{1,2,...,n}。
[0106]
第二步,客户端进行本地训练。
[0107]
客户端收到二元分类器模型参数后,客户端会根据自己的本地数据标签分布来初始化一些ova组件分类器模型,即例如,对于f

mnist数据集,如果客户端仅具有标签“1”和标签“2”,则此客户端将初始化分类器和的参数。对于每个二元分类器,其目标是最小化上述公式

所示的目标函数,每个客户端通过使用本地数据集执行随机梯度下降来优化分类器,然后将更新结果发回服务器。
[0108]
第三步,服务器对每一类别的本地二分类模型聚合,并集成得到一个全局的多分类模型。
[0109]
由于每个客户端只训练部分分类器,不返回所有分类器的参数,而且每个分类器之间是独立的,因此以进行异步更新以减少计算负担。服务器根据相应的二元分类器模型对返回的参数进行分组,然后汇总每组g
i
的参数。对于模型f
i
,聚合过程可以表述为上述公式

,由此针对每一类别的本地二分类模型进行聚合得到多个全局的二分类模型,上述步骤是重复进行的,直到最后的集成分类器达到收敛效果,最后将这些全局的二分类模型集成为一个全局的多分类模型。因fedova的目的是为每个类别训练一个专家级的二元分类器,因此解决了用non

iid数据训练多分类器模型时难以收敛的问题。
[0110]
在一些具体的实施例中,对本发明实施例中协作式的模型训练方法,可以进行仿真实验:
[0111]
对实验硬件环境进行解释:所有的模拟实验都是使用python 3.7和pytorch1.7开发的,并使用nvidia geforce rtx2080 ti gpu和silver cpu运行,所有实验都是依次执行的,以模拟分布式训练。
[0112]
首先,用non

iid数据评估fedova与fedavg的性能。可以在三个有代表性的公共数据集上进行仿真实验。对于non

iid配置,可以使用参数来表示客户端持有的独特标签的数量。例如,non

iid

2意味着每个客户端有两个不同的标签。这是通过将训练数据按标签分组并将每组分为个分区来实现的,最后将具有不同标签的分区分配给每个客户端。为了实验的一致性,可以对每个数据集采用相同的数据分配方法,并根据non

iid

2的配置将训练数据发送给100个客户。根据non

iid配置将训练样本分配给k=100个客户,并训练10个卷
积神经网络(cnn)作为二元分类器。默认情况下,在每轮训练中选择20%的客户进行训练,即分数c=0.2。每个客户在其本地数据集上训练5个周期,批次大小为15(即e=5和b=15)。
[0113]
为了更好地研究fedova在non

iid数据分布下的性能,可以对不同的non

iid配置进行一系列的模拟,例如,测试non

iid

l且l∈{2,3,5}。无论是使用fedova还是fedavg算法,随着客户本地数据集中标签类别数量的增加,准确率都会提高。然而,仍有两点值得注意:表1为不同non

iid配置下准确率对比,准确率以百分比(%)报告。
[0114][0115]
表1
[0116]
如表1所示,第一是不同的non

iid配置对fedavg的性能有巨大的影响,但对fedova没有明显的影响;第二是在每个non

iid场景中,fedova与fedavg相比也能取得优异的性能。这两个观察结果充分说明了fedova算法对non

iid情况的鲁棒性。
[0117]
其次,对大规模的客户端和小规模的数据下的性能表现的测试。保持训练样本总数不变,并大幅增加客户端数量(即k在f

mnist和cifar

10中从100增加到1000;由于kws的数据量太有限,设定k=500),因此每个客户的本地数据量将相应减少。对于每一轮训练,设置c=0.2,并选择k
×
c的客户参与。,将最后20轮的平均数作为最终的准确性,实验结果如表5所示,表5为不同客户端数量下准确率对比,准确率以百分比(%)报告。
[0118][0119]
表2
[0120]
如表2所示,随着客户数量的增加,使用fedavg会导致准确率的大幅下降;然而fedova的情况并非如此。其原因是fedova算法采用了ova的思想来训练一些二元分类器,客户数量的增加也增加了二元分类器对不同环境的鲁棒性。这样一来,用较少的数据仍有可能取得有竞争力的结果。
[0121]
上述实验证明:基于ova的联邦学习训练算法(fedova算法),它能显著提高联邦学习在non

iid数据场景中的性能。在对既定的计算机视觉和语音识别数据集进行的广泛实验中,fedova算法在各种non

iid配置下始终优于fedavg。实验结果还表明,fedova的收敛速度更快,精度波动更小,从而减少了non

iid数据对模型收敛的负面影响。最后,实验结果表明,fedova可以应用于大规模用户场景,特别是在大量客户(多达1000个客户)各自拥有少量数据的情况下。
[0122]
参照图4,根据本发明第四方面实施例的协作式的模型训练装置,包括:
[0123]
选取模块400,用于从多个客户端对应的客户端集中选取出共享数据集;
[0124]
训练模块410,用于根据共享数据集和预设分数参与联邦学习训练,得到分类模型参数;
[0125]
广播模块420,用于将分类模型参数广播至多个客户端;
[0126]
第一获取模块430,用于获取多个客户端返回的更新模型参数和更新二元分类模型;
[0127]
聚合模块440,用于根据更新模型参数进行聚合,得到多个全局二元分类模型;
[0128]
集成模块450,用于将多个全局二元分类模型集成为全局多分类模型。
[0129]
上述协作式的模型训练装置,通过执行本发明第一方面实施例的协作式的模型训练方法,能够提高联邦学习框架的性能、准确性和收敛速度,不需要共享任何数据、不需要基于特定模型,并提供完整的隐私保护,精度波动更小,从而减少了数据对模型收敛的负面影响,适用于大规模用户场景。
[0130]
参照图5,根据本发明第五方面实施例的协作式的模型训练装置,包括:
[0131]
第二获取模块500,用于获取服务器广播的分类模型参数;
[0132]
第三获取模块510,用于获取多个本地二元分类模型对应的本地数据标签;
[0133]
初始化模块520,用于根据本地数据标签初始化多个本地二元分类模型;
[0134]
优化模块530,用于根据本地数据集优化初始化后的多个本地二元分类模型,得到多个更新模型参数和多个更新二元分类模型;
[0135]
返回模块540,用于将更新模型参数发回至服务器。
[0136]
上述协作式的模型训练装置,通过执行本发明第二方面实施例的协作式的模型训练方法,能够大大减少的额外计算负担,提高数据的准确率,不需要共享任何数据,并提供完整的隐私保护,提高联邦学习框架的性能和收敛性。
[0137]
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
[0138]
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0139]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0140]
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1