一种联邦学习模型训练方法、装置及联邦学习系统与流程

文档序号:23655347发布日期:2021-01-15 13:52阅读:197来源:国知局
一种联邦学习模型训练方法、装置及联邦学习系统与流程

本发明涉及信息技术领域,尤其涉及一种联邦学习模型训练方法、装置及联邦学习系统。



背景技术:

端边云混合架构是一种新型支持协同计算的架构。其中,“端”指终端设备(或简称“端设备”),例如,安装在城市各个角落的摄像机,人们使用的手机;“边”指边缘计算,例如,在城市就近安装部署的边缘服务器;“云”指云计算,例如,大型数据中心。采用端边云混合架构部署联邦学习方面的应用,既能保护数据隐私,又能减少数据移动。突出的问题就是当训练的参与方数据样本分布不均匀,或说数据偏斜,也就是非独立同分布(non-iid)的情况下,其构建的全局模型的准确率会大受影响,原因是非独立同分布数据集在模型训练中会造成梯度偏移。

现有方案缺陷主要有:(1)需要额外数据集,例如,中心服务器往往需要持有一定量的、均匀分布的数据;(2)过拟合问题,例如在强化弱参与者的训练架构中,每一轮梯度收集弱参与者每轮与中心服务器通信后都会比强参与者最多多训练e个轮次,如果这种情况在训练过程中一直存在,那么全局模型将存在对弱参与者持有的数据严重的过拟合,从而影响全局联邦模型的泛化性能;(3)可靠性问题,生成模型gan会生成缺失类的数据,但在一些关键领域(尤其是重大疾病诊断的医疗领域),在神经网络还没达到充分可以解释性的前提下,生成的数据是否可靠仍然存疑。

通常,通过合理地对本地训练的截断与剪枝,会使得联邦模型的梯度更加偏向于中心化sgd(随机梯度下降)的梯度。也就是说通过截断操作,我们可以使得联邦学习的综合性能提高。然而,在截断某节点本地更新之后,会导致该节点的数据参与的训练轮次减少,全局联邦模型捕捉到该参与者节点的数据特征也变少,为了避免出现对该参与者节点数据的欠拟合的现象,需要在模型训练到达收敛期时对截断节点的进行补偿。



技术实现要素:

本发明实施例的目的是提供一种联邦学习模型训练方法、装置及联邦学习系统,以解决现有方案存在的梯度偏移问题。

为了达到上述目的,本发明实施例所采用技术方案如下:

第一方面,本发明实施例提供一种联邦学习模型训练方法,所述方法应用于包括一个云端联邦学习子系统、个边缘计算服务器和个端设备的联邦机器学习训练,其中,个边缘计算服务器均与云端联邦学习子系统相连,每个边缘计算服务器与一个或多个端设备建立连接,,所述方法包括:

所述云端联邦学习子系统把公钥key分发给所述边缘计算服务器和所述端设备,用以对训练过程中需要交换的数据进行加密;

对所述边缘计算服务器负责所辖区域内端设备的梯度进行更新;

对所述云端联邦学习子系统负责边缘计算服务器的梯度进行更新;

每t1轮次的本地更新会触发一次边缘计算服务器进行梯度收集,每t2轮次的边缘计算服务器更新会触发一次云端联邦学习子系统进行梯度收集,其中t1为端设备分歧阶段内部轮次,t2为边缘服务器分歧阶段内部轮次;

当模型达到长尾阶段,边缘计算服务器会根据自身维护的表,让每个被截断的端设备补足本地训练,云端联邦学习子系统会根据自身维护的表,让每个被截断的边缘计算服务器补足本地训练,其中为端设备k1训练截断比例数组,上标k1为端设备索引,为缘服务器k2训练截断比例数组,上标k2为边缘服务器索引。

第二方面,本发明实施例提供一种联邦学习模型训练装置,所述装置应用于包括一个云端联邦学习子系统、个边缘计算服务器和个端设备的联邦机器学习训练,其中,个边缘计算服务器均与云端联邦学习子系统相连,每个边缘计算服务器与一个或多个端设备建立连接,,所述装置包括:

分发单元,用于所述云端联邦学习子系统把公钥key分发给所述边缘计算服务器和所述端设备,用以对训练过程中需要交换的数据进行加密;

第一更新单元,用于对所述边缘计算服务器负责所辖区域内端设备的梯度进行更新;

第二更新单元,用于对所述云端联邦学习子系统负责边缘计算服务器的梯度进行更新;

收集单元,用于每t1轮次的本地更新会触发一次边缘计算服务器进行梯度收集,每t2轮次的边缘计算服务器更新会触发一次云端联邦学习子系统进行梯度收集,其中t1为端设备分歧阶段内部轮次,t2为边缘服务器分歧阶段内部轮次;

训练单元,用于当模型达到长尾阶段,边缘计算服务器会根据自身维护的表,让每个被截断的端设备补足本地训练,云端联邦学习子系统会根据自身维护的表,让每个被截断的边缘计算服务器补足本地训练,其中为端设备k1训练截断比例数组,上标k1为端设备索引,为缘服务器k2训练截断比例数组,上标k2为边缘服务器索引。

第三方面,本发明实施例提供一种联邦学习系统,所述联邦学习系统包括:

至少一个端设备,用于存储数据到本地,利用本地数据训练模型并更新至边缘计算服务器,基于最新的全局机器学习模型实施推理;

至少一个边缘计算服务器,用于对所述边缘计算服务器负责所辖区域内端设备的梯度进行更新,每t1轮次的本地更新会触发一次边缘计算服务器进行梯度收集,当模型达到长尾阶段,边缘计算服务器会根据自身维护的表,让每个被截断的端设备补足本地训练,其中t1为端设备分歧阶段内部轮次,为端设备k1训练截断比例数组,上标k1为端设备索引;

联邦机器学习子系统,用于把公钥key分发给所述边缘计算服务器和所述端设备以对训练过程中需要交换的数据进行加密、用于对所述云端联邦学习子系统负责边缘计算服务器的梯度进行更新,每t2轮次的边缘计算服务器更新会触发一次云端联邦学习子系统进行梯度收集,当模型达到长尾阶段,云端联邦学习子系统会根据自身维护的表,让每个被截断的边缘计算服务器补足本地训练,其中t2为边缘服务器分歧阶段内部轮次,为缘服务器k2训练截断比例数组,上标k2为边缘服务器索引。

根据以上技术方案,具有如下技术效果:

(1)端边云混合架构下,减少数据移动,且保证数据隔离情况下完成机器学习,数据不会泄漏到外部,满足用户隐私保护和数据安全的需求;

(2)云端联邦学习子系统在端边配合下保证模型无损,不会出现负迁移,保证联邦模型比割裂的独立模型效果好;

(4)端边地位对等、共同受益,所有端边构建联合数据集,每一个端边其地位是相等的,能够在公平合作下保持独立性,建立全局模型并同各个端边共享。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1示例了本发明实施例的一种联邦学习系统组成结构示意图;

图2示例了本发明实施例的一种联邦学习系统的端设备组成结构示意图;

图3示例了本发明实施例的一种联邦学习系统的边缘计算服务器组成结构示意图;

图4示例了本发明实施例的一种联邦学习系统的云端联邦学习子系统组成结构示意图;

图5示例了本发明实施例的一种联邦学习模型训练方法的流程图;

图6示例了本发明实施例的一种联邦学习模型训练装置的框图;

图7示例了本发明实施例中第一更新单元的框图;

图8示例了本发明实施例的第二更新单元的框图;

其中附图标记:

10、端设备;20、边缘计算服务器;30、联邦机器学习子系统;

110、控制器;210、第二连接模块;310、通信设备;

120、3d堆叠内存;220、处理模块;320、网络设备;

130、第一连接模块;230、通信模块;330、第二存储模块;

140、非易失内存;240、配置模块;340、控制平台;

250、第一存储模块;350、计算设备。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

实施例1:

图1显示了本发明实施例的一种联邦学习系统组成结构示意图。如图1所示,所述一种联邦学习系统主要由一个云端联邦学习子系统、个边缘计算服务器和个端设备组成,其中,个边缘计算服务器均与云端联邦学习子系统相连,每个边缘计算服务器与一个或多个端设备建立连接,,一个或多个端设备10与一个边缘计算服务器20一起形成区域性联邦学习群,边缘计算服务器20负责该区域内端设备10的多轮梯度更新;一个或多个边缘计算服务器20连接云端联邦学习子系统30,云端联邦学习子系统30负责边缘计算服务器20的梯度更新。

实施例2:

图2显示了本发明实施例的一种联邦学习系统的端设备组成结构示意图。如图2所示,所述端设备10包括控制器,所述控制器110上连接至少一个3d堆叠内存120、至少一个非易失内存140和第一连接模块130;控制器110负责整个端设备10的资源管理和联邦机器学习本地训练;3d堆叠内存120作为主存使用外,还采用近数据处理方式具有推理能力;非易失内存140提供存储功能外,还具有实施原位计算的功能;第一连接模块130与边缘计算服务器20建立连接并接收或传送信息。

实施例3:

图3显示了本发明实施例的一种联邦学习系统的边缘计算服务器组成结构示意图。如图3所示,所述边缘服务器20主要由处理模块220、第二连接模块210、通信模块230、配置模块240和第一存储模块250构成,处理模块220通过配置模块240实施边缘计算服务器20系统设置;处理模块220通过第二连接模块210与端设备10的第一连接模块130建立连接;处理模块220通过通信模块230与云端联邦学习子系统30建立网络通信连接;第一存储模块250负责存储系统软件及相关数据以支持处理模块220实施区域联邦机器学习训练。

实施例4:

图4显示了本发明实施例的一种联邦学习系统的云端联邦学习子系统组成结构示意图。如图4所示,所述联邦机器学习子系统30主要由通信设备310、网络设备320、第二存储模块330、控制平台340和计算设备350构成,控制平台340负责配置、管理整个云端联邦学习子系统30;通信设备310负责与边缘计算服务器20建立网络通信连接;网络设备320连接至少一个第二存储模块330,通信设备310,控制平台340,和至少一个计算设备350;第二存储模块330负责存储系统软件及相关数据以支持计算设备350实施全局联邦机器学习训练。

实施例5:

图5为示例了本发明实施例的一种联邦学习模型训练方法的流程图。如图5所示,所述方法应用于包括一个云端联邦学习子系统30、个边缘计算服务器20和个端设备10的联邦机器学习训练,其中,个边缘计算服务器均与云端联邦学习子系统相连,每个边缘计算服务器与一个或多个端设备建立连接,,该方法采用层级联邦学习(hierarchicalfederatedlearning)模式,避免对云端联邦学习子系统30造成过大的通信压力,且合理利用端设备局部性的特点,挖掘边缘服务器计算的优势:边缘服务器20负责所辖区域内多个端设备10的多轮更新,云端联邦学习子系统30负责边缘服务器20的梯度更新。这样可以利用网络局部性的优势,在近域高速网络中进行多次训练,减少了与云端联邦学习子系统30的总梯度交换次数。所述方法包括:

步骤s101,所述云端联邦学习子系统30把公钥key分发给边缘计算服务器20和端设备10,用以对训练过程中需要交换的数据进行加密。

步骤s102,对于边缘计算服务器20负责所辖区域内端设备10的梯度更新,采用如下子步骤:

第e101步:每训练个本地轮次,端设备10将会记录一次自身私有模型此时的参数,待本地训练完成次之后,会首先将维护的值发送给边缘计算服务器20。

第e102步:边缘计算服务器20针对每个端设备端10(例如)形成维损失数组,按照损失的绝对值筛选出每轮需要截断的端设备10,并将其少训练的轮数维护在边缘计算服务器20,将截断轮次发送给端设备10。

第e103步:端设备10在收到后,会将第轮本地训练后的梯度上传给边缘计算服务器20并进行联邦模型的参数更新。

步骤s103,对于云端联邦学习子系统30负责边缘计算服务器20的梯度更新,采用如下子步骤:

第c101步:每训练个本地轮次,边缘计算服务器20将会记录一次自身私有模型此时的参数,待本地训练完成次之后,会首先将维护的值发送给云端联邦学习子系统30。

第c102步:云端联邦学习子系统30针对每个边缘计算服务器20(例如)形成维损失数组,按照损失的绝对值筛选出每轮需要截断的边缘计算服务器20,并将其少训练的轮数维护在云端联邦学习子系统30,将截断轮次发送给边缘计算服务器20。

第c103步:边缘计算服务器20在收到后,会将第轮本地训练后的梯度上传给云端联邦学习子系统30并进行联邦模型的参数更新。

步骤s104,每t1轮次的本地更新会触发一次边缘计算服务器20梯度收集,每t2轮次的边缘计算服务器20更新会触发一次云端联邦学习子系统30梯度收集。

步骤s105,当模型达到长尾阶段,边缘计算服务器20会根据自身维护的表,让每个被截断的端设备10补足本地训练;云端联邦学习子系统30会根据自身维护的表,让每个被截断的边缘计算服务器20补足本地训练;为了使得获得的模型效果更好,在补足本地训练是可以设置收敛条件,直至达到收敛条件满足时,最终完成模型训练,收敛条件的设置为本领域的常规手段,不做赘述。

