CN112990488A - 一种基于机器异构性的联邦学习方法 - Google Patents
一种基于机器异构性的联邦学习方法 Download PDFInfo
- Publication number
- CN112990488A CN112990488A CN202110279647.2A CN202110279647A CN112990488A CN 112990488 A CN112990488 A CN 112990488A CN 202110279647 A CN202110279647 A CN 202110279647A CN 112990488 A CN112990488 A CN 112990488A
- Authority
- CN
- China
- Prior art keywords
- gradient
- global
- local
- obtaining
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000006870 function Effects 0.000 claims description 36
- 238000012549 training Methods 0.000 abstract description 18
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000003993 interaction Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000011478 gradient descent method Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000001617 migratory effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Feedback Control In General (AREA)
Abstract
本发明公开了一种基于机器异构性的联邦学习方法,方法包括:接收服务器统一发送的初始模型、全局梯度和全局模型参数;根据初始模型、全局梯度和全局模型参数,得到预估梯度校准值;其中,预估梯度校准值用于表征各边缘设备的本地梯度与服务器的全局梯度的偏差以及各边缘设备因本地更新次数不同而产生的偏差;基于预估梯度校准值,得到目标本地梯度和目标本地模型参数;将所述目标本地梯度和所述目标本地模型参数发送至所述服务器,以使所述服务器生成更新后的全局梯度和全局模型参数。本发明实施例通过对各边缘设备的预估梯度校准技术来实现移除各边缘设备与服务器的偏差,同时补偿本地更新次数不同导致的偏差,从而提高联邦学习的训练效率。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及的是一种基于机器异构性的联邦学习方法。
背景技术
当前针对联邦学习的算法主要基于假设其能够在同样时间内在本地训练一定次数。这个方法在同构环境下能够提高训练的效率以及通讯开销,然而在绝大部分的分布式场景都属于异构环境,因此,这种计算方法并不具备实用性。如果以异步的方式解决这一问题的话,会存在一些数据无法充分利用(例如:如果一个边缘设备过久未与服务器更新的话,服务器中的异步算法可能会舍弃边缘设备提交的信息)。当各边缘设备的本地更新次数是相同的情况下,利用传统的随机梯度下降法SGD进行联邦学习的效果很好,而当各边缘设备本地更新次数不同的情况下,利用传统的随机梯度下降法SGD进行联邦学习,则出现需要优化的目标函数和实际优化的目标函数不一致的情况。
因此,现有技术还有待改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于机器异构性的联邦学习方法,旨在解决现有技术中联邦学习中的异构网络在进行模型训练时训练效率低的问题。
本发明解决问题所采用的技术方案如下:
第一方面,本发明实施例提供一种基于机器异构性的联邦学习方法,其中,所述方法包括:
接收服务器统一发送的初始模型、全局梯度和全局模型参数;
根据所述初始模型、所述全局梯度和所述全局模型参数,得到预估梯度校准值;其中,所述预估梯度校准值用于表征各边缘设备的本地梯度与服务器的全局梯度的偏差以及各边缘设备因本地更新次数不同而产生的偏差;
基于所述预估梯度校准值,得到目标本地梯度和目标本地模型参数;
将所述目标本地梯度和所述目标本地模型参数发送至所述服务器,以使所述服务器生成更新后的全局梯度和全局模型参数。
在一种实现方式中,其中,所述接收服务器统一发送的初始模型、全局梯度和全局模型参数之后包括:
将所述全局模型参数作为初始本地模型参数。
在一种实现方式中,其中,所述根据所述初始模型、所述全局梯度和所述全局模型参数,得到预估梯度校准值包括:
基于预设的本地数据和所述初始模型,得到本地梯度;
基于所述全局梯度、所述全局模型参数和所述本地梯度,得到预估梯度校准值。
在一种实现方式中,其中,所述基于所述全局梯度、所述全局模型参数和所述本地梯度,得到预估梯度校准值包括:
基于所述全局梯度和所述本地梯度,得到第一偏差值,其中,所述第一偏差值用于表征各边缘设备的本地梯度与服务器的全局梯度的偏差;
基于所述全局模型参数和所述初始本地模型参数,得到第二偏差值,其中,所述第二偏差值用于表征各边缘设备因本地更新次数不同而产生的偏差;
基于所述第一偏差值和所述第二偏差值,得到预估梯度校准值。
在一种实现方式中,其中,所述基于所述第一偏差值和所述第二偏差值,得到预估梯度校准值包括:
获取本地更新次数;
根据所述本地更新次数和所述第二偏差值,得到中间第二偏差值;
将所述第一偏差值加上所述中间第二偏差值,得到预估梯度校准值。
在一种实现方式中,其中,所述基于所述预估梯度校准值,得到目标本地梯度和目标本地模型参数包括:
获取数据样本;其中,所述数据样本是从边缘设备的样本中获取得到;
根据所述数据样本和所述初始本地模型参数,得到损失函数偏导数;
根据所述损失函数偏导数,得到目标本地梯度;
根据所述损失函数偏导数、所述初始本地模型参数和所述预估梯度校准值,得到目标本地模型参数。
在一种实现方式中,其中,所述根据所述数据样本和所述初始本地模型参数,得到损失函数偏导数包括:
根据所述数据样本和所述初始本地模型参数,得到损失函数;
对所述损失函数进行求偏导,得到损失函数偏导数。
在一种实现方式中,其中,所述将所述目标本地梯度和所述目标本地模型参数发送至所述服务器,以使所述服务器生成更新后的全局梯度和全局模型参数之后包括:
接收服务器统一发送的更新后的全局梯度和全局模型参数,并重复执行根据所述初始模型、所述全局梯度和所述全局模型参数,得到预估梯度校准值的步骤。
第二方面,本发明实施例还提供一种基于机器异构性的联邦学习装置,其中,所述装置包括:
服务器的数据接收单元,用于接收服务器统一发送的初始模型、全局梯度和全局模型参数;
预估梯度校准值获取单元,用于根据所述初始模型、所述全局梯度和所述全局模型参数,得到预估梯度校准值;其中,所述预估梯度校准值用于表征各边缘设备的本地梯度与服务器的全局梯度的偏差以及各边缘设备因本地更新次数不同而产生的偏差;
目标参数获取单元,用于基于所述预估梯度校准值,得到目标本地梯度和目标本地模型参数;
目标参数发送单元,用于将所述目标本地梯度和所述目标本地模型参数发送至所述服务器,以使所述服务器生成更新后的全局梯度和全局模型参数。
第三方面,本发明实施例还提供一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如上述任意一项所述的基于机器异构性的联邦学习方法。
第四方面,本发明实施例还提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述中任意一项所述的基于机器异构性的联邦学习方法。
本发明的有益效果:本发明公开了一种基于机器异构性的联邦学习方法,方法包括:接收服务器统一发送的初始模型、全局梯度和全局模型参数;根据初始模型、全局梯度和全局模型参数,得到预估梯度校准值;其中,预估梯度校准值用于表征各边缘设备的本地梯度与服务器的全局梯度的偏差以及各边缘设备因本地更新次数不同而产生的偏差;基于预估梯度校准值,得到目标本地梯度和目标本地模型参数;将所述目标本地梯度和所述目标本地模型参数发送至所述服务器,以使所述服务器生成更新后的全局梯度和全局模型参数。本发明实施例通过对各边缘设备的预估梯度校准技术来实现移除各边缘设备与服务器的偏差,同时补偿本地更新次数不同导致的偏差,从而使得每次本地更新尽可能接近于全局更新,并且,模型更新的效果不受各边缘设备更新次数的限制。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于机器异构性的联邦学习方法流程示意图。
图2为本发明实施例提供的基于机器异构性的联邦学习的算法效果图。
图3为本发明实施例提供的基于机器异构性的联邦学习装置的原理框图。
图4为本发明实施例提供的智能终端的内部结构原理框图。
具体实施方式
本发明公开了基于机器异构性的联邦学习方法、智能终端、存储介质,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
由于现有技术中,多数联邦学习训练方法是针对同构环境的,对于异构环境并不实用性。如果以异步的方式解决这一问题的话,会存在一些数据无法充分利用,若单纯通过各边缘设备训练不等次数以提高利用率的话,则会出现需要优化的目标函数和实际优化的目标函数不一致的情况。
为了解决现有技术的问题,本实施例提供了一种基于机器异构性的联邦学习方法,通过上述方法对各边缘设备的预估梯度校准技术来实现移除各边缘设备与服务器的偏差,同时补偿本地更新次数不同导致的偏差,从而使得每次本地更新尽可能接近于全局更新,并且,模型更新的效果不受各边缘设备更新次数的限制。具体实施时,先接收服务器统一发送的初始模型、全局梯度和全局模型参数;然后根据初始模型、全局梯度和全局模型参数,得到预估梯度校准值;其中,预估梯度校准值用于表征各边缘设备的本地梯度与服务器的全局梯度的偏差以及各边缘设备因本地更新次数不同而产生的偏差;接着基于预估梯度校准值,得到目标本地梯度和目标本地模型参数;最后将所述目标本地梯度和所述目标本地模型参数发送至所述服务器,以使所述服务器生成更新后的全局梯度和全局模型参数。
示例性方法
本实施例提供一种基于机器异构性的联邦学习方法,该方法可以应用于人工智能的智能终端。具体如图1所示,所述方法包括:
步骤S100、接收服务器统一发送的初始模型、全局梯度和全局模型参数;
联邦学习本质上是一种分布式机器学习技术,或机器学习框架,其目标是在保证数据隐私安全及合法合规的基础上,实现共同建模,提升AI模型的效果。联邦学习分为横向联邦学习、纵向联邦学习和联邦迁移学习。在本发明实施例中,联邦学习采用的是横向联邦学习,横向联邦学习的本质是样本的联合,适用于参与者间业态相同但触达客户不同,即特征重叠多,用户重叠少时的场景,比如不同地区的银行间,他们的业务相似(特征相似),但用户不同(样本不同)。在横向联邦学习过程中,所有的边缘设备都是从服务器中获取同等的资源,如服务器统一发送的初始模型、全局梯度和全局模型参数,以便各边缘设备在进行本地训练时训练效率更高。在本实施例中,各边缘设备与服务器的交互过程是循环进行的,其中,所述循环的全局次数为T,T可以设置为200次,在每一次的全局循环中,在接收服务器统一发送的初始模型、全局梯度和全局模型参数之后需要将所述全局模型参数作为初始本地模型参数。
得到服务器统一发送的初始模型、全局梯度和全局模型参数后,就可以执行如图1所示的如下步骤:步骤S200、根据所述初始模型、所述全局梯度和所述全局模型参数,得到预估梯度校准值;其中,所述预估梯度校准值用于表征各边缘设备的本地梯度与服务器的全局梯度的偏差以及各边缘设备因本地更新次数不同而产生的偏差;
具体地,由于现有技术中在处理异构联邦学习网络时,会由于不同边缘设备的算力的不同而导致联邦学习的训练效率不高的问题。如:假设有A和B两个不同的设备,A进行100次本地更新需要1小时,而B进行100次本地更新需要24小时。服务器设定的前提分为同步算法和异步算法两种情况,在现有同步算法下,为了使A设备与B设备的更新进度同步,服务器每完成一次全局更新需要24小时,此时,A设备和B设备都完成了100次的本地更新,但是,对于A设备而言,A设备在1小时内已经完成了100次更新,就会产生23小时的空余时间,这对A设备造成了时间资源浪费。在异步算法下,由于服务器设定每个设备需进行100次本地更新后方可与服务器的参数进行交互,那么,当B设备完成这样一整轮的本地更新后,A设备已经与服务器进行了24次交互,服务器通常不会利用B设备的参数调整全局模型的参数,显然,这样会导致整个联邦学习的训练效率低下的问题。为此,本发明实施例根据所述初始模型、所述全局梯度和所述全局模型参数,得到预估梯度校准值,通过调整各边缘设备中的预估梯度校准值,在同步模式下,该算法利用预估梯度校准的方式使得优化的目标函数和实际优化的目标函数一致,同时支持各边缘设备的本地模型训练更新次数不一致。相应的,所述根据所述初始模型、所述全局梯度和所述全局模型参数,得到预估梯度校准值包括如下步骤:基于预设的本地数据和所述初始模型,得到本地梯度;基于所述全局梯度、所述全局模型参数和所述本地梯度,得到预估梯度校准值。
具体地,预设的本地数据为各边缘设备根据本地用户的实际设置的训练数据集,将所述本地数据输入到所述初始模型,并对所述初始模型进行训练,得到本地梯度;然后基于得到的所述本地梯度,再加上所述全局梯度和所述全局模型参数就可以得到预估梯度校准值。相应的,所述基于所述全局梯度、所述本地梯度和所述初始本地模型参数,得到预估梯度校准值包括如下步骤:基于所述全局梯度和所述本地梯度,得到第一偏差值,其中,所述第一偏差值用于表征各边缘设备的本地梯度与服务器的全局梯度的偏差;基于所述全局模型参数和所述初始本地模型参数,得到第二偏差值,其中,所述第二偏差值用于表征各边缘设备因本地更新次数不同而产生的偏差;基于所述第一偏差值和所述第二偏差值,得到预估梯度校准值。
具体地,在每一次的全局交互过程中,将所述全局梯度减去所述本地梯度vi,得到第一偏差值;其中,所述第一偏差值用于表征各边缘设备的本地梯度与服务器的全局梯度的偏差;根据所述初始本地模型参数得到前一次全局交互时的目标本地模型参数将所述全局模型参数减去前一次全局交互时的所述目标本地模型参数得到第二偏差值,其中,所述第二偏差值用于表征各边缘设备因本地更新次数不同而产生的偏差;最后基于所述第一偏差值和所述第二偏差值,得到预估梯度校准值。相应的,为了得到预估梯度校准值,所述基于所述第一偏差值和所述第二偏差值,得到预估梯度校准值包括如下步骤:获取所述边缘设备的本地更新次数;根据所述本地更新次数和所述第二偏差值,得到中间第二偏差值;将所述第一偏差值加上所述中间第二偏差值,得到预估梯度校准值。
具体地,对于每一个并行处理的边缘设备而言,先要获取各个边缘设备的本地更新次数Ki;同时要获取学习率的步长η,η取值可以为0.01,获取调整因子λ,其中调整因子λ的取值可以为0.1,将学习率的步长η乘以各个边缘设备的本地更新次数Ki,得到第一乘积结果,将所述第一乘积结果乘以所述第二偏差值,得到第二乘积结果,再将调整因子λ除以第二乘积结果,得到中间第二偏差值,在将所述第一偏差值加上所述中间第二偏差值,得到得到预估梯度校准值c。例如:如图2左一所示,传统的算法在本地进行朴素更新,在本地更新次数一致的情况下,这种做法具备较好的更新效率;如图2左二所示,当更新不一致时,由于实际的优化目标函数与目标不一致,因而稳定点偏离了全局最优的位置,该训练方式破坏了模型的可用性,使得全局模型的可用性大打折扣。如图2左三所示,本发明实施例可以对每次本地更新的梯度进行校准,避免过分偏离全局更新的方向。
得到预估梯度校准值之后,就可以执行如图1所示的如下步骤:步骤S300、基于所述预估梯度校准值,得到目标本地梯度和目标本地模型参数;
由于在联邦学习的异构网络中,所述联邦学习训练效率的低下主要是由于各边缘设备的算力不同,导致在相同的时间内各边缘设备的本地更新次数不同,进而影响异构网络下各边缘设备的本地更新梯度与全局更新的梯度存在很大的差异,使得训练出来的模型不准确,降低了联邦学习的模型训练效率,故采用预估梯度校准的方式。根据各个边缘设备的所述预估梯度校准值,得到目标本地梯度和目标本地模型参数,使得各个边缘设备的本地更新更贴近全局更新。相应的,为了得到目标本地梯度和目标本地模型参数,所述基于所述预估梯度校准值,得到目标本地梯度和目标本地模型参数包括如下步骤:获取数据样本;其中,所述数据样本是从边缘设备的样本中获取得到;根据所述数据样本和所述初始本地模型参数,得到损失函数偏导数;根据所述损失函数偏导数,得到目标本地梯度;根据所述损失函数偏导数、所述初始本地模型参数和所述预估梯度校准值,得到目标本地模型参数。
具体地,从第i台设备的样本Di中获取一个随机数据样本在各个边缘设备进行模型训练的时候,各边缘设备会进行Ki次的本地更新,然后根据所述数据样本和所述初始本地模型参数,得到损失函数偏导数。相应的,为了得到损失函数偏导数,所述根据所述数据样本和所述初始本地模型参数,得到损失函数偏导数包括如下步骤:根据所述数据样本和所述初始本地模型参数,得到损失函数;对所述损失函数进行求偏导,得到损失函数偏导数。
具体地,在k=0时,是将全局模型参数赋值给初始本地模型参数在k从1到Ki-1次的循环更新过程中,各边缘设备更新过程中的本地模型参数是然后根据所述随机样本和各边缘设备更新过程中的本地模型参数得到损失函数然后对所述损失函数进行求偏导,得到损失函数偏导数当k=0时,将赋值给vi,得到目标本地梯度vi,这样,各边缘设备的起始端点一样,使得服务器更容易将各个边缘设备的目标本地梯度vi聚合为跟全局梯度一样。此外,在k从0到Ki-1次的循环更新过程中,先将损失函数偏导数加上所述预估梯度校准值c,得到补偿损失函数偏导数,然后将所述补偿损失函数偏导数乘以学习率步长η,得到目标损失函数偏导数再将各边缘设备更新过程中的本地模型参数减去所述目标损失函数偏导数l,得到各边缘设备更新过程中的后一次本地模型参数当各边缘设备更新过程结束时,也即当k=Ki-1时,得到目标本地模型参数
得到目标本地梯度和目标本地模型参数之后,执行如图1所示的如下步骤:S400、将所述目标本地梯度和所述目标本地模型参数发送至所述服务器,以使所述服务器生成更新后的全局梯度和全局模型参数。
具体地,各个边缘设备将各自得到的所述目标本地梯度和所述目标本地模型参数都发送到服务器中,服务器接收边缘设备的所述目标本地梯度和所述目标本地模型参数,并对各边缘设备的所述目标本地梯度和所述目标本地模型参数进行整合,在本实施例中,各边缘设备与服务器的交互过程是循环进行的,其中,所述循环的全局次数为T,T可以设置为200次。可以理解的是,在联邦学习之初,是各边缘设备接收初始的全局梯度的值和初始的全局模型参数的值为0。而在各边缘设备进行了一次模型训练,并且所述服务器进行了聚合操作之后,所述全局梯度和所述全局模型参数的值不再是0,相应的,在第2次到第T次时,由于所述服务器与各边缘设备都有交互,在各边缘设备进行了一次模型训练后,在进行2-T次的全局交互过程中,各边缘设备会得到每一次全局交互后的目标本地梯度和目标本地模型参数;此时,所述服务器会接收到各边缘设备发送的所述目标本地梯度和所述目标本地模型参数,然后对所述目标本地梯度进行加权求和计算,得到更新后的全局梯度,例如:在上述公式中,vi代表的是第i个边缘设备的目标本地梯度,wi为第i个边缘设备相应的权重,将所有边缘设备的目标本地梯度乘以相应的权重后再进行累加,就可以得到更新后的全局梯度基于同样的道理,对所述目标本地模型参数进行加权求和计算,得到更新后的全局模型参数,例如:上述公式中,为在进行1-T次的全局交互过程中,得到的所述目标本地模型参数,wi为第i个边缘设备相应的权重,也即将每次全局交互过程中得到的所述目标本地模型参数乘以第i个边缘设备相应的权重,得到每一个边缘设备的权重目标本地模型参数,然后将所有边缘设备的权重目标本地模型参数累加,就可以得到更新后的全局模型参数
此外,所述将所述目标本地梯度和所述目标本地模型参数发送至所述服务器,以使所述服务器生成更新后的全局梯度和全局模型参数之后包括:
接收服务器统一发送的更新后的全局梯度和全局模型参数,并重复执行根据所述初始模型、所述全局梯度和所述全局模型参数,得到预估梯度校准值的步骤。
具体地,在服务器和各边缘设备的第2次到第T次交互过程中,边缘设备都会接收服务器统一发送的更新后的全局梯度和全局模型参数,然后根据之前的初始模型以及更新后的全局梯度和全局模型参数继续进行运算,得到预估梯度校准值,再根据所述预估梯度校准值,得到更新后的目标本地梯度和目标本地模型参数;将更新后的目标本地梯度和目标本地模型参数发送至所述服务器的步骤。在服务器和各边缘设备的第2次到第T次交互过程中,对于边缘服务器而言,服务器会再次将更新后目标本地梯度和所述目标本地模型参数发送至所述服务器。如此循环往复T-1次。
示例性设备
如图3中所示,本发明实施例提供一种基于机器异构性的联邦学习装置,该装置包括服务器的数据接收单元501,预估梯度校准值获取单元502,目标参数获取单元503,目标参数发送单元504,其中:
服务器的数据接收单元501,用于接收服务器统一发送的初始模型、全局梯度和全局模型参数;
预估梯度校准值获取单元502,用于根据所述初始模型、所述全局梯度和所述全局模型参数,得到预估梯度校准值;其中,所述预估梯度校准值用于表征各边缘设备的本地梯度与服务器的全局梯度的偏差以及各边缘设备因本地更新次数不同而产生的偏差;
目标参数获取单元503,用于基于所述预估梯度校准值,得到目标本地梯度和目标本地模型参数;
目标参数发送单元504,用于将所述目标本地梯度和所述目标本地模型参数发送至所述服务器,以使所述服务器生成更新后的全局梯度和全局模型参数。
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图4所示。该智能终端包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于机器异构性的联邦学习方法。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏,该智能终端的温度传感器是预先在智能终端内部设置,用于检测内部设备的运行温度。
本领域技术人员可以理解,图4中的原理图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
接收服务器统一发送的初始模型、全局梯度和全局模型参数;
根据所述初始模型、所述全局梯度和所述全局模型参数,得到预估梯度校准值;其中,所述预估梯度校准值用于表征各边缘设备的本地梯度与服务器的全局梯度的偏差以及各边缘设备因本地更新次数不同而产生的偏差;
基于所述预估梯度校准值,得到目标本地梯度和目标本地模型参数;
将所述目标本地梯度和所述目标本地模型参数发送至所述服务器,以使所述服务器生成更新后的全局梯度和全局模型参数。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
综上所述,本发明公开了基于机器异构性的联邦学习方法、智能终端、存储介质,所述方法包括:接收服务器统一发送的初始模型、全局梯度和全局模型参数;根据初始模型、全局梯度和全局模型参数,得到预估梯度校准值;其中,预估梯度校准值用于表征各边缘设备的本地梯度与服务器的全局梯度的偏差以及各边缘设备因本地更新次数不同而产生的偏差;基于预估梯度校准值,得到目标本地梯度和目标本地模型参数;将所述目标本地梯度和所述目标本地模型参数发送至所述服务器,以使所述服务器生成更新后的全局梯度和全局模型参数。本发明实施例通过对各边缘设备的预估梯度校准技术来实现移除各边缘设备与服务器的偏差,同时补偿本地更新次数不同导致的偏差,从而使得每次本地更新尽可能接近于全局更新,并且,模型更新的效果不受各边缘设备更新次数的限制。
基于上述实施例,本发明公开了一种基于机器异构性的联邦学习方法,应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种基于机器异构性的联邦学习方法,其特征在于,所述方法包括:
接收服务器统一发送的初始模型、全局梯度和全局模型参数;
根据所述初始模型、所述全局梯度和所述全局模型参数,得到预估梯度校准值;其中,所述预估梯度校准值用于表征各边缘设备的本地梯度与服务器的全局梯度的偏差以及各边缘设备因本地更新次数不同而产生的偏差;
基于所述预估梯度校准值,得到目标本地梯度和目标本地模型参数;
将所述目标本地梯度和所述目标本地模型参数发送至所述服务器,以使所述服务器生成更新后的全局梯度和全局模型参数。
2.根据权利要求1所述的基于机器异构性的联邦学习方法,其特征在于,所述接收服务器统一发送的初始模型、全局梯度和全局模型参数之后包括:
将所述全局模型参数作为初始本地模型参数。
3.根据权利要求2所述的基于机器异构性的联邦学习方法,其特征在于,所述根据所述初始模型、所述全局梯度和所述全局模型参数,得到预估梯度校准值包括:
基于预设的本地数据和所述初始模型,得到本地梯度;
基于所述全局梯度、所述全局模型参数和所述本地梯度,得到预估梯度校准值。
4.根据权利要求3所述的基于机器异构性的联邦学习方法,其特征在于,所述基于所述全局梯度、所述全局模型参数和所述本地梯度,得到预估梯度校准值包括:
基于所述全局梯度和所述本地梯度,得到第一偏差值,其中,所述第一偏差值用于表征各边缘设备的本地梯度与服务器的全局梯度的偏差;
基于所述全局模型参数和所述初始本地模型参数,得到第二偏差值,其中,所述第二偏差值用于表征各边缘设备因本地更新次数不同而产生的偏差;
基于所述第一偏差值和所述第二偏差值,得到预估梯度校准值。
5.根据权利要求4所述的基于机器异构性的联邦学习方法,其特征在于,所述基于所述第一偏差值和所述第二偏差值,得到预估梯度校准值包括:
获取本地更新次数;
根据所述本地更新次数和所述第二偏差值,得到中间第二偏差值;
将所述第一偏差值加上所述中间第二偏差值,得到预估梯度校准值。
6.根据权利要求5所述的基于机器异构性的联邦学习方法,其特征在于,所述基于所述预估梯度校准值,得到目标本地梯度和目标本地模型参数包括:
获取数据样本;其中,所述数据样本是从边缘设备的样本中获取得到;
根据所述数据样本和所述初始本地模型参数,得到损失函数偏导数;
根据所述损失函数偏导数,得到目标本地梯度;
根据所述损失函数偏导数、所述初始本地模型参数和所述预估梯度校准值,得到目标本地模型参数。
7.根据权利要求6所述的基于机器异构性的联邦学习方法,其特征在于,所述根据所述数据样本和所述初始本地模型参数,得到损失函数偏导数包括:
根据所述数据样本和所述初始本地模型参数,得到损失函数;
对所述损失函数进行求偏导,得到损失函数偏导数。
8.根据权利要求7所述的基于机器异构性的联邦学习方法,其特征在于,所述将所述目标本地梯度和所述目标本地模型参数发送至所述服务器,以使所述服务器生成更新后的全局梯度和全局模型参数之后包括:
接收服务器统一发送的更新后的全局梯度和全局模型参数,并重复执行根据所述初始模型、所述全局梯度和所述全局模型参数,得到预估梯度校准值的步骤。
9.一种智能终端,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如权利要求1-7中任意一项所述的方法。
10.一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1-7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110279647.2A CN112990488B (zh) | 2021-03-16 | 2021-03-16 | 一种基于机器异构性的联邦学习方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110279647.2A CN112990488B (zh) | 2021-03-16 | 2021-03-16 | 一种基于机器异构性的联邦学习方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112990488A true CN112990488A (zh) | 2021-06-18 |
CN112990488B CN112990488B (zh) | 2024-03-26 |
Family
ID=76335330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110279647.2A Active CN112990488B (zh) | 2021-03-16 | 2021-03-16 | 一种基于机器异构性的联邦学习方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112990488B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113435537A (zh) * | 2021-07-16 | 2021-09-24 | 同盾控股有限公司 | 基于Soft GBDT的跨特征联邦学习方法、预测方法 |
CN114844889A (zh) * | 2022-04-14 | 2022-08-02 | 北京百度网讯科技有限公司 | 视频处理模型的更新方法、装置、电子设备及存储介质 |
CN115618960A (zh) * | 2022-09-21 | 2023-01-17 | 清华大学 | 联邦学习优化方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110490738A (zh) * | 2019-08-06 | 2019-11-22 | 深圳前海微众银行股份有限公司 | 一种混合联邦学习方法及架构 |
CN111931950A (zh) * | 2020-09-28 | 2020-11-13 | 支付宝(杭州)信息技术有限公司 | 一种基于联邦学习进行模型参数更新的方法及系统 |
CN112052958A (zh) * | 2020-09-04 | 2020-12-08 | 京东数字科技控股股份有限公司 | 模型训练的方法、装置、设备及计算机可读存储介质 |
CN112132277A (zh) * | 2020-09-21 | 2020-12-25 | 平安科技(深圳)有限公司 | 联邦学习模型训练方法、装置、终端设备及存储介质 |
-
2021
- 2021-03-16 CN CN202110279647.2A patent/CN112990488B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110490738A (zh) * | 2019-08-06 | 2019-11-22 | 深圳前海微众银行股份有限公司 | 一种混合联邦学习方法及架构 |
CN112052958A (zh) * | 2020-09-04 | 2020-12-08 | 京东数字科技控股股份有限公司 | 模型训练的方法、装置、设备及计算机可读存储介质 |
CN112132277A (zh) * | 2020-09-21 | 2020-12-25 | 平安科技(深圳)有限公司 | 联邦学习模型训练方法、装置、终端设备及存储介质 |
CN111931950A (zh) * | 2020-09-28 | 2020-11-13 | 支付宝(杭州)信息技术有限公司 | 一种基于联邦学习进行模型参数更新的方法及系统 |
Non-Patent Citations (1)
Title |
---|
SAI PRANEETH KARIMIREDDY ET AL.: "SCAFFOLD: Stochastic Controlled Averaging for Federated Learning", 《PROCEEDINGS OF THE 37TH INTERNATIONAL CONFERENCE ON MACHINE LEARNING》, pages 1 - 12 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113435537A (zh) * | 2021-07-16 | 2021-09-24 | 同盾控股有限公司 | 基于Soft GBDT的跨特征联邦学习方法、预测方法 |
CN114844889A (zh) * | 2022-04-14 | 2022-08-02 | 北京百度网讯科技有限公司 | 视频处理模型的更新方法、装置、电子设备及存储介质 |
CN115618960A (zh) * | 2022-09-21 | 2023-01-17 | 清华大学 | 联邦学习优化方法、装置、电子设备及存储介质 |
CN115618960B (zh) * | 2022-09-21 | 2024-04-19 | 清华大学 | 联邦学习优化方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112990488B (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112990488A (zh) | 一种基于机器异构性的联邦学习方法 | |
CN111091199B (zh) | 一种基于差分隐私的联邦学习方法、装置及存储介质 | |
CN110889509B (zh) | 一种基于梯度动量加速的联合学习方法及装置 | |
US11507626B2 (en) | Method and apparatus for processing database configuration parameter, computer device, and storage medium | |
WO2021129086A1 (zh) | 流量预测方法、装置以及存储介质 | |
EP3889846A1 (en) | Deep learning model training method and system | |
WO2021143344A1 (zh) | 码率决策模型训练方法以及电子设备 | |
CN110245147B (zh) | 区块链数据处理方法、装置、可读存储介质和计算机设备 | |
CN113808064A (zh) | 图像融合方法、装置、电子设备和介质 | |
CN115829297A (zh) | 装配式建筑的工作包生成方法、装置、终端及存储介质 | |
CN114118634B (zh) | 一种土壤水分预测方法和装置 | |
CN111274315B (zh) | 同步数据通道构建方法、装置、计算机设备和存储介质 | |
CN111079175A (zh) | 数据处理方法、装置、计算机可读存储介质和计算机设备 | |
CN114548206A (zh) | 一种基于集群的模型训练方法、装置、设备及存储介质 | |
CN116074403A (zh) | 一种多协议融合通信方法、装置及架构 | |
CN114153714A (zh) | 基于日志信息的容量调整方法、装置、设备及存储介质 | |
WO2021213626A1 (en) | First network node and method performed therein for handling data in a communication network | |
CN111784535A (zh) | 一种基于反馈神经网络的风能直接区间预测方法和装置 | |
CN115580576B (zh) | 基于自适应业务分流的路由分发方法、装置、设备及介质 | |
CN112422464B (zh) | 一种误差向量确定及非线性信号纠正方法、装置 | |
CN111355797B (zh) | 数据调和更新方法、装置、计算机设备和存储介质 | |
CN114422368B (zh) | 软件定义的天地一体化网络能耗优化的控制器部署方法 | |
KR20180039204A (ko) | 사물들의 집단 기계학습 장치 및 방법 | |
CN115134034B (zh) | 一种云边端虚实结合仿真时间同步方法及系统 | |
CN112039992B (zh) | 基于云计算架构的模型管理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |