基于联邦学习的数据处理方法、装置和计算机设备与流程

文档序号:30308349发布日期:2022-06-05 08:15阅读:128来源:国知局
基于联邦学习的数据处理方法、装置和计算机设备与流程

1.本技术涉及人工智能技术领域,特别是涉及一种基于联邦学习的数据处理方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.联邦学习(federated learning)是一种新兴的人工智能基础技术,是一种基于隐私保护的分布式机器学习训练方式,它的目标是当训练数据分散在大量的不可靠且网络延迟较高的客户端上时,能够保护客户端数据隐私的同时训练出一个高质量的预测模型。
3.一种联邦学习的架构如图1所示,是一种单参数服务器、多参与方的联邦学习结构。顾名思义,参数服务器只有单节点,分别与多个参与方进行模型参数交换。具体流程如图1所示。单参数服务器、多参与方结构,参数服务器很容易成为整个训练过程中的性能瓶颈,同时因为参数服务器是单点的原因,会导致整个训练过程的鲁棒性较低,如果参数服务器发生故障或者网络问题,那么整个联邦学习训练过程都将出现问题。


技术实现要素:

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.图1为一个实施例中单参数服务器、多参与方的联邦学习架构示意图;
37.图2为一个实施例中多参数服务器、多参数方的联邦学习架构示意图;
38.图3为一个实施例中多参数服务器的直连型拓扑结构示意图;
39.图4为一个实施例中多参数服务器的星型拓扑结构示意图;
40.图5为一个实施例中基于联邦学习的数据处理方法的应用环境图;
41.图6为一个实施例中基于联邦学习的数据处理方法的流程示意图;
42.图7为一个实施例中各参数服务器对应的参与方群簇的构架示意图;
43.图8为一个实施例中参数服务器拓扑结构示意图;
44.图9为一个实施例中参数服务器间的响应时间的关系示意图;
45.图10为一个实施例中直连型的参数服务器拓扑结构示意图;
46.图11为另一个实施例中直连型的参数服务器拓扑结构示意图;
47.图12为一个实施例中参数服务器拓扑结构构建的关系示意图;
48.图13为另一个实施例中基于联邦学习的数据处理方法示意图;
49.图14为一个实施例中在minist图像分类数据集的实验对比结果;
50.图15为一个实施例中在synthetic实验对比结果;
51.图16为一个实施例中不同拓扑结构的复杂度和鲁棒性对比结果;
52.图17为一个实施例中基于联邦学习的数据处理装置的结构框图;
53.图18为一个实施例中计算机设备的内部结构图。
具体实施方式
54.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
55.随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
56.本技术实施例提供的方案涉及人工智能的联邦学习等技术。联邦学习(federated learning)是一种新兴的人工智能基础技术,是一种基于隐私保护的分布式机器学习训练方式,它的目标是当训练数据分散在大量的不可靠且网络延迟较高的客户端上时,能够保护客户端数据隐私的同时训练出一个高质量的预测模型。能够保障在大数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下,多参与方或多计算结点之间开展高效率的机器学习。
57.对于多参与方参与联邦训练的应用场景中,数据分布在同一组织的不同客户端(参与方),利用参数服务器,作为模型参数交换的中间服务器。针对单参数服务器、多参与方的联邦学习结构不稳定的问题,提出了一种多参数服务器、多参数方的联邦学习结构。
58.其中,多参数服务器、多参与方的联邦学习结构有多个参数服务器,多个参数服务器分别于自己对应的参与方群做参数交换,具体训练流程如图2所示:
59.步骤21:参与方客户端(如,用户的手机、多家银行,即产品使用方)从各自对应的参数服务器端下载共享预测模型。
60.步骤22:参与方客户端利用本地数据对模型进行训练迭代。
61.步骤23:参与方客户端将模型训练后获得的梯度更新,加密上传到各自对应的参数服务器端。
62.步骤24:所有参数服务器端等待收集来自所有参与方的梯度更新,然后与邻居服
务器进行梯度交换和整合,然后对自己端的共享模型进行更新。
63.重复上述步骤21至24的过程,参与方不断将服务器端每次更新的模型下载到本地客户端进行更新迭代,直到模型收敛,停止更新。
64.多参数服务器、多参与方的联邦学习结构中,多参数服务器之间的结构主要是直连型和星型结构,参数服务器间的直连型结构如图3所示,参数服务器间的星型结构如图4所示。
65.本技术实施例提供的基于联邦学习的数据处理方法,可以应用于如图5所示的多参数服务器、多参与方的联邦学习结构中。参与方与参数服务器通过网络进行通信。各参数服务接收对应参与方群簇的参与方利用本地数据训练得到的梯度数据;对参与方群簇的梯度数据进行汇总,得到梯度汇总数据;获取基于参数服务器间的响应时间构建的参数服务器拓扑结构;基于参数服务器拓扑结构,与邻接的参数服务器交换梯度汇总数据;根据交换获得的全部参数服务器的梯度汇总数据,更新联合模型的参数。其中,参与方102可以是用户终端,用户终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。参数服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本发明实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。
66.在一个实施例中,如图6所示,提供了一种基于联邦学习的数据处理方法,以该方法应用于图1中的一个参与服务器为例进行说明,包括以下步骤602至步骤612,可以理解的是,多参与方服务器在进行联邦学习时,各参与方服务器分别执行以下步骤602至步骤610:
67.步骤602,接收对应的参与方群簇中参与方利用本地数据训练得到的梯度数据。
68.其中,联邦学习是由参与方共同训练得到全局模型,各参与方基于自己的本地数据训练模型,再通过参数服务器交换和汇总,得到全局模型,在这个过程中,用户数据始终在本地,不对外发送,满足数据安全和隐私保护要求。联邦学习的参与方一般包括数据方、算法方、协调方、计算方、结果方、任务发起方等。以联邦学习应用于不同银行间的风控联合建模为例,参与方包括银行、用户和信贷机构。
69.参与方群簇,是一些参与方的集群,每个参与方群簇对应一个参数服务器,向该参数服务器上报利用本地数据训练得到的梯度数据。
70.其中,可以在联邦学习初始化时,初始化各参数服务器对应的参与方群簇。一种实施方式中,可以以地域进行划分,确定每个参数服务器对应的参与方群簇,将相同或相近地域的参与方构建为本地的参数服务器的参与方群簇。一种实施方式中,还可以以每个服务器为中心节点,以服务器与参与方的响应时间作聚类,形成多个参与方聚簇(与服务器个数对应)。整个聚类算法使得落入同一聚簇的参与方与对应的服务器平均响应时间最短。一种方式中,可以是参数服务器向参与方发送梯度更新请求,根据参与方的响应时间,选择参与方构建对应的参与方群簇。一种方式中,可以是参数服务器向参与方发送测试请求,根据参与方的响应时间,选择参与方构建对应的参与方群簇。
71.通过初始化,构建了每个参数服务器对应的参与方群簇,如图7所示。其中,在联邦学习中,参数服务器将训练程序下发至参与方,参与方利用本地数据计算下降的梯度和损失,得到一轮训练的梯度数据,加密并上传至对应的参数服务器。所以,对于参数服务器而言,其接收的是对应参与方群簇中的各参与方一次迭代训练得到的梯度数据。如图7所示,参数服务器1接收参与方聚簇1中各参与在本次迭代训练得到的梯度数据。
72.可以理解的是,为了保证训练过程中数据的保密性,参与方对梯度数据进行加密后,发送至对应的参数服务器。
73.步骤604,对参与方群簇的梯度数据进行汇总,得到梯度汇总数据。
74.具体地,每个参数服务器对接收到的参与方群簇的梯度数据进行汇总,得到梯度汇总数据。其中,汇总公式如下:
[0075][0076]
步骤606,获取参数服务器拓扑结构,其中,所述参数服务器拓扑结构是初始化联邦学习模型时基于所述参数服务器间的响应时间构建的。
[0077]
本技术的基于联邦学习的数据处理方法,适用于多参与方多参数服务器的联邦学习的应用场景。每个参数服务器接收一个参与方群簇的梯度数据,进行汇总。汇总后,各参数服务器间需要交换梯度汇总数据。
[0078]
通常各参数服务器间为如图3所示的直连型拓扑结构,或是如图4所示的星型拓扑结构。直连型的多参数服务器的拓扑结构主要缺点是模型收敛速度要慢,各参数服务器要交互多次参数才能使模型收敛,也会由于单点故障导致系统稳定性差。星型结构的多参数服务器的拓扑结构,模型收敛速度很快,但是依然存在中心节点由于单点故障导致系统稳定性差。
[0079]
本实施例中,基于参数服务器间的响应时间,构建参数服务器拓扑结构,从而参数服务器间的拓扑结构不是固定一成不变的,而是基于参数服务器间的响应时间灵活构建,能够真实反应联邦学习过程中,参数服务间的响应时延长短对参数服务器间梯度汇总数据交换效率的影响。
[0080]
其中,可以在联邦学习模型初始化过程中,每个参数服务器向其它的参数服务器发送请求,获得其它各参数服务器对该请求的响应时间。如图7所示的c个参数服务器,每个服务器获取与其它服务器间的响应时间。
[0081]
一种方式中,在获得了所有参数服务器之间的响应时间后,以最短交换时间为目标,构建直连型的参数服务器拓扑结构。
[0082]
直连型的参数服务器拓扑结构如图3所示,各参数服务器间依次连接。以最短交换时间为目标,构建的直连型的参数服务器拓扑结构,是利用参数服务器间的响应时间构建的,与现有的固定的直连型的参数服务器拓扑结构不同。通过使得参数服务器间的数据交换时间最短,提高了各参数服务器间的数据交换效率,进而提高联邦学习的效率。
[0083]
一种方式中,在获得了所有参数服务器之间的响应时间后,以最短交换时间和最大度约束为目标,构建参数服务器拓扑结构。
[0084]
最大度约束是指,使参数服务器间的边满足最大数量要求。由于设置了最大度约束,使得每个参数服务器与多个参数服务器具有连接关系,而避免直连型连接易存在的单点故障问题。以最短交换时间和最大度约束为目标,构建的参数服务器拓扑结构,不仅考虑了数据交换的效率,还考虑了数据的稳定性,避免单点故障导致系统稳定性差的问题。
[0085]
步骤608,基于参数服务器拓扑结构,与邻接的参数服务器交换梯度汇总数据。
[0086]
具体地,利用参数服务器拓扑结构,每个参数服务器,与具有连接关系的邻接的参数服务器交换梯度汇总数据。以图8所示的参数服务器拓扑结构为例,参数服务器a将梯度
汇总数据交换给参数服务器b、参数服务器c以及参数服务器e,对应的,通过轮交换,参数服务器a能够获得参数服务器b、参数服务器e以及参数服务器c的梯度汇总数据。同时在第一轮交换中,其它参数服务器邻接的参数服务器的梯度,例如,参数服务器b获得的参数服务器a、参数服务器c和参数服务器e的梯度汇总数据。
[0087]
各参数服务器交换获得邻接的参数服务器的梯度汇总数据后,再次对交换得到的邻接参数服务器的梯度汇总数据,与自身的梯度汇总数据进行梯度汇总,此时梯度汇总数据中包括了自身以及邻接参数服务器的梯度汇总数据。例如,第一轮交换后,参数服务器a对自身、参数服务器b、参数服务器e以及参数服务器c的梯度汇总数据进行梯度汇总。
[0088]
没有直接连接的参数服务器之间在第一轮交换中不能获得相互的梯度汇总数据,则继续进行轮交换。例如,参数服务器b和参数服务器d之间没有直接连接,则参数服务器c在第一轮交换中获得了参数服务器d的梯度汇总数据,通过第二轮交换,参数服务器c将包括了参数服务器d的梯度汇总数据交换给参数服务器b。可以理解的是,通过多轮交换以及梯度汇总,各参数服务器间获得全部参数服务器的梯度总汇数据。
[0089]
可以理解的是,为了保证训练过程中数据的保密性,参数服务器之间对梯度汇总数据进行加密后,与邻接的参数服务器进行交换,也就是说,在参数服务器间交换的为同态加密后的梯度汇总数据。
[0090]
步骤610,根据交换获得的全部参数服务器的梯度汇总数据,更新联合模型的参数。
[0091]
具体地,通过多轮交换以及梯度汇总,各参数服务器间获得全部参数服务器的梯度总汇数据,更新联合模型的参数,完成一次联邦学习的迭代训练。
[0092]
参数服务器根据更新的联合模型,继续向对应的参数服务器聚簇下发更新的联合模型,各参与方利用本地数据继续进行训练,各参数服务器通过重复步骤602至步骤610,不断更新联合模型,直至训练结束。
[0093]
上述的基于联邦学习的数据处理方法,各参数服务器对应参与方群簇,接收对应参数方群簇训练的梯度数据,是一种多参与方、多参数服务器的架构,各参数服务器与对应的参与方群簇做数据交换,即使有参数服务器出现故障,也不会影响联邦学习的训练,提高了系统稳定性。同时,各参数服务器根据参数服务器间的响应时间,构建参数服务器拓扑结构,各参数服务器在获得对应参与方群簇的梯度汇总数据后,基于参数服务器拓扑结构,交换梯度汇总数据。由于参数服务器拓扑结构是基于参数服务器间的响应时间构建的,不是固定不变的,为提高参数服务器间的数据交换效率提供了基础。
[0094]
在另一个实施例中,接收对应的参与方群簇中的参与方利用本地数据训练得到的梯度数据,包括:向对应的参与方聚簇发送梯度更新请求,接收参与方聚簇中最快响应梯度更新请求的前n个参与方利用本地数据训练得到的梯度数据。
[0095]
具体地,联邦学习各个参与方由于地域,网络环境等不同,响应时间各不相同,而在同一个联邦中响应时间慢的参与方将严重拖累整体训练时间。针对这一问题,先通过基于参与方对参数服务器的响应时间,对参与方聚类,构建参数服务器的参与方聚簇。具体地,将对参数服务器的响应时间近的各参数方聚为一个簇,作为参数服务器的参与方聚簇,从而将联邦学习的所有参与方聚类成不同的簇,使得落入相同簇的参与方具有相近的响应时间。
[0096]
通常影响参与方响应速度的因素是参与方与参数服务器间的距离以及参与方自身的处理能力,若参与方与参数服务器在同一个区域,则能够较快地响应参数服务器的请求,因此,通常一个参数服务器基于响应时间选择的参与方群簇由地理位置较近的参与方组成。而各参数服务器作为模型参数交换的中间服务器,其接收参与方基于本地数据进行训练得到的梯度数据,即使有参与方被多个参数服务器选择,并不会对训练结果造成影响,因此,本实施例中可以仅以响应时间进行参与方群簇的划分。
[0097]
进一步地,在联邦学习的每次训练迭代中,服务器只选择相同簇内的前n个参与方进行联合模型迭代,因此极大降低响应慢的参与方对响应快的参与方的拖累。
[0098]
具体地,参与方群簇的构建可以在联邦学习建模的初始化过程中,初始化包括了参与方聚簇的初始化。以每个参数服务器为中心,各参数服务器分别向全部参与方发送请求,获取各参与方响应请求的响应时间。以响应时间作为聚类,聚类的目标是使落入同一聚簇的参与方与对应服务器平均响应时间最短。具体地,根据响应时间,选择最快较近的多个参与方服务器构建对应的参与方群簇。从而形成每个服务器对应的参与方聚簇。
[0099]
基于参与方聚簇,在每一轮迭代训练中,各参数服务器向对应的参与方聚簇发送梯度更新请求,接收参与方聚簇中最快响应梯度更新请求的前n个参与方利用本地数据训练得到的梯度数据。
[0100]
具体地,各参数服务器分别向各参与方发送梯度更新请求,只接收前n个最快响应的参与方所发送的梯度数据。例如,n为50,参数服务器的数量为5个,在各地分布有1000个参与方,每个参数服务器分别对应一个参与方群簇,共有5个参与方群簇。则每个参数服务器只选择前50个最先响应的参与方的梯度数据。
[0101]
可以预见的是,由于参数服务器根据响应时间,选择参与方群簇中响应最快的前n个参与方的梯度数据,因而,响应快的参与方不会被响应慢的参与方拖累,从而降低了参数服务器的总等待时间,提升联合建模效率。
[0102]
在另一个实施例中,基于参数服务器间的响应时间构建参数服务器拓扑结构的方式,包括:获取参数服务器间的响应时间;基于响应时间,以最短交换时间为目标,构建直连型的参数服务器拓扑结构。
[0103]
其中,直连型的参数服务器拓扑结构如图4所示,各参与服务器间依次连接。与传统的直连型的参数服务器拓扑结构不同的是,本实施例中的直连型的参数服务器拓扑结构,基于服务器间的响应时间,考虑了交换时间。通过使得交换时间最短,构建的直连型的参数服务器拓扑结构提高了数据交换效率。
[0104]
具体地,基于响应时间,以最短交换时间为目标,构建参数服务器拓扑结构,包括:分别以各参数服务器为起点,迭代根据参数服务器间的响应时间,选择与起点响应时间最短且为未连接状态的参数服务器作为下一起点的步骤,直至连接所有的参数服务器,得到多个候选参数服务器拓扑结构;将总响应时间最短的候选参数服务器作为最终的参数服务器拓扑结构。
[0105]
其中,参数服务器拓扑结构可以在联邦学习联合建模的初始化时构建。每个参数服务器向其它的参数服务发送请求,获取各参数服务器响应自身请求的响应时间。一个实施例中,各参数服务器之间的响应时间如图9所示。
[0106]
在此基础上,执行了下步骤:
[0107]
s10,分别以各参数服务器为起点,选择与起点响应时间最短的参数服务器作为下一起点。以图9为例,分别选择选择服务器a、参数服务器b、参数服务器c、参数服务器d以及参数服务器e为起点,选择与起点响应时间最短的参数服务器作为下一起点。以选择服务器a作为起点为例,选择与参数服务器a响应时间最短的参数服务器b作为下一节点。
[0108]
s11,重复上述步骤s10,直至连接所有的参数服务器,得到多个候选参数服务器拓扑结构。
[0109]
具体地,根据参数服务器间的响应时间,选择与起点响应时间最短且为未连接状态的参数服务器作为下一起点。例如,以参数服务器a作为起点为例,第二个节点为参数服务器b,第三个节点为参数服务器c,第四个点节为参数服务器d,第五个节点的判断时,参数服务器b为参数服务器e的响应时间相同,但参数服务器b为已连接状态,则选择参数服务器e作为第五个节点。则以参数服务器a为起点构建得到的参数服务器拓扑结构如图10所示。以参数服务器e为起点构建得到的参数服务器拓扑结构如图11所示。
[0110]
分别以各参数服务器为起点,则能够构建得到多个候选参数服务器拓扑结构。
[0111]
s12,将总响应时间最短的候选参数服务器作为最终的参数服务器拓扑结构。
[0112]
其中,总响应时间是各连接的参数服务器间的响应时间的总和。以图10所示的参数服务器拓扑结构为例,总响应时间为10,以图11所示的参数服务器拓扑结构为例,总响应时间为12。总响应时间最短,则基于该参数服务器拓扑结构,参数服务器间进行数据交换的时间也最短。经过比较,以a为起点的直连型参数服务器拓扑结构的总响应时间最短,则以图10所示的结构作为最终的参数服务器拓扑结构。可以比较得到,由于总响应时间最短,利用该直连型参数服务器拓扑结构进行梯度数据交换时,所花费的时间也最短,能够提高数据交换效率。
[0113]
直连型参数服务器需要交互多次才能使得模型收敛,同时也会由于单点故障导致系统稳定性差。在此基础上,提供了另一种参数服务器拓扑结构的构建方式。
[0114]
在另一个实施例中,基于参数服务器间的响应时间构建参数服务器拓扑结构的方式,包括:获取参数服务器间的响应时间;基于响应时间,以最短交换时间和最大度约束为目标,构建参数服务器拓扑结构。
[0115]
最大度约束,是指参数服务器拓扑结构中各节点的边的最大数量。通过将最大度的数量设置为至少为2,即各节点的边的数量至少为2,能够使得参数服务器间的交互关系可以有多种,避免单点故障,但又不至于过多而影响效率。通过最短交换时间和最大度约束,综合了交换效率以及系统的稳定性。
[0116]
具体地,基于响应时间,以最短交换时间和最大度约束为目标,构建参数服务器拓扑结构,包括:
[0117]
s121:以任意参数服务器为起点,根据所述参数服务器间的响应时间,选择与所述起点响应时间最短且为未连接状态的参数服务器作为下一起点。
[0118]
以图12所示,基于全部参数服务器间的响应时间,以任意参数服务器为起点,如以参数服务器b为起点,选择与参数服务器b响应时间最短的参数服务器a作为下一起点。若遇到响应时间相同的节点,随机选择其中一条作为下一起点。
[0119]
s122,迭代上述步骤s121,直至连接所有的参数服务器,得到参数服务器连通结构。
[0120]
以图12为例,以参数服务器b作为起点,选择与参数服务器b间的响应时间最短的参数服务器a为第二个节点,选择参数服务器c作为第三个节点,选择参数服务器d作为第四个节点,选择参数服务器e作为第五个节点,得到的参数服务器连通结构如图12所示。
[0121]
s123,按照参数服务器的响应时间从小到大排序,基于最大度约束依次将没有加入所述参数服务器连通结构的响应关系加入所述参数服务器连通结构,得到最终的参数服务器拓扑结构。
[0122]
具体地,响应关系是指服务器间用于表示响应时间的连接关系,可以为拓扑结构中的一条边。可以按照参数服务器的响应时间从小到大排序,依次将没有加入参数服务器连通结构的响应关系(边)加入到参数服务器连通结构中。迭代过程中,如果待加入的边两边的任意一个节点的度等于最大度数量,则放弃加入这条边。直到可加入的边均加入参数服务器连通结构中为止,最终形成服务器节点的网络拓扑结构。如图12所示,最大度数量设置为3,在按照响应时间排序之后,依次添加边(b-》c,b-》e,a-e)到图中,构成最终的参数服务器拓扑结构。
[0123]
本实施例中,通过利用服务器间的响应时间构建参数服务器拓扑结构,考虑了节点响应时延长短,硬件地域等问题对联邦学习造成的影响。基于最大度约束构建的参数服务器拓扑结构,各参数服务器不是依次单点连接的关系,具有多方向性,即使一个节点出现单点故障,仍然可以通过其它的连接关系与其它参数服务器交换数据。该方法考虑了传递效率以及系统的稳定性。
[0124]
本技术的基于联邦学习的数据处理方法,可应用于任何多家机构在不暴露各自隐私数据前提下的联合建模,如不同银行或信贷机构间的风控联合建模,不同医疗异构间的病例诊断联合建模、不同电商平台间的商品推荐联合建模等。在基于联邦学习的联合模型训练过程中,可以实现自适应调整的去中心化算法,在不损失联合建模效果的前提下提升联邦学习整体效率和系统鲁棒性,提升产品使用体验。
[0125]
具体地,一个实施例中,基于联邦学习的数据处理方法,如图13所示,包括以下步骤:
[0126]
s131:联邦学习初始化。在该步骤中,参数服务器拓扑结构初始化、参与方群簇初始化以及联合模型参数初始化。
[0127]
具体地,参数服务器拓扑结构初始化,包括:
[0128]
1)、记录所有服务器之间的响应时间。
[0129]
2)、以任意参数服务器为起点,迭代根据参数服务器间的响应时间,选择与起点响应时间最短且为未连接状态的参数服务器作为下一起点的步骤,直至连接所有的参数服务器,得到参数服务器连通结构。
[0130]
3)、按照参数服务器的响应时间从小到大排序,依次将没有加入参数服务器连通结构的响应关系加入到参数服务器连通结构中。迭代过程中,如果待加入的边(响应关系)两边的任意一个节点的度等于最大度数量,则放弃加入这条边。直到可加入的边均加入参数服务器连通结构中为止,最终形成服务器节点的网络拓扑结构。
[0131]
其中,参与方群簇初始化,具体包括:各参数服务器向各参与方发送请求,以每个服务器为中心节点,以服务器与参与方的响应时间作聚类,形成多个参与方聚簇(与服务器个数对应)。整个聚类算法使得落入同一聚簇的参与方与对应的服务器平均响应时间最短,
构建各参数服务器对应的参与方群簇。
[0132]
其中,联邦模型参数初始化则保证每个服务器上的模型参数初始化为同一套。
[0133]
s132,参与方客户端(如,用户的手机、多家银行,即产品使用方)从服务器端下载联合模型,该联合模型在训练开始阶段被服务器簇初始化(所有服务器的联合模型相同)。
[0134]
s133,参与方客户端利用本地数据对模型进行训练迭代。
[0135]
s134,以每个参数服务器为中心节点,每个参与方聚簇选最快响应的前n个参与方,向对应服务器上传汇总梯度。n的大小由服务器设定,联邦模型训练通过n的大小控制参与每轮迭代的参与方的最大个数。
[0136]
s135,服务器簇中的每个服务器等待收集来自对应的参与方上报的梯度更新。当服务器接收到前n个参与方的梯度更新后,将所有收集到的梯度进行聚合,然后与相邻服务器进行梯度交换,交换结束后,每个服务器端对联合模型进行更新。然后进入下一轮迭代(每个服务器再次邀请所有对应参与方聚簇进行联合模型下载和本地模型更新)。
[0137]
其中,在每轮训练迭代中,服务器向对应参与方群聚簇内请求n个参与方的梯度上报,参与方群簇收到请求后,返回响应最快的前n个参与方的梯度。由于收到请求的参与方具有相近的响应时间并且只返回最快的前n个,所以响应快的参与方不会被响应慢的参与方拖累,从而降低服务器的总等待时间、提升联合建模效率。
[0138]
每个服务器等待对应参与方聚簇上报的梯度,然后进行梯度汇总,具体公式如公式1所示。
[0139][0140]
每个服务器进行梯度汇总之后,将自己的梯度按照拓扑结构与领居节点进行交换,交换之后再次进行梯度汇总与参数更新,完成本次模型的更新迭代。
[0141]
重复上述s132至s135的步骤,不断将服务器端每次更新的模型下载到参与方本地客户端,直到模型收敛,停止更新。
[0142]
本技术基于联邦学习的数据处理方法,可以是一种通用的自适应调整的去中心化的方法,在联邦学习或分布式训练等场景下,能在有限的训练时间预算内有效提升模型的训练效率,同时保证模型的准确率和网络拓扑稳定性。从应用角度,本方案不仅仅局限于应用在多银行或互金企业参与下的金融反欺诈联合建模场景,对在隐私保护约束下的多客户端联合建模的多种场景均可应用。从模型角度,服务器在联合建模时使用的模型架构均可根据实际应场景灵活变动。
[0143]
本方案所提出的自适应调整的去中心化联邦训练方法,能在有限的模型训练预算下,通过自适应生成最优的参数服务器的拓扑结构和响应时间聚类选择参与方的方式,提升联邦学习系统的模型训练效率和训练系统稳定性,并实现在有限的训练时间内达到最大的模型正确性。图14展示了在1000个参与方,10个服务器,3种不同的拓扑结构下,在minist图像分类数据集实验对比结果,图15展示了在1000个参与方,10个服务器,3种不同的拓扑结构下,在synthetic实验对比结果。时延结果表示自适应的拓扑结构相比星型和直连型的模型收敛速度要优秀,并且模型效果(正确率)没有衰减。图16展示了不同拓扑结构的复杂度和鲁棒性,结果也证明了本方法在增强系统稳定性和鲁棒性上有优势。进一步验证了本方案的有效性。
[0144]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0145]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的基于联邦学习的数据处理方法的基于联邦学习的数据处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个基于联邦学习的数据处理装置实施例中的具体限定可以参见上文中对于基于联邦学习的数据处理方法的限定,在此不再赘述。
[0146]
在一个实施例中,如图17所示,提供了一种基于联邦学习的数据处理装置,应用于联邦学习架构中的各参数服务器,包括:
[0147]
接收模块1702,用于接收对应的参与方群簇中的参与方利用本地数据训练得到的梯度数据。
[0148]
汇总模块1704,用于对所述参与方群簇的所述参与方的梯度数据进行汇总,得到梯度汇总数据。
[0149]
结构获取模块1706,用于获取参数服务器拓扑结构,其中,参数服务器拓扑结构是初始化联邦学习模型时基于参数服务器间的响应时间构建的。
[0150]
交换模块1708,用于基于所述参数服务器拓扑结构,与邻接的参数服务器交换所述梯度汇总数据。
[0151]
更新模块1710,用于根据交换获得的全部参数服务器的梯度汇总数据,更新联合模型的参数。
[0152]
在另一个实施例中,接收模块,用于向对应的参与方聚簇发送梯度更新请求,接收所述参与方聚簇中最快响应所述梯度更新请求的前n个参与方利用本地数据训练得到的梯度数据。
[0153]
在另一个实施例中,结构获取模块,包括:
[0154]
时间获取模块,用于获取参数服务器间的响应时间。
[0155]
构建模块,用于基于所述响应时间,以最短交换时间为目标,构建直连型的参数服务器拓扑结构。
[0156]
在另一个实施例中,构建模块,用于分别以各参数服务器为起点,迭代根据所述参数服务器间的响应时间,选择与所述起点响应时间最短且为未连接状态的参数服务器作为下一起点的步骤,直至连接所有的参数服务器,得到多个候选参数服务器拓扑结构;将总响应时间最短的所述候选参数服务器作为最终的参数服务器拓扑结构。
[0157]
在另一个实施例中,构建模块,用于基于所述响应时间,以最短交换时间和最大度约束为目标,构建参数服务器拓扑结构,所述最大度的数量至少为2。
[0158]
在另一个实施例中,构建模块,用于以任意参数服务器为起点,迭代根据所述参数服务器间的响应时间,选择与所述起点响应时间最短且为未连接状态的参数服务器作为下
一起点的步骤,直至连接所有的参数服务器,得到参数服务器连通结构;按照参数服务器的响应时间从小到大排序,基于最大度约束依次将没有加入所述参数服务器连通结构的响应关系加入所述参数服务器连通结构,得到最终的参数服务器拓扑结构。
[0159]
上述基于联邦学习的数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0160]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图18所示。该计算机设备包括处理器、存储器、输入/输出接口(input/output,简称i/o)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储联邦学习的训练数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于联邦学习的数据处理方法。
[0161]
本领域技术人员可以理解,图18中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0162]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各实施例的基于联邦学习的数据处理方法的步骤。
[0163]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各实施例的基于联邦学习的数据处理方法的步骤。
[0164]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各实施例的基于联邦学习的数据处理方法的步骤。
[0165]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0166]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,
pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0167]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0168]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1