基于损失的本地截断联邦学习端设备10各自的数据均保留在本地,且训练中的数据交互也不会导致数据隐私泄露。

本发明边缘计算服务器和端设备接收云端联邦学习子系统形成的全局机器学习模型信息;一个边缘计算服务器与一个以上的端设备利用网络局部性的优势形成区域,端设备依靠本地数据并采用截断的方式完成模型本地训练,边缘计算服务器负责所辖区域内端设备的多轮更新并向云端联邦学习子系统发送更新后的模型信息;边缘计算服务器也采用截断的方式完成模型本地训练,云端联邦学习子系统负责多个边缘计算服务器的梯度更新;在训练到达收敛期,分别对边缘计算服务器所辖区域内端设备和云端联邦学习子系统负责的多个边缘计算服务器实施截断节点的补偿,形成全局机器学习模型信息。

参数定义如下表所示:

实施例6:

图6为本发明实施例提供的一种联邦学习模型训练装置的框图,该装置可以执行任意本发明任意实施例所提供的一种联邦学习模型训练方法,具备执行该方法相应的功能模块和有益效果。如图6所示,所述装置应用于包括一个云端联邦学习子系统、个边缘计算服务器和个端设备的联邦机器学习训练,其中,个边缘计算服务器均与云端联邦学习子系统相连,每个边缘计算服务器与一个或多个端设备建立连接,,所述装置包括:

分发单元901,用于所述云端联邦学习子系统把公钥key分发给所述边缘计算服务器和所述端设备,用以对训练过程中需要交换的数据进行加密;

第一更新单元902,用于对所述边缘计算服务器负责所辖区域内端设备的梯度进行更新;

第二更新单元903,用于对所述云端联邦学习子系统负责边缘计算服务器的梯度进行更新;

收集单元904,用于每t1轮次的本地更新会触发一次边缘计算服务器进行梯度收集,每t2轮次的边缘计算服务器更新会触发一次云端联邦学习子系统进行梯度收集,其中t1为端设备分歧阶段内部轮次,t2为边缘服务器分歧阶段内部轮次;

训练单元905,用于当模型达到长尾阶段,边缘计算服务器会根据自身维护的表,让每个被截断的端设备补足本地训练,直至达到收敛条件最终完成模型训练,其中为端设备k1训练截断比例数组,上标k1为端设备索引;云端联邦学习子系统会根据自身维护的表,让每个被截断的边缘计算服务器补足本地训练,直至达到收敛条件最终完成模型训练,其中为缘服务器k2训练截断比例数组,上标k2为边缘服务器索引。

本实施例中,如图7所示,所述第一更新单元902包括以下子单元:

第一本地训练子单元9021,用于每训练个本地轮次,端设备将会记录一次自身私有模型此时的,待本地训练完成次之后,会首先将维护的值发送给边缘计算服务器,其中为端设备k1第u1个分歧阶段的模型增量,为端设备k1第u1个分歧阶段的模型损失,u1为端设备本地分歧阶段索引,总数为u1;

第一损失筛选子单元9022,用于边缘计算服务器针对每个端设备形成维损失数组,按照筛选出每轮需要截断的端设备,并将其少训练的维护在边缘计算服务器,将端设备k1该轮通信所应该截断的轮次发送给端设备;

第一梯度上传子单元9023,用于端设备在收到后,会将第轮本地训练后的梯度上传给边缘计算服务器并进行联邦模型的参数更新。

本实施例中,如图8所示,所述第二更新单元903包括以下子单元:

第二本地训练子单元9031,用于每训练个本地轮次,边缘计算服务器将会记录一次自身私有模型此时的,待本地训练完成次之后,会首先将维护的值发送给云端联邦学习子系统,其中为边缘服务器k2第u2个分歧阶段的模型增量,为边缘服务器k2第u2个分歧阶段的模型损失,u2为边缘服务器本地分歧阶段索引,总数为u2;

第二损失筛选子单元9032,用于云端联邦学习子系统针对每个边缘计算服务器形成维损失数组,按照筛选出每轮需要截断的边缘计算服务器,并将其少训练的维护在云端联邦学习子系统,将边缘服务器k2该轮通信所应该截断的轮次发送给边缘计算服务器;

第二梯度上传子单元9033,用于边缘计算服务器在收到后,会将第轮本地训练后的梯度上传给云端联邦学习子系统并进行联邦模型的参数更新。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的设备实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1