基于联邦学习的模型训练方法及装置、设备、存储介质与流程

文档序号:27051170发布日期:2021-10-24 07:51阅读:126来源:国知局
基于联邦学习的模型训练方法及装置、设备、存储介质与流程

1.本发明涉及基于联邦学习的模型训练领域,尤其涉及一种基于联邦学习的模型训练方法、基于联邦学习的模型训练装置、基于联邦学习的模型训练设备以及计算机可读存储介质。


背景技术:

2.大数据时代下,数据孤岛问题日益凸显。联邦学习作为一种尝试打破数据孤岛的技术,一经提出便得到广泛的关注;其中,联邦学习是一种特殊的分布式机器学习方案,即中心服务器联合多方协同训练机器学习模型。目前,联邦学习方案中,在选择设备参与训练时,大多采用随机的策略;然而,这种策略在数据异质的系统环境下,客户端设备资源分配不均匀、模型训练花费时间长。
3.因此,如何提升基于联邦学习的模型训练的效率是亟待解决的问题。


技术实现要素:

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.第二发送模块,用于发送所述客户端设备的出价至所述服务端,以使得所述服务端根据所述每一客户端设备的出价,选取预设数量的目标客户端设备;
48.第二接收模块,还用于接收所述服务端发送的目标客户端设备的标识和第一全局模型;
49.训练模块,用于若所述客户端设备的标识和目标客户端设备的标识匹配,则所述客户端设备作为目标客户端设备,并由所述目标客户端设备根据其本地样本数据集对所述第一全局模型进行训练。
50.此外,为实现上述目的,本发明还提出一种基于联邦学习的模型训练设备,所述基于联邦学习的模型训练设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行的基于联邦学习的模型训练程序,所述基于联邦学习的模型训练程序被所述处理器执行时实现上述所述的服务端侧基于联邦学习的模型训练方法的步骤。
51.此外,为实现上述目的,本发明还提出一种基于联邦学习的模型训练设备,所述基于联邦学习的模型训练设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行的基于联邦学习的模型训练程序,所述基于联邦学习的模型训练程序被所述处理器执行时实现上述所述的客户端设备侧基于联邦学习的模型训练方法的步骤。
52.此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有基于联邦学习的模型训练程序,所述基于联邦学习的模型训练程序被处理器执行时实现上述所述的服务端侧基于联邦学习的模型训练方法的步骤;或,实现上述所述的客户端设备侧基于联邦学习的模型训练方法的步骤。
53.本发明提供的技术方案,通过服务端发送广播训练请求至每一客户端设备,每一客户端设备根据接收到的广播训练请求和竞价策略确定各自客户端设备的出价,并分别发送各自客户端设备的出价至服务端;然后服务端根据接收到的每一客户端设备的出价,选取预设数量的目标客户端设备,并发送目标客户端设备的标识和第一全局模型至每一客户端设备;进而若客户端设备的标识和目标客户端设备的标识匹配,则该客户端设备作为目标客户端设备,并由目标客户端设备根据其本地样本数据集对第一全局模型进行训练;解决了现有技术中基于联邦学习的模型训练效率低的问题。
54.也即,本发明提供的技术方案,是通过竞价策略选择出参与基于联邦学习的模型训练的客户端设备(即目标客户端设备),这样以竞价拍卖的形式来选择出参与基于联邦学习的模型训练的客户端设备,充分考虑到客户端本地资源状况与本地数据样本质量,因此
processingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器101可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。处理器101还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关基于联邦学习的模型训练方法操作,使得基于联邦学习的模型训练方法模型可以自主训练学习,提高效率和准确度。
71.存储器102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储基于联邦学习的模型训练设备、闪存存储基于联邦学习的模型训练设备。在一些实施例中,存储器102中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器101所执行以实现本技术中方法实施例提供的基于联邦学习的模型训练方法。
72.在一些实施例中,基于联邦学习的模型训练设备还可选包括有:通信接口103和至少一个外围设备。处理器101、存储器102和通信接口103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与通信接口103相连。具体地,外围设备包括:射频电路104、显示屏105和电源106中的至少一种。
73.通信接口103可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器101和存储器102。在一些实施例中,处理器101、存储器102和通信接口103被集成在同一芯片或电路板上;在一些其他实施例中,处理器101、存储器102和通信接口103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
74.射频电路104用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路104通过电磁信号与通信网络以及其他通信基于联邦学习的模型训练设备进行通信。射频电路104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路104包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路104可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路104还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
75.显示屏105用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏105是触摸显示屏时,显示屏105还具有采集在显示屏105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器101进行处理。此时,显示屏105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏105可以为一个,基于联邦学习的模型训练设备的前面板;在另一些实施例中,显示屏105可以为至少两个,分别设置在基于联邦学习的模型训练设备的不同表面或呈折叠设计;在一些实施例中,显示屏105可以是柔性显示屏,设置在基于联邦学习的模型训练设备的弯曲表面上或折叠面上。甚至,显示屏105还可以设置成非矩形的不规则图形,也即异形屏。显示屏105可以采用lcd(liquidcrystal display,液晶显示屏)、oled(organic light

emitting diode,有机发光二极管)等材质制备。
76.电源106用于为基于联邦学习的模型训练设备中的各个组件进行供电。电源106可以是交流电、直流电、一次性电池或可充电电池。当电源106包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
77.本领域技术人员可以理解,图1中示出的结构并不构成对基于联邦学习的模型训练设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
78.基于上述硬件结构,提出本发明的各实施例。
79.请参见图2所示,图2为本发明基于联邦学习的模型训练方法第一实施例的流程示意图,基于联邦学习的模型训练方法包括以下步骤:
80.步骤s201:服务端发送广播训练请求至每一客户端设备。
81.需要说明的是,本实施例中的模型训练方法是基于联邦学习的模型训练方法;在一些示例中,模型训练方法还可以适用于除联邦学习之外的其他分布式机器学习。本实施例中,基于联邦学习的模型训练方法获得的模型可以用于图像识别等诸多场景。
82.本实施例中的广播训练请求用于指示客户端设备进行基于联邦学习的模型训练,因此,在服务端有进行基于联邦学习的模型训练需求时,即可下发广播训练请求至客户端设备。
83.需要说明的是,本实施例中的基于联邦学习的模型训练系统包括服务端和多个客户端设备,那么服务端是向系统中的所有客户端设备均发送广播训练请求,即服务端发送广播训练请求至系统中的每一客户端设备。步骤s202:每一客户端设备接收服务端发送的广播训练请求。
84.相应地,服务端发送广播训练请求至每一客户端设备,每一客户端设备接收服务端发送的广播训练请求。
85.步骤s203:每一客户端设备根据广播训练请求和竞价策略,确定各自客户端设备的出价。
86.相应地,每一客户端设备接收到服务端发送的广播训练请求,便知晓服务端有让系统中相应数量的客户端设备进行基于联邦学习的模型训练的需求;因此,每一客户端设备需要根据竞价策略,确定各自客户端设备的出价。
87.本实施例中的竞价策略指的是类似于竞价拍卖,即确定出各自客户端设备的出价;其中,出价为资源成本。
88.在本实施例中,步骤s203每一客户端设备根据广播训练请求和竞价策略,确定各自客户端设备的出价,可以包括以下步骤:
89.首先,根据广播训练请求,获取本地资源;
90.然后,根据本地资源,获得服务成本和资源成本;
91.其次,将服务成本和资源成本进行求和,获得总成本;
92.再次,根据纳什均衡对总成本进行最优解求解,以确定客户端设备的出价。
93.也即,本实施例中客户端设备根据广播训练请求和竞价策略,确定各自客户端设备的出价,具体是通过先获取客户端设备的本地资源,然后根据本地资源,获得服务成本和资源成本,再将服务成本和资源成本进行求和,获得总成本,进而根据纳什均衡对总成本进行最优解求解实现。其中,通过上述步骤确定的是每一客户端设备的出价。
94.在本实施例中,客户端设备根据本地资源,获得服务成本和资源成本的步骤,可以包括以下步骤:
95.根据本地样本数据集中的样本数量和历史参与训练的次数,获得服务成本;以及,
96.根据剩余电量和本次训练预计消耗电量,获得资源成本。
97.也即,本实施例中客户端设备根据本地资源,获得服务成本和资源成本,具体是通过根据本地样本数据集中的样本数量和历史参与训练的次数,获得服务成本,以及根据剩余电量和本次训练预计消耗电量,获得资源成本实现。其中,获得服务成本的步骤和获得资源成本的步骤可以并行执行,也可以任意交换顺序执行;并且通过上述步骤获得的是每一客户端设备的服务成本和资源成本。
98.举例说明:
99.根据本地样本数据集中的样本数量和历史参与训练的次数,获得服务成本的步骤,可以通过以下计算公式(1)实现:
[0100][0101]
上述计算公式(1)中,服务成本记作本地样本数据集中的样本数量记作历史参与训练的次数记作co
i,t
;其中,(0<β,θ<1,a>1),i表示设备标识,t表示训练轮次。
[0102]
根据剩余电量和本次训练预计消耗电量,获得资源成本,可以通过以下计算公式(2)实现:
[0103][0104]
上述计算公式(2)中,资源成本记作剩余电量记作本次训练预计消耗电量记作其中,(0<φ<1),i表示设备标识,t表示训练轮次。
[0105]
将服务成本和资源成本进行求和,获得总成本,可以通过以下计算公式(3)实现:
[0106]
c
i,t
=cs
i,t
+cr
i,t

ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0107]
上述计算公式(3)中,总成本记作c
i,t

