一种面向无标签数据的异构联邦学习方法和系统

allin2024-05-30  92



1.本发明涉及异构联邦学习方法的技术领域,具体涉及一种面向无标签数据的异构联邦学习方法和系统。


背景技术:

2.随着科学技术的发展,不仅终端设备种类和数量都在不断的增加,终端设备的计算性能也在不断的提升,而且为了满足工作的需求,很多终端设备上需要执行复杂的计算任务。以无人驾驶的应用场景为例,在无人驾驶的车辆上需要装配车载终端,车载终端需要对车辆周围的环境进行感知和判别,并规划出最优的行进路线。
3.在一个系统中,当有大量这样的终端设备参与计算时,就会形成分布式计算场景,传统的分布式计算方法是将终端用户的数据直接上到服务器端对智能模型进行训练,这种方法虽然能够使各终端设备得到相应的智能模型,但是需要大量的通信开销,更严重的是,这些数据大多包含着用户的隐私,直接对用户的隐私安全构成严重威胁。
4.为了解决上述问题,可以采用联邦学习的方法,在终端设备上对相应的模型进行本地训练,以得到相应的智能模型。由于联邦方法不需要终端设备与服务器进行大量的数据传输,可以减少通信开销并有效避免数据泄露,因此成为了一种热门的分布式训练框架。
5.在实际应用场景中,分布式框架下的终端设备构成异常复杂,不仅数量庞大,而且种类繁多,包括但不限于移动手机、智能穿戴设备、平板电脑、摄像机、无人汽车等。由于各个客户端面临的环境、处理的任务、配备的设备不同,这直接导致了客户端之间的计算能力、通信能力、储存能力存在较大差异。即使是执行同一类任务,各个客户端环境等因素也存在极强的异构性。我们把这个现象称为系统异构。在联邦学习过程中,各个客户端能够参与学习的模型复杂度上限也不尽相同,因此应该为不同的客户端设备适配不同复杂度的模型,以最大化利用客户端数据进行训练。在传统的联邦学习框架下,往往是将全局统一的模型分发到各个客户端,最终将各个客户端结构完全一致的模型进行汇聚得到最终模型,然而这种方式忽略了系统异构问题,导致一些资源不足的客户端训练失败,最终得到的模型未能有效整合所有客户端的数据特征。
6.此外,传统的联邦学习框架还建立在客户端存在大量有标签数据的基础上,然而在绝大多数情况下,在客户端建立足够大的标签数据库本身就是一件极具挑战性的工作,因为数据的标记不仅需要花费大量的时间,而且需要大量的专业人士从事挑战性低、重复性高的劳动,直接导致对人力资源的浪费。例如,在医疗系统中,倘若各个医疗机构都要建立一个带标签的数据库,那么就需要大量医生花费时间和精力从事与治病救人毫无关系的工作,在本就医患比失衡较大的情况下,是对医疗资源的严重浪费。并且在实际应用场景中,客户端存在大量无标签数据,而服务器端存在少量的标记数据,如果仅由服务器端对模型进行训练,则无法充分整合利用客户端上的无标签数据,所得到的模型的泛化性差。
7.综上所述,现有技术中的联邦学习方法,存在客户端资源利用效率低、无标签数据特征整合难的问题。


技术实现要素:

8.本发明的目的是提供一种面向无标签数据的异构联邦学习方法和系统,至少解决上述现有技术中的联邦学习方法存在的存在客户端资源利用效率低、无标签数据特征整合难的问题。
9.为实现上述目的,一方面,本发明提供了一种面向无标签数据的异构联邦学习方法,包括应用于服务器的异构联邦学习子方法和应用于客户端的无标签数据学习子方法;
10.所述异构联邦学习子方法包括:获取多分支的全局深度模型;采用标签数据对所述多分支的全局深度模型进行训练,得到训练后的多分支的全局深度模型;将所述训练后的多分支的全局深度模型拆分为多个分支子模型,分别将各分支子模型作为相应客户端的老师模型并发送给相应的客户端;接收各客户端的客户端模型,并对各客户端模型进行聚合以得到全局多分支学生模型;响应于所述全局多分支学生模型的精确度小于设定精确度,根据所述标签数据对所述全局多分支学生模型进行调整;将调整后的全局多分支学生模型拆分以得到更新后的各老师模型,并将更新后的各老师模型分别发送给相应的客户端;
11.所述无标签数据学习子方法包括:获取相应的老师模型;采用老师模型对客户端本地的无标签数据进行标记,以得到伪标签数据;根据所述伪标签数据对相应的老师模型进行更新,以得到相应的客户端模型;将相应的客户端模型发送给所述服务器。
12.根据本发明的一个实施例,所述获取多分支的全局深度模型包括:获取单出口的全局深度模型;将若干个提前退出的分支子模型插入所述单出口的全局深度模型,以得到多分支的全局深度模型。
13.根据本发明的另一个实施例,所述根据所述伪标签数据对相应的老师模型进行更新包括:获取相应老师模型的精确度;根据相应老师模型的精确度以及所述伪标签数据的数量,确定设定数量的值;选取设定数量的伪标签数据对相应的老师模型进行更新。
14.进一步地,根据本发明的又一个实施例,根据相应老师模型的精确度选取设定数量的伪标签数据对相应的老师模型进行更新的过程中,所采用的损失函数为引入正则项的损失函数。
15.根据本发明的另一个实施例,所述对各客户端模型进行聚合以得到全局多分支学生模型包括:对相同类型客户端模型内部加权以进行同构聚合,以及对不同类型客户端模型之间进行异构聚合。
16.另一方面,本发明还提供一种面向无标签数据的异构联邦学习系统,包括服务器和多个客户端;所述服务器用于执行如下异构联邦学习子方法:获取多分支的全局深度模型;采用标签数据对所述多分支的全局深度模型进行训练,得到训练后的多分支的全局深度模型;将所述训练后的多分支的全局深度模型拆分为多个分支子模型,分别将各分支子模型作为相应客户端的老师模型并发送给相应的客户端;接收各客户端的客户端模型,并对各客户端模型进行聚合以得到全局多分支学生模型;响应于所述全局多分支学生模型的精确度小于设定精确度,根据所述标签数据对所述全局多分支学生模型进行调整;将调整后的全局多分支学生模型拆分以得到更新后的各老师模型,并将更新后的各老师模型分别发送给相应的客户端;
17.所述客户端用于执行如下无标签数据学习的子方法:获取相应的老师模型;采用
老师模型对客户端本地的无标签数据进行标记,以得到伪标签数据;根据所述伪标签数据对相应的老师模型进行更新,以得到相应的客户端模型;将相应的客户端模型发送给所述服务器。
18.根据本发明的一个实施例,所述获取多分支的全局深度模型包括:获取单出口的全局深度模型;将若干个提前退出的分支子模型插入所述单出口的全局深度模型,以得到多分支的全局深度模型。
19.根据本发明的另一个实施例,所述根据所述伪标签数据对相应的老师模型进行更新包括:获取相应老师模型的精确度;根据相应老师模型的精确度以及所述伪标签数据的数量,确定设定数量的值;选取设定数量的伪标签数据对相应的老师模型进行更新。
20.进一步地,根据本发明的又一个实施例,根据相应老师模型的精确度选取设定数量的伪标签数据对相应的老师模型进行更新的过程中,所采用的损失函数为引入正则项的损失函数。
21.根据本发明的另一个实施例,所述对各客户端模型进行聚合以得到全局多分支学生模型包括:对相同类型客户端模型内部加权以进行同构聚合,以及对不同类型客户端模型之间进行异构聚合。
22.本发明所提供的技术方案,在进行联邦学习时,服务器执行异构联邦学习子方法以进行监督学习,对多分支的全局深度模型进行训练,然后将训练后的多分支的全局深度模型拆分为多个分支子模型,并将各分支子模型作为老师模型分别发送给相应的客户端。客户端可以执行无标签学习的子方法,采用本地无标签数据对相应的老师模型进行更新,以得到相应的客户端模型并发送给服务器;服务器还可以对各训练后的客户端模型进行聚合以得到全局多分支学生模型,并根据全局多分支学生模型对各老师模型进行更新。本发明的技术方案,可以基于无标签数据,为资源异构的客户端开展个性化联邦学习,在提高资源使用效率的同时,有效整合了无标签数据特征到全局模型。另外,本技术的技术方案无需在客户端对本地无标签数据进行人工标注,因此还可以降低人工成本。
附图说明
23.通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:
24.图1是根据本发明实施例的应用于服务器上的异构联邦学习子方法的流程图;
25.图2是根据本发明实施例的应用于客户端上的无标签数据学习子方法的流程图;
26.图3是根据本发明实施例的二级异构实验结果的示意图;
27.图4是根据本发明实施例的多级异构实验结果的示意图;
28.图5是根据本发明实施例的不同异构情形对比实验结果的示意图;
29.图6是根据本发明实施例的准确率测试与资源开销对比的示意图;
30.图7是根据本发明实施例的损失函数是否加入正则项的效果对比示意图。
具体实施方式
31.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,本领域技术人员应知,下面所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
32.一方面,本发明提供一种面向无标签数据的异构联邦学习系统,该系统中具有服务器和多个客户端,服务器与可客户端之间相互通信连接,以进行信息交互,并且本发明所提供的异构联邦学习系统,采用面向无标签数据的异构联邦学习方法进行学习,以使各客户端获取相应的客户端模型。
33.本发明中的面向无标签数据的异构联邦学习方法,包括用于服务器的异构联邦学习子方法和用于各客户端上的无标签数据学习子方法,即在服务器上全局深度模型的学习方法有监督的过程,而在客户端上客户端模型的学习过程是没有监督过程的,因此称为半监督学习。下面结合具体应用场景,对本发明的技术方案做详细的说明。
34.应用于服务器上的异构联邦学习子方法的流程如图1所示,包括:
35.在步骤s11中,获取多分支全局深度模型,并采用标签数据对该多分支的全局深度模型进行训练,得到训练后的多分支全局深度模型。
36.在本实施例中,服务器储存有少量带标签的历史数据,将利用这些标签数据对多分支全局深度模型进行训练。多分支全局深度模型具有n种分支子模型,其中n为大于1的正整数,设分支全局深度模型为ω(t),其中第i种分支子模型为ωi(t),i的取值范围是1到n,则将各种分支子模型按照相应复杂度由低到高的顺序进行排列,可以得到多分支全局深度模型的分支子模型序列为:
37.{ω1(t),ω2(t),...,ωn(t)}
38.即在多分支全局深度模型中,其第i+1个分支子模型ω
i+1
(t)的复杂程度大于第i个分支子模型ωi(t)的复杂程度,其中t表示迭代次数。
39.在步骤s12中,根据各客户端资源适配模型,对训练后的多分支全局深度模型进行拆分,以得到各客户端的老师模型,并将各老师模型分别发送给相应的客户端。由于面临环境、装配设备的不同,客户端在计算、通信、存储资源上存在较大差异,复杂度越高的模型需要的资源相应越多。因此,每种资源情况对应一种分支子模型,与其中一个客户端本地资源相对应的分支子模型就是该客户端的资源适配模型。因此本实施例中服务器在得到训练后的多分支全局深度模型后,将其拆分为多个分别与各客户端资源相匹配的分支子模型。由于拆分得到的各分支子模型是经过标签数据训练过的,可以作为相应客户端的老师模型。
40.另外,由于存在多个客户端的资源情况与一种分支子模型相对应的情况,因此本实施例中假设全局深度模型的第i种分支子模型对应的客户端数量为li,其中第j个客户端的分支子模型可以表示为j的取值范围是1到li。
41.在步骤s13中,接收各客户端的客户端模型,并对各客户端的客户端模型进行聚合以得到全局多分支学生模型。在本实施例中,服务器所接收到的客户端模型,是指在各老师模型在相应客户端上经过相应客户端上的本地数据更新后所得到的模型,由于各老师模型是将多分支全局深度模型拆分得到,因此各客户端模型也是分支子模型。在服务器接收到各客户端的客户端模型后,将各客户端模型进行聚合,以得到全局多分支学生模型。
42.在步骤s14中,判断全局多分支学生模型的精确度是否大于设定精确度,如果大于,则说明各客户端上的客户端模型的精确度都已经满足需求,异构联邦学习完成;如果小
于,则说明有客户端上的客户端模型的精确度不能够满足需求,需要对继续对各客户端的客户端模型进行训练。因此,当全局多分支学生模型的精确度小于设定精确度时,先根据服务器上的标签数据对全局多分支学生模型进行调整,以提高全局多分支学生模型的精确度,进而得到调整后的全局多分支模型。
43.由于客户端上的伪标签数据可靠性差,因此在客户端上训练得到的客户端模型的精确度较低,而本技术在步骤s14中根据服务器上的标签数据对全局多分支学生模型进行调整,可以提高全局多分支学生模型中各分支模型的精度。并且在上述步骤s14中,由如果各个分支子模型对应的精确度越高,其推理结果正确率越高,其对应分支退出的样本数量理应越多。因此,本实施例在推理过程中采用样本比例退出法,规定在每个出口处样本退出的数量。即在服务器接收到各客户端的客户端模型后,对聚合得到多分支学生模型每一个分支子模型进行测试,以该分支子模型的准确率与所有分支子模型准确率之和的比率,作为该分支子模型对应出口的样本退出比率:
[0044][0045]
其中pi为第i个分支子模型的样本退出比率,acci第i个分支模型的准确率,accr第r个分支模型的准确率。
[0046]
在步骤s15中,将调整后的全局多分支学生模型进行拆分,得到调整后的老师模型,并将各老师模型分别发送给相应的客户端。在本步骤s15中,可以采用如上述步骤s12中的方法,根据各客户端资源适配模型对训练后的多分学生模型进行拆分,以得到各客户端的老师模型。由于上述步骤s14中已经对全局多分支学生模型进行了调整,提高了全局多分支学生模型的精确度,因此在本步骤中所的得到的调整后的老师模型,其精确度更高。
[0047]
上文中对用于服务器上的异构联邦学习子方法做了详细的介绍,下面结合图2所示出的流程,对用于客户端服务器上的无标签数据学习子方法进行说明。如图2所示,无标签数据学习子方法包括:
[0048]
步骤s21,获取相应的老师模型,并采用老师模型对相应客户端本地的无标签数据进行标记,以得到伪标签数据。在本步骤s21中,所获得的老师模型可以为与上述步骤s12中相对应的老师模型,也可以为与上述步骤s15中相对应的调整后的老师模型。由于老师模型已经在服务器上利用有标签数据训练过,其具有较强的数据识别能力,因此可以采用各分支模型对在客户端上的本地的无标签数据进行识别,并根据识别结果对本地的无标签数据进行标记,从而得到伪标签数据。
[0049]
步骤s22,采用伪标签数据对相应的老师模型进行训练,以得到更新后的老师模型,并将该更新后的老师模型作为相应的客户端模型。在本实施例中,设客户端为多分支全局深度模型中第i种分支子模型对应的第j个客户端,即该客户端的分支子模型为则在客户端上对更新相应老师模型的过程可以表示为:
[0050][0051]
其中为更新过程中所采用的损失函数,η为学习率。
[0052]
步骤s23,将相应的客户端模型发送给服务器。本步骤s23与上述步骤s13相对应,
将训练后的客户端模型发送给服务器,以便服务器能够获取各客户端的客户端模型,并对各客户端模型进行聚合以得到全局多分支学生模型。
[0053]
综上所述,由于本发明的技术方案,可以基于无标签数据,为资源异构的客户端开展个性化联邦学习,在提高资源使用效率的同时,有效整合了无标签数据特征到全局模型。另外,本技术的技术方案无需在客户端对本地无标签数据进行人工标注,因此还可以降低人工成本。
[0054]
上文中对本发明的技术方案做了详细的介绍,下面结合具体应用场景,对上述步骤s11中服务器获取多分支的全局深度模型的方法进行详细的说明。可以理解的是,以下所示出的实现方式是示例性的而非限制性的,上文中对多分支的全局深度模型的方法,同样也适用于对下文的描述。
[0055]
在一个实施例中,上述步骤s11中,服务器可以直接获取多分支的全局深度模型,例如从存储设备上拷贝已经建立好的多分支的全局深度模型,也可以采用如下方法获取多分支的全局深度模型:首先获取单出口的全局深度模型,然后将若干个提前退出的分支子模型插入单出口的全局深度模型,以得到多分支的全局深度模型。通过该实施例的设置方式,可以根据需求将相应的分支子模型插入到单出口的全局深度模型,从而得到所需要的多分支的全局深度模型。
[0056]
在一个实施例中,在根据伪标签数据对相应的老师模型进行更新时,根据老师模型的精确度以及伪标签数据的数量得到设定数量的值,然后选取设定数量的伪标签数据对相应的老师模型进行训练更新,以得到相应的客户端模型。例如,设老师模型中一个分支模型的精确度为acc,在客户端上得到的伪标签数据的数据量为d,则得到的设定数量的之为d*acc,然后选取数量为d*acc的伪标签数据。
[0057]
在一个实施例中,客户端在对相应的老师模型进行更新时,为了使得更新后的老师模型既能融合本地数据的特征,又能避免本地训练模型产生过拟合现象,可以在本地训练的损失函数中引入正则项,以平衡本地模型和全局模型之间的关系,即:
[0058][0059]
其中为对应客户端在对相应的老师模型进行更新时,没有正则项的损失函数,μ为正则项系数,可以取值0.3。则全局深度模型优化的目标为:
[0060][0061]
下面结合具体应用场景,对上述步骤s13中将各客户端模型聚合以得到全局多分支学生模型的方法进行说明,可以理解的是,下文中所介绍的各客户端模型聚合的方式是示例性的而非限制性的,上文中对各客户端模型聚合方式的描述,同样也是适用于下文中对客户端模型聚合方式的描述。
[0062]
在一个实施例中,对各客户端模型进行聚合以得到全局多分支学生模型的方法包括:对同类型的各客户端模型内部加权以进行同构聚合,以及对同类型各客户端模型之间进行异构聚合。在本实施例中,多分支的全局深度模型中的各分支子模型分别包括相应的主干网络部分的模型参数和分支网络部分的模型参数,设分支子模型ωi(t)的主干网络部
分的模型参数为θi(t),分支网络部分的模型参数λi(t),并且在第i个分支子模型中,第k个分支网络部分与第k-1个分支网络部分之间的主干网络θ
i(k)
(t)。上述对各客户端模型内部加权以进行同构聚合时,采用如下公式:
[0063][0064]
其中为第i个客户端簇下第j个客户端的数据量,di为第i个客户端簇下所有客户端的数据量之和。上述对不同客户端模型之间进行异构聚合包括主干网络聚合和分支网络聚合,由于一种分支网络仅存在于一种分支子模型中,因此在同构聚合阶段完成,表示为:
[0065][0066]
异构聚合时主干网络的聚合方法表示为:
[0067][0068]
其中θ
*(i)
(t+1)为第i个分支子模型主网络与第i-1个分支子模型主网络之间的主干网络参数,则聚合后的全局多分支学生模型的主干网络参数为:
[0069]
θ(t+1)=θ
*(1)
(t+1)∪θ
*(2)
(t+1)∪......∪θ
*(n)
(t+1)
ꢀꢀꢀꢀꢀꢀ
(8)
[0070]
聚合后的全局多分支学生模型的网络参数,为其主干网络的参数与各分支参数的并集,即:
[0071]
ω(t+1)=θ(t+1)∪λ1(t+1)∪λ2(t+1)∪......∪λn(t+1)
ꢀꢀꢀꢀꢀꢀ
(9)
[0072]
上文中对本发明的技术方案做了详细的介绍,下面对本发明技术方案的收敛性进行分析,以得到本发明技术方案的收敛性。在收敛性分析前,本文先做出以下假设:
[0073]
假设1:在每一轮联邦迭代过程中,每个客户端本地训练的次数保持一致且不变,每次训练的学习率保持不变。
[0074]
假设2:在一次联邦学习迭代过程中,所有的客户端都参与到学习当中。
[0075]
假设3:在多分支子模型中,相比于主干网络,由于分支层数极少,因此假设不需要在末尾接上分支,被分解后的各部分主干网络就是一个可以独立完成训练推理任务的子模型,在联邦学习过程中被分发到各个客户端进行训练。将分割后的各部分主干网络模型作为是独立模型,他们之间的关系为依次输入和输出关系,即对于前后相邻的两部份,前面各模型的输出为后面个模型的输入。
[0076]
假设4:各客户端上对相应的老师模型及性能更新时,所采用的损失函数为凸函数。
[0077]
假设5:各客户端上,本地损失函数是m-光滑的,则存在如下特性:
[0078]
(i):
[0079]
(ii):
[0080]
其中x和y均为随机变量,m为光滑系数。
[0081]
假设6:每一个客户端的随机梯度g(θj(t,e))的均值和方差满足如下关系:
[0082][0083][0084]
其中gj()为客户端j的随机梯度;θj(t,e)为客户端j在第t轮联邦迭代过程中第e次本地更新得到的模型参数(在给的材料算法部分有说明);δ用来代表方差的上限,是一个常数;β用来代表二范数的上限,是一个常数。
[0085]
假设7:每一个客户端模型的梯度与全局深度模型梯度的二范数存在上限:
[0086][0087]
针对主干网络的收敛性分析,可以采用数学归纳法,针对分解后主干网络每一部分从前至后依次分析,整个分解后的主干网络可以表示为{θ
*(1)
(t),θ
*(2)
(t),


*(n)
(t)},θ
*(k)
(t)为分解后主干网络的第k部分。那么根据归纳法,仅需证明以下两点,即可证明全局模型的收敛性:
[0088]
(1)θ
*(1)
(t)收敛,即当k=1的时候,θ
*(k)
(t)收敛。
[0089]
(2)当θ
*(k)
(t)收敛的时候,θ
*(k+1)
(t)收敛。
[0090]
根据上述假设3,可以认为θ
*(1)
(t)是一个能够独立完成训练和推理任务的分支子模型,由于θ
*(1)
(t)位于主干模型的最开端,在训练过程中其输入为客户端数据,不受其他分支子模型的影响,因此,θ
*(1)
(t)收敛的证明即为传统的联邦学习证明,以fedavg(加权平均聚合法)为例:
[0091][0092][0093]
其中n为客户端的数量。
[0094]
因此,可以证明该函数收敛性的关键在于证明每一轮迭代的平均损失值与全局最低损失值的差距随着迭代次数的增加减少,即证明如下公式中的上限bk随着t的增加而减少。
[0095][0096]
其中e[z]为求z期望的函数,为最优参数,bk是式子18的上限,an upper bound是上限,并且b的值随t的增加而减少,为第t次联邦学习中,本地客户端第e次训练得到的平均模型的损失函数值。为了证明上式,需要满足以下两个条件:
[0097]
条件1(中心式训练条件):在一次次的优化迭代过程中,模型参数应该得到逐步优化,即是有上界的,且该上界值与联邦迭代次数t有关。其中
表示第t次联邦学习开始前所有的历史信息。
[0098]
条件2(考虑分布式场景):每个老师模型参数的变化范围应该也是有界的,即每一轮本地学习迭代过程中模型参数的方差有上界。其中表示第t次联邦学习开始前所有的历史信息。
[0099]
条件1为中心式训练的条件,它表明每一次迭代过程都会使得模型参数离最优模型参数更近,条件2基于条件1的基础,特别针对分布式学习的特征,限定了各个客户端模型参数的变化范围。通过分析,我们得到,当学习率时:
[0100][0101][0102]
结合上式可以得到,当时:
[0103][0104]
其中,
[0105]
从上式中可以看到,当迭代次数t的增加,本地训练的平均损失值与最优损失值之差的上限不断降低,表明了在联邦学习框架下,模型θ
*(1)
(t)收敛。
[0106]
更进一步,我们继续证明当θ
*(k)
(t)收敛的时候,θ
*(k+1)
(t)收敛。根据上述假设3可以得到:
[0107]
input(θ
*(k+1)
(t,0))=output(θ
*(k)
(t,e))
ꢀꢀꢀꢀꢀꢀ
(21)
[0108]
若当t足够大,在输入给定的情况下,因为模型θ
*(k)
(t,e)收敛,那么output(θ
*(k)
(t,e))也将收敛于一个特定值,因此input(θ
*(k+1)
(t,0))也确定。此时,若θ
*(k+1)
(t)收敛,应该满足:
[0109][0110]
其中b
k+1
的值随着t的增大而减小。在θ
*(k)
(t)收敛,即θ
*(k+1)
(t)输入给定的情况下,与θ
*(1)
(t)的分析过程相同,可以证得θ
*(k+1)
(t)是收敛的。
[0111]
因此,通过以上过程,可以分析得到:
[0112]
(i)θ
*(1)
(t)收敛,即当k=1的时候,θ
*(k)
(t)收敛;
[0113]
(ii)当θ
*(k)
(t)收敛的时候,θ
*(k+1)
(t)收敛。
[0114]
由数学归纳法可得,主干网络中的每一部分均收敛,整个主干网络收敛。
[0115]
除了主干网络外,由于单类的分支网络仅存在于一种异构客户端簇下,在联邦学习过程中仅参与同构聚合,这与传统的联邦学习过程一致,具体收敛性分析过程与模型θ
*(1)
(t)的收敛性分析的方法相同。
[0116]
上文中对本发明技术方案的收敛性做了详细的介绍,下面将针对图像和文本分类任务,基于mnist、cifar10和mr数据集,对本发明技术方案的技术效果进行分析,该分析包括可行性分析、资源开销分析和消融实验分析。
[0117]
1、可行性分析:
[0118]
1.1、二级异构:
[0119]
首先对二级联邦异构的效果进行分析,在单出口的全局深度模型的中间插入一条分支,形成一个提前退出出口。将全局深度模型根据出口拆分后,形成两种不同计算复杂度的分支子模型,两种分支子模型均能独立完成训练和推理任务。在提前退出分支插入位置的选择上,可以分别尝试了在两个不同的位置插入分支构成二级异构模型,一定程度上可以检验本发明方案框架针对不同插入位置形成的异构模型的普适性。mnist(黑白图像)、cifar10(彩色图像数据集)对应的分支子模型插入的不同位置对应分支1与分支2,二级异构模型有以下两种情形:一是分支1与分支3构成的异构模型(用“1+3”表示),二是分支2和分支3构成的异构模型(用“2+3”表示)。mr(影评文本数据集)模型较小,仅插入一个分支,形成一种二级异构模型。
[0120]
实验结果如图3所示,在图3中,“1+3”和“2+3”分别代表二级异构模型,其分别由第1出口和第3出口、第2出口和第3出口组成,“fedavg_1”、“fedavg_2”、“fedavg_3”分别表示由第1、2、3出口与各自之前的主干网络构成的单出口同构模型。图3中结果显示,无论是mnist、cifar10还是mr数据,无论客户端的数据异构情况是独立同分布(iid)还是非独立同分布(non-iid),在采取同样半监督学习方式的情况下,经过服务器端标记数据的微调后,二级异构联邦学习得到的模型测试准确率不但没有比同构联邦学习低,反而能在mnist数据集中高出一个约1个百分点,在cifar10数据集中高出近10个百分点,在mr数据集中也能高出1-5个百分点。这是因为,本文提出的异构联邦学习通过分割网络的方式,将全局蛇毒模型分为不同深度的分支子模型,在每种分支子模型的本地学习过程中,各自寻找各自的最优解,而不用考虑其他部分网络,减少了分支子模型各部分之间的耦合性,降低了分支子模型更新过程中参数之间的制约,让分支子模型的模型参数的优化能够在更大的搜索空间内进行。而在同构学习方法下,由于每个客户端模型相同,各客户端模型的所有参数都朝着使得最后一个出口准确率最大化的方向更新,是一个协同优化的过程,因此制约关系更大,搜索空间更小,导致最终模型表现次于异质学习方法。这在一定程度上说明了本发明技术方案在不同数据分布上执行各类任务的可行性、泛化性。此外,在图3中(c)视图和(d)视图中可以看到,“1+3”最终的收敛性明显由于“2+3”。这是因为在cifar10数据集下,出口1对应的分支子模型表现优于出口2导致的,对应图中的“fedavg_1”收敛性优于“fedavg_2”。因此,分支插入的位置不同,导致的训练结果也不同。一般而言,如果在同质训练方法的下,表越好的分支模型,那么由该分支组成的异构模型也相应更好。
[0121]
1.2、多级异构:
[0122]
为了进一步检验horse在更加复杂异构情况下的可行性,可以通过同时在图4的出口1、出口2处插入分支的方式增加了分支的数量,构成多级异构模型(用“1+2+3”表示)。由于本文中采用的文本模型较小,因此仅针lenet(mnist数据集的模型)和resnet(cifar10数据集的模型)模型对多级异构情形进行探索。
[0123]
图4为多级异构模型在mnist和cifar10两种数据集,独立同分布和非独立同分布
两种不同数据分布情况下的结果。同样可以看到,当异构情况更加复杂,分支子模型种类更多的情况下,本发明技术方案训练得到的客户端模型同样具有明显优势,在mnist和cifar10数据集上各自高出了约1个和10个百分点。此外,本实验还给出了在不同异构情形下,所有客户端模型在本地训练后、联邦聚合前准确率随迭代次数的变化情况,如图5所示。从图中可以看到,在一定的异构限度内,异构程度的增加,没有明显影响模型的表现,即最终收敛值无明显变化。但是,异构程度越高,参与训练的分支子模型种类越多,收敛速度相应变慢,客户端模型准确率之间的差异也越大。
[0124]
2、资源开销研究:
[0125]
最初引入异构联邦学习的动机在于满足客户端存储、计算、通信等资源异构的需求。不同的模型大小会给客户端带来不同的资源开销压力,由于数据的分布情况不会直接影响资源的开销,因此,本节假设数据分布为独立同分布,分别计算了mnist、cifar10以及mr数据集在不同计算方法下消耗的存储、计算以及通信资源,并分别以model space(模型存储空间大小)、flops(每秒浮点运算次数)和parameters(模型参数大小)计量。最终得到如图6所示的test accuracy vs.resource overhead(测试准确率vs.资源消耗)散点图,图中每一个点分别代表在特定训练方法下,参与某一轮迭代的所有客户端相应资源的开销。值得注意的是,在计算资源开销的散点图中,由于在实验中每个客户端被分配了相同数量的样本数,本实验中仅计算了每个参与训练客户端单个样本的计算资源开销。
[0126]
从图中可以明显看到,无论是mnist、cifar10还是mr数据集,通过异构训练方法得到的模型准确率不仅高于同构训练方法,而且在存储、计算和通信资源开销上都明显减少。这是因为,在本发明的技术方案中,拆分得到的更多分支子模型被用本地训练和通信,从而整体上减少了资源的开销。另外,在mnist和cifar10数据集中,还可以发现,相同层级的异构情况下,组成的子模型越大,消耗的资源总体越多,例如,“2+3”总体比“1+3”消耗的资源多。而在不同异构层级下,异构层级越多,消耗的资源分布越均匀,例如,图中“1+2+3”消耗的资源分布情况最均匀。
[0127]
3、消融实验
[0128]
在发明的技术方案中,由于本地训练的子模型是从全局模型中截取的一部分,因此,为了防止子模型与全局模型差距过大,可以尝试在客户端模型进行训练时,在损失函数中加入一个正则化项,以平衡本地模型与全局模型之间的差异。为了探索是否有加入该正则项的必要性,本文中将在三个数据集上进行消融实验。
[0129]
本实验中以“1+3”异构情形为例,得到如图7所示的实验结果。每一张对应一种数据集在不同分布情形下,加正则项与不加正则项的客户端模型的训练结果。可以看到,在mnist和mr数据集下,二者并没有明显区别。但是,在cifar10数据集中,无论是在独立同分布还是非独立同分布分布情况下,加了正则项后的客户端表现明显优于不加。尤其是当客户端数据呈现出非独立同分布分布时,二者差距更为明显,这是因为本地数据倾斜极易导致本地训练客户端模型过拟合,从而在测试数据集上的效果变差。
[0130]
另一方面,本发明还提供一种面向无标签数据的异构联邦学习方法,该方法包括上述应用于服务器的异构联邦学习子方法,以及应用于客户端的无标签数据学习子方法。
[0131]
本说明书中所使用的术语“第一”或“第二”等用于指代编号或序数的术语仅用于描述目的,而不能理解为明示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
由此,限定有“第一”或“第二”的特征可以明示或者隐含地包括至少一个该特征。在本说明书的描述中,“多个”的含义是至少两个,例如两个,三个或更多个等,除非另有明确具体地限定。
[0132]
虽然本说明书已经示出和描述了本发明的多个实施例,但对于本领域技术人员显而易见的是,这样的实施例只是以示例的方式提供的。本领域技术人员会在不偏离本发明思想和精神的情况下想到许多更改、改变和替代的方式。应当理解的是在实践本发明的过程中,可以采用本文所描述的本发明实施例的各种替代方案。所附权利要求书旨在限定本发明的保护范围,并因此覆盖这些权利要求保护范围内的模块组成、等同或替代方案。