[0108]
根据纳什均衡对总成本进行最优解求解,以确定客户端设备的出价,可以通过以下计算公式(4)实现:
[0109][0110]
上述计算公式(4)中,出价记作b
i,t
,n
j
表示第j组内参与竞拍的设备数量,k
j
表示第j组内被选择参与训练设备的数量。
[0111]
在一些示例中,可以先根据每一客户端设备的样本分布情况对系统中所有客户端设备进行聚类分组,即分为至少两个设备组,其中,每一设备组中包括至少一个客户端设备;这样根据客户端设备的本地样本数据集的相似性进行聚类分组,能够解决客户端设备的本地数据异质性的问题。
[0112]
步骤s204:每一客户端设备发送各自客户端设备的出价至服务端。
[0113]
相应地,每一客户端设备确定各自客户端设备的出价之后,便需要发送各自客户端设备的出价至服务端。
[0114]
步骤s205:服务端接收每一客户端设备发送的客户端设备的出价。
[0115]
相应地,每一客户端设备发送各自客户端设备的出价至服务端,服务端接收每一客户端设备发送的客户端设备的出价。
[0116]
步骤s206:服务端根据每一客户端设备的出价,选取预设数量的目标客户端设备。
[0117]
相应地,服务端根据每一客户端设备的出价,来选取预设数量的目标客户端设备。可以理解的是,由于出价为资源成本,其中,出价越低的客户端设备即表征其可用资源越多;因此,服务端选取出价低的客户端设备作为目标客户端设备。并且,本实施例中,选取出的目标客户端设备要满足预设数量;例如根据一定比例占比来确定目标客户端设备的数量,其中比例占比为目标客户端设备:所有客户端设备=1:10,假设系统中共有100个客户端设备,那么预设数量为10个,即应该选取10个出价低的客户端设备作为目标客户端设备。
[0118]
在一些示例中,可以根据出价由低到高依次进行排序,然后选择前预设数量的客户端设备;例如根据出价由低到高对客户端设备的出价进行排序为(n1,n2,n3,
……
nn),其中n取值为100,假设预设数量为10,则选取出价n1

n10对应的客户端设备作为目标客户端设备。
[0119]
在一些示例中,可以从每一设备组内分别选择一定数量的出价低的客户端设备,共选择出预设数量的客户端设备;例如假设系统中共有100个客户端设备,其中每10个为一个设备组,则有10个设备组,同时假设预设数量为10,则可以分别从10个设备组中选取出价最低的一个客户端设备作为目标客户端设备。
[0120]
值得注意的是,在实际应用中,系统中客户端设备的数量和预设数量可以根据具体应用场景进行灵活调整。
[0121]
步骤s207:服务端发送目标客户端设备的标识和第一全局模型至每一客户端设备。
[0122]
相应地,服务端选取预设数量的目标客户端设备之后,需要确定每一目标客户端设备的标识,进而发送每一目标客户端设备的标识和第一全局模型至每一客户端设备。
[0123]
本实施例中的目标客户端设备的标识是用于唯一标识目标客户端设备,以用于指示客户端设备,服务端选取了哪些客户端设备作为目标客户端设备以参与本次训练。
[0124]
步骤s208:每一客户端设备接收服务端发送的目标客户端设备的标识和第一全局模型。
[0125]
相应地,服务端发送目标客户端设备的标识和第一全局模型至每一客户端设备,每一客户端设备接收服务端发送的目标客户端设备的标识和第一全局模型。
[0126]
步骤s209:每一客户端设备根据目标客户端设备的标识确定目标客户端设备,并由目标客户端设备根据其本地样本数据集对第一全局模型进行训练。
[0127]
相应地,每一客户端设备根据目标客户端设备的标识确定出对应的目标客户端设备,并由每一目标客户端设备根据其本地样本数据集对第一全局模型进行训练。
[0128]
应当明确的是,本实施例中每一客户端设备根据目标客户端设备的标识确定目标客户端设备,可以是由每一客户端设备判断自身的标识是否和目标客户端设备的标识;具体地,如果客户端设备判断自身的标识和目标客户端设备的标识匹配,则客户端设备确定自身即为目标客户端设备,如果客户端设备判断自身的标识和目标客户端设备的标识不匹配,则客户端设备确定自身并非目标客户端设备。
[0129]
本实施例中,通过竞价策略选择出参与基于联邦学习的模型训练的客户端设备(即目标客户端设备),这样以竞价拍卖的形式来选择出参与基于联邦学习的模型训练的客户端设备,充分考虑到客户端本地资源状况与本地数据样本质量,因此均衡了系统中设备的资源,同时提升了基于联邦学习的模型训练的效率。
[0130]
基于上述实施例,提出本发明基于联邦学习的模型训练方法的第二实施例,请参见图3所示,图3为本发明基于联邦学习的模型训练方法的第二实施例的流程示意图。
[0131]
在本实施例中,步骤s201服务端发送广播训练请求至每一客户端设备之前,基于联邦学习的模型训练方法还可以包括以下步骤:
[0132]
步骤s301:服务端初始化初始全局模型、样本窗口大小参数和聚类分组数量。
[0133]
本实施例中的初始全局模型指的是服务端最早初始化的初始全局模型,该初始全局模型会发送到每一客户端设备,以让每一客户端设备根据该初始全局模型进行训练。
[0134]
本实施例中的样本窗口大小参数指的是样本数量。
[0135]
本实施例中的聚类分组数量指的是服务端预计将所有客户端设备分为多少组的数量;例如将所有客户端设备分为10个组,则聚类分组数量为10。
[0136]
步骤s302:服务端发送初始全局模型和样本窗口大小参数至每一客户端设备。
[0137]
相应地,服务端初始化初始全局模型和样本窗口大小参数之后,发送初始全局模型和样本窗口大小参数至每一客户端设备。
[0138]
步骤s303:每一客户端设备接收服务端发送的初始全局模型和样本窗口大小参数。
[0139]
相应地,服务端发送初始全局模型和样本窗口大小参数至每一客户端设备,每一客户端设备接收服务端发送的初始全局模型和样本窗口大小参数。
[0140]
步骤s304:每一客户端设备从本地样本数据集中,多次随机选取和样本窗口大小参数相同的样本,根据样本对初始全局模型进行训练,,获得多个梯度值参数。
[0141]
相应地,客户端设备从本地样本数据集中,多次随机选取和样本窗口大小参数相同的样本,进而根据选取出的样本对初始全局模型进行训练,获得多个梯度值参数。其中,通过上述步骤获得的是每一客户端设备的多个梯度值参数。
[0142]
本实施例中的梯度值参数表征的是每一客户端设备的样本分布情况。
[0143]
步骤s305:每一客户端设备对各自多个梯度值参数求取平均,获得每一客户端设备的平均梯度值参数。
[0144]
相应地,客户端设备对多个梯度值参数求取平均,获得平均梯度值参数。其中,通过上述步骤获得的是每一客户端设备的平均梯度值参数。
[0145]
步骤s306:每一客户端设备发送各自客户端设备的平均梯度值参数至服务端。
[0146]
相应地,每一客户端设备发送各自客户端设备的平均梯度值参数至服务端。
[0147]
步骤s307:服务端接收每一客户端设备发送的平均梯度值参数。
[0148]
相应地,每一客户端设备发送各自客户端设备的平均梯度值参数至服务端,服务端接收每一客户端设备的平均梯度值参数。
[0149]
步骤s308:服务端根据每一客户端设备的平均梯度值参数,将所有客户端设备划分为和聚类分组数量相同的设备组;其中,每一设备组中包括至少一个客户端设备。
[0150]
相应地,服务端根据接收到的每一客户端设备的平均梯度值参数,将所有客户端
设备划分为和聚类分组数量相同的设备组;例如假设聚类分组数量j为10,系统中共有100个客户端设备,则将系统中所有客户端设备划分为10个设备组,其中每个设备组中包括10个客户端设备。
[0151]
请参见图4所示,系统中共有n个客户端设备,通过聚类分组分为了j个设备组,进而通过竞价策略从每一设备组中确定出目标客户端设备,由目标客户端设备根据本地样本数据集对第一全局模型进行训练获得第二全局模型,然后再发送至服务端,由服务端对目标客户端设备的第二全局模型进行聚合,获得聚合后的第三全局模型。
[0152]
本实施例中,根据每一客户端设备的样本分布情况对系统中客户端设备进行聚类分组,其中,每一设备组中包括至少一个客户端设备;这样根据客户端设备的本地样本数据集的相似性进行聚类分组,解决了客户端设备的本地数据异质性问题。
[0153]
基于上述实施例,提出本发明基于联邦学习的模型训练方法的第三实施例,请参见图5所示,图5为本发明基于联邦学习的模型训练方法的第三实施例的流程示意图。
[0154]
在本实施例中,步骤s207服务端发送目标客户端设备的标识和第一全局模型至每一客户端设备之后,基于联邦学习的模型训练方法还可以包括以下步骤:
[0155]
步骤s501:服务端接收每一目标客户端设备发送的目标客户端设备的第二全局模型;其中,第二全局模型为每一目标客户端设备根据其本地样本数据集对第一全局模型进行训练得到。
[0156]
本实施例中,服务端发送目标客户端设备的标识和第一全局模型至每一客户端设备,然后每一客户端设备根据目标客户端设备的标识确定其自身是否为目标客户端设备,如果客户端设备的标识和目标客户端设备的标识匹配,则该客户端设备作为目标客户端设备,并由目标客户端设备根据其本地样本数据集对第一全局模型进行训练,进而获得每一目标客户端设备的第二全局模型;进一步地,每一目标客户端设备发送各自目标客户端设备的第二全局模型至服务端,相应地,服务端接收每一目标客户端设备发送的第二全局模型。
[0157]
步骤s502:服务端对每一目标客户端设备的第二全局模型进行聚合,获得聚合后的第三全局模型。
[0158]
相应地,服务端对每一目标客户端设备的第二全局模型进行聚合,获得聚合后的第三全局模型。
[0159]
本实施例中的第一全局模型、第二全局模型和第三全局模型为同一全局模型,区别在于其各自是经过不同处理操作后的,因此,予以区分。
[0160]
步骤s503:若第三全局模型的准确率大于或等于预设阈值,则保存第三全局模型。
[0161]
本实施例中,如果第三全局模型的准确率大于或等于预设阈值,则表征该第三全局模型已训练达到目标,无需进行再次训练,此时保存第三全局模型即可。
[0162]
步骤s504:若第三全局模型的准确率小于预设阈值,则返回执行步骤s201发送广播训练请求至每一客户端设备。
[0163]
本实施例中,如果第三全局模型的准确率小于预设阈值,则表征该第三全局模型未训练达到目标,则需要再次进行训练,此时需要再执行步骤s201发送广播训练请求至每一客户端设备,直至训练得到的第三全局模型的准确率大于或等于预设阈值。
[0164]
本实施例中,服务端对每一目标客户端设备训练得到的全局模型(即第二全局模
型)进行聚合,得到聚合后的全局模型(即第三全局模型),并对该全局模型的准确率进行判断,如果准确率大于或等于预设阈值,则保存该全局模型,停止训练,如果准确率小于预设阈值,则继续迭代训练,直至准确率大于或等于预设阈值;这样便保证了基于联邦学习的模型训练的准确率。
[0165]
此外,请参见图6所示,本发明实施例在上述基于联邦学习的模型训练方法的基础上,还提出一种基于联邦学习的模型训练装置,应用于服务端,基于联邦学习的模型训练装置包括:
[0166]
第一发送模块601,用于发送广播训练请求至每一客户端设备,以使得每一客户端设备根据广播训练请求和竞价策略确定各自客户端设备的出价;
[0167]
第一接收模块602,用于接收每一客户端设备发送的客户端设备的出价;
[0168]
选取模块603,用于根据每一客户端设备的出价,选取预设数量的目标客户端设备;
[0169]
第一发送模块601,还用于发送目标客户端设备的标识和第一全局模型至每一客户端设备,以使得和目标客户端设备的标识匹配的客户端设备,根据其本地样本数据集对第一全局模型进行训练。
[0170]
本发明应用于服务端的基于联邦学习的模型训练装置还包括其他可选的模块,并采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
[0171]
此外,请参见图7所示,本发明实施例在上述基于联邦学习的模型训练方法的基础上,还提出一种基于联邦学习的模型训练装置,应用于客户端设备,基于联邦学习的模型训练装置包括:
[0172]
第二接收模块701,用于接收服务端发送的广播训练请求;
[0173]
确定模块702,用于根据广播训练请求和竞价策略,确定客户端设备的出价;
[0174]
第二发送模块703,用于发送客户端设备的出价至服务端,以使得服务端根据每一客户端设备的出价,选取预设数量的目标客户端设备;
[0175]
第二接收模块701,还用于接收服务端发送的目标客户端设备的标识和第一全局模型;
[0176]
训练模块704,用于若客户端设备的标识和目标客户端设备的标识匹配,则客户端设备作为目标客户端设备,并由目标客户端设备根据其本地样本数据集对第一全局模型进行训练。
[0177]
本发明应用于客户端设备的基于联邦学习的模型训练装置还包括其他可选的模块,并采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
[0178]
此外,请参见图8所示,本发明实施例在上述基于联邦学习的模型训练方法的基础上,还提出一种基于联邦学习的模型训练系统,基于联邦学习的模型训练系统包括:
[0179]
服务端801,用于发送广播训练请求至每一客户端设备;
[0180]
多个客户端设备802,用于接收服务端发送的广播训练请求;根据广播训练请求和竞价策略,确定客户端设备的出价;发送客户端设备的出价至服务端;
[0181]
服务端801,还用于接收多个客户端设备发送的客户端设备的出价;根据每一客户
端设备的出价,选取预设数量的目标客户端设备;发送目标客户端设备的标识和第一全局模型至每一客户端设备;
[0182]
多个客户端设备802,还用于接收服务端发送的目标客户端设备的标识和第一全局模型;根据目标客户端设备的标识确定目标客户端设备,并由目标客户端设备根据其本地样本数据集对第一全局模型进行训练。
[0183]
需要说明的是,多个客户端设备802在图8中用客户端设备1
……
n示意出,其中,n为大于等于2的整数。
[0184]
本发明基于联邦学习的模型训练系统还包括其他可选的设备,并采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
[0185]
此外,本发明实施例还提出一种计算机可读存储介质,计算机可读存储介质上存储有基于联邦学习的模型训练程序,基于联邦学习的模型训练程序被处理器执行时实现如上述服务端基于联邦学习的模型训练方法的步骤;或,计算机可读存储介质上存储有基于联邦学习的模型训练程序,基于联邦学习的模型训练程序被处理器执行时实现如上述客户端设备基于联邦学习的模型训练方法的步骤。
[0186]
该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于ram(random access memory,随机存取存储器),rom(read

only memory,只读存储器),eeprom(electrically eraable programmable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、cd

rom(compact disc read

only memory,光盘只读存储器),数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
[0187]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0188]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0189]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例的方法。
[0190]
以上仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1