技术特征:
1.一种面向无标签数据的异构联邦学习方法,其特征在于,包括应用于服务器的异构联邦学习子方法和应用于客户端的无标签数据学习子方法;所述异构联邦学习子方法包括:获取多分支的全局深度模型;采用标签数据对所述多分支的全局深度模型进行训练,得到训练后的多分支的全局深度模型;将所述训练后的多分支的全局深度模型拆分为多个分支子模型,分别将各分支子模型作为相应客户端的老师模型并发送给相应的客户端;接收各客户端的客户端模型,并对各客户端模型进行聚合以得到全局多分支学生模型;响应于所述全局多分支学生模型的精确度小于设定精确度,根据所述标签数据对所述全局多分支学生模型进行调整;将调整后的全局多分支学生模型拆分以得到更新后的各老师模型,并将更新后的各老师模型分别发送给相应的客户端;所述无标签数据学习子方法包括:获取相应的老师模型;采用老师模型对客户端本地的无标签数据进行标记,以得到伪标签数据;根据所述伪标签数据对相应的老师模型进行更新,以得到相应的客户端模型;将相应的客户端模型发送给所述服务器。2.根据权利要求1所述的面向无标签数据的异构联邦学习方法,其特征在于,所述获取多分支的全局深度模型包括:获取单出口的全局深度模型;将若干个提前退出的分支子模型插入所述单出口的全局深度模型,以得到多分支的全局深度模型。3.根据权利要求1所述的面向无标签数据的异构联邦学习方法,其特征在于,所述根据所述伪标签数据对相应的老师模型进行更新包括:获取相应老师模型的精确度;根据相应老师模型的精确度以及所述伪标签数据的数量,确定设定数量的值;选取设定数量的伪标签数据对相应的老师模型进行更新。4.根据权利要求1-3任意一项所述的面向无标签数据的异构联邦学习方法,其特征在于,根据相应老师模型的精确度选取设定数量的伪标签数据对相应的老师模型进行更新的过程中,所采用的损失函数为引入正则项的损失函数。5.根据权利要求1所述的面向无标签数据的异构联邦学习方法,其特征在于,所述对各客户端模型进行聚合以得到全局多分支学生模型包括:对相同类型客户端模型内部加权以进行同构聚合,以及对不同类型客户端模型之间进行异构聚合。6.一种面向无标签数据的异构联邦学习系统,其特征在于,包括服务器和多个客户端;所述服务器用于执行如下异构联邦学习子方法:获取多分支的全局深度模型;采用标签数据对所述多分支的全局深度模型进行训练,得到训练后的多分支的全局深
度模型;将所述训练后的多分支的全局深度模型拆分为多个分支子模型,分别将各分支子模型作为相应客户端的老师模型并发送给相应的客户端;接收各客户端的客户端模型,并对各客户端模型进行聚合以得到全局多分支学生模型;响应于所述全局多分支学生模型的精确度小于设定精确度,根据所述标签数据对所述全局多分支学生模型进行调整;将调整后的全局多分支学生模型拆分以得到更新后的各老师模型,并将更新后的各老师模型分别发送给相应的客户端;所述客户端用于执行如下无标签数据学习的子方法:获取相应的老师模型;采用老师模型对客户端本地的无标签数据进行标记,以得到伪标签数据;根据所述伪标签数据对相应的老师模型进行更新,以得到相应的客户端模型;将相应的客户端模型发送给所述服务器。7.根据权利要求6所述的面向无标签数据的异构联邦学习系统,其特征在于,所述获取多分支的全局深度模型包括:获取单出口的全局深度模型;将若干个提前退出的分支子模型插入所述单出口的全局深度模型,以得到多分支的全局深度模型。8.根据权利要求6所述的面向无标签数据的异构联邦学习系统,其特征在于,所述根据所述伪标签数据对相应的老师模型进行更新包括:获取相应老师模型的精确度;根据相应老师模型的精确度以及所述伪标签数据的数量,确定设定数量的值;选取设定数量的伪标签数据对相应的老师模型进行更新。9.根据权利要求6-8任意一项所述的面向无标签数据的异构联邦学习系统,其特征在于,根据相应老师模型的精确度选取设定数量的伪标签数据对相应的老师模型进行更新的过程中,所采用的损失函数为引入正则项的损失函数。10.根据权利要求6所述的面向无标签数据的异构联邦学习系统,其特征在于,所述对各客户端模型进行聚合以得到全局多分支学生模型包括:对相同类型客户端模型内部加权以进行同构聚合,以及对不同类型客户端模型之间进行异构聚合。

技术总结
本发明提供一种面向无标签数据的异构联邦学习方法和系统,其中方法包括:异构联邦学习子方法:在全局深度模型插入分支构成多分支模型;对多分支模型进行训练得到训练后的多分支模型;根据分支数量将全局深度模型拆分为多个分支子模型;将各分支子模型作为教师模型分配至资源异构的客户端。无标签数据学习子方法:客户端从服务器端下载老师模型;根据得到老师模型对无标签数据进行预测打标;选择伪标签数据用于客户端训练;客户端利用本地数据进行训练得到学生模型;服务器接收客户端学生模型并聚合微调为新的全局模型。本发明的技术方案,充分利用客户端的无标签数据特征,在保证模型精度的同时,降低联邦学习中计算、通信以及存储的资源开销。及存储的资源开销。及存储的资源开销。


技术研发人员:王吉 包卫东 钟正仪 周文 张雄涛 周敬轩 闫辉 张大宇 梁文谦 张亮 邹明胤 何高宇 陈福旭
受保护的技术使用者:中国人民解放军国防科技大学
技术研发日:2022.04.07
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-14055.html

最新回复(0)