CN111553483B - 基于梯度压缩的联邦学习的方法、装置及*** - Google Patents
基于梯度压缩的联邦学习的方法、装置及*** Download PDFInfo
- Publication number
- CN111553483B CN111553483B CN202010370062.7A CN202010370062A CN111553483B CN 111553483 B CN111553483 B CN 111553483B CN 202010370062 A CN202010370062 A CN 202010370062A CN 111553483 B CN111553483 B CN 111553483B
- Authority
- CN
- China
- Prior art keywords
- gradient
- client
- gradients
- quantized
- updated
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 230000006835 compression Effects 0.000 title claims abstract description 57
- 238000007906 compression Methods 0.000 title claims abstract description 57
- 238000013139 quantization Methods 0.000 claims abstract description 111
- 238000012549 training Methods 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims description 46
- 230000008859 change Effects 0.000 claims description 12
- 238000006467 substitution reaction Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 abstract description 16
- 230000008569 process Effects 0.000 description 24
- 239000013598 vector Substances 0.000 description 15
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000013210 evaluation model Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000003062 neural network model Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine 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)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种基于梯度压缩的联邦学习的方法、装置及***,本申请的***包括:联邦服务器将初始模型统一发送给各客户端;客户端对初始模型进行训练后得到更新的梯度,并将更新的梯度进行量化处理,得到更新的梯度的量化梯度,之后发送至联邦服务器;联邦服务器根据各客户端对应的所有量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果,并将统计结果返回给各客户端;客户端接收联邦服务器发送的统计结果,并根据统计结果计算全局的更新梯度,以根据全局的更新梯度继续进行模型的训练。本申请是为了解决现有的联邦学习***中网络传输开销大以及数据不安全的问题。
Description
技术领域
本申请涉及机器学习技术领域,具体而言,涉及一种基于梯度压缩的联邦学习的方法、装置及***。
背景技术
联邦学***均处理后将得到的全局梯度后返回给各客户端实体,以使个客户端实体进行模型的训练。
本发明人在应用上述联邦学习***的过程中,发现存在以下的问题:客户端与服务器之间需要进行网络传输,随着客户端数量的不断增多,网络传输的开销会成为***性能提升的瓶颈;另外,对于联邦服务器收集各个客户端实体更新的梯度,这个更新的梯度对于服务器是可见的,带来了安全问题。根据现有研究,梯度可以被还原为原始数据,这造成了客户端实体中原始数据的泄露。
发明内容
本申请的主要目的在于提供一种基于梯度压缩的联邦学习的方法、装置及***,以解决现有的联邦学习***中网络传输开销大以及数据不安全的问题。
为了实现上述目的,根据本申请的第一方面,提供了一种基于梯度压缩的联邦学习的方法。
根据本申请的基于梯度压缩的联邦学习的方法包括:
客户端将更新的梯度进行量化处理,得到更新的梯度的量化梯度,所述更新的梯度是所述客户端对初始模型进行训练后对应的模型梯度,所述初始模型为联邦服务器统一发送给各客户端的初始模型;
将所述量化梯度发送至所述联邦服务器,以便所述联邦服务器对各客户端对应的所有量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果;
接收所述联邦服务器发送的所述统计结果,并根据所述统计结果计算全局的更新梯度,以根据全局的更新梯度继续进行模型的训练。
可选的,在将所述量化梯度发送至所述联邦服务器之前,所述方法还包括:
所述客户端与其他客户端确定统一的加密方式;
对所述量化梯度按照所述加密方式进行加密处理。
可选的,所述加密方式为预设的排列置换方式;
所述对所述量化梯度按照所述加密方式进行加密处理包括:对所述量化梯度中的量化值按照所述的排列置换方式进行重新排列。
可选的,在根据所述统计结果计算所述全局的更新梯度之前,所述方法还包括:
将所述统计结果进行解密处理。
可选的,所述客户端将更新的梯度进行量化处理,得到更新的梯度的量化梯度包括:
所述客户端将所述更新的梯度的分量绝对值的第一最大值发送给所述联邦服务器,以便所述联邦服务器根据各客户端对应的更新的梯度的分量绝对值的第一最大值确定第二最大值,所述第二最大值为所有第一最大值中的最大值;
根据所述联邦服务器发送的所述第二最大值对所述更新的梯度进行量化处理,得到所述更新的梯度的量化梯度。
为了实现上述目的,根据本申请的第二方面,还提供了一种基于梯度压缩的联邦学习的方法。
根据本申请的基于梯度压缩的联邦学习的方法包括:
联邦服务器将初始模型统一发送给各客户端,以便各客户端对所述初始模型进行训练后得到各自对应的更新的梯度;
接收各客户端发送的各自对应的量化梯度,并对各客户端对应的所有量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果,所述量化梯度为各客户端将各自对应的更新的梯度进行量化处理得到的;
将所述统计结果返回给各客户端,以供各客户端根据所述统计结果计算全局的更新梯度。
可选的,所述各客户端对应的所有量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果包括:
分别统计每个分量位置上不同量化值的数量,所述每个分量位置为各客户端各自的更新的梯度的同一分量位置。
可选的,在接收各客户端发送的各自对应的量化梯度之前,所述方法还包括:
接收各客户端发送的各自对应的更新的梯度的分量绝对值的第一最大值;
根据所有的第一最大值确定第二最大值,所述第二最大值为所有第一最大值中的最大值;
将所述第二最大值返回给各客户端,以便各客户端根据所述第二最大值对各自的更新的梯度进行量化处理。
为了实现上述目的,根据本申请的第三方面,提供了一种基于梯度压缩的联邦学习的装置。
根据本申请的基于梯度压缩的联邦学习的装置包括:
量化单元,用于客户端将更新的梯度进行量化处理,得到更新的梯度的量化梯度,所述更新的梯度是所述客户端对初始模型进行训练后对应的模型梯度,所述初始模型为联邦服务器统一发送给各客户端的初始模型;
发送单元,用于将所述量化梯度发送至所述联邦服务器,以便所述联邦服务器对各客户端对应的所有量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果;
训练单元,用于接收所述联邦服务器发送的所述统计结果,并根据所述统计结果计算全局的更新梯度,以根据全局的更新梯度继续进行模型的训练。
可选的,所述装置还包括:
确定单元,用于在将所述量化梯度发送至所述联邦服务器之前,所述客户端与其他客户端确定统一的加密方式;
加密单元,用于对所述量化梯度按照所述加密方式进行加密处理。
可选的,所述加密方式为预设的排列置换方式,所加密单元用于:
对所述量化梯度中的量化值按照所述的排列置换方式进行重新排列。
可选的,所述装置还包括:
解密单元,用于在根据所述统计结果计算所述全局的更新梯度之前,将所述统计结果进行解密处理。
可选的,所述量化单元,包括:
发送模块,用于所述客户端将所述更新的梯度的分量绝对值的第一最大值发送给所述联邦服务器,以便所述联邦服务器根据各客户端对应的更新的梯度的分量绝对值的第一最大值确定第二最大值,所述第二最大值为所有第一最大值中的最大值;
量化模块,用于根据所述联邦服务器发送的所述第二最大值对所述更新的梯度进行量化处理,得到所述更新的梯度的量化梯度。
为了实现上述目的,根据本申请的第四方面,还提供了一种基于梯度压缩的联邦学习的装置。
根据本申请的基于梯度压缩的联邦学习的装置包括:
发送单元,用于联邦服务器将初始模型统一发送给各客户端,以便各客户端对所述初始模型进行训练后得到各自对应的更新的梯度;
统计单元,用于接收各客户端发送的各自对应的量化梯度,并对各客户端对应的所有量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果,所述量化梯度为各客户端将各自对应的更新的梯度进行量化处理得到的;
第一返回单元,用于将所述统计结果返回给各客户端,以供各客户端根据所述统计结果计算全局的更新梯度。
可选的,所述统计单元,用于:
分别统计每个分量位置上不同量化值的数量,所述每个分量位置为各客户端各自的更新的梯度的同一分量位置。
可选的,所述装置还包括:
接收单元,用于在接收各客户端发送的各自对应的量化梯度之前,接收各客户端发送的各自对应的更新的梯度的分量绝对值的第一最大值;
确定单元,用于根据所有的第一最大值确定第二最大值,所述第二最大值为所有第一最大值中的最大值;
第二返回单元,用于将所述第二最大值返回给各客户端,以便各客户端根据所述第二最大值对各自的更新的梯度进行量化处理。
为了实现上述目的,根据本申请的第五方面,提供了一种基于梯度压缩的联邦学习的***,所述***包括各客户端、联邦服务器;
所述各客户端,用于执行前述第一方面中任一项所述的基于梯度压缩的联邦学习的方法;
所述联邦服务器,用于执行前述第二方面中任一项所述的基于梯度压缩的联邦学习的方法。
为了实现上述目的,根据本申请的第六方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行上述第一方面、第二方面中任意一项所述的基于梯度压缩的联邦学习的方法。
在本申请实施例中,基于梯度压缩的联邦学习的方法、装置及***中,联邦服务器将初始模型统一发送给各客户端;客户端对初始模型进行训练后得到更新的梯度,并将更新的梯度进行量化处理后发送至联邦服务器;联邦服务器对各客户端对应的所有量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果,并将统计结果返回给各客户端;客户端接收联邦服务器发送的统计结果,并根据统计结果计算全局的更新梯度,以根据全局的更新梯度继续进行模型的训练。可以看到,本申请中客户端和联邦服务器之间传输的模型梯度是量化后的梯度,量化后的梯度大大的减少了占用的空间,因此可以减少客户端和联邦服务器的通信量,有助于性能的提升,解决了现有的联邦学习***中网络传输开销大的问题。另外,在客户端与联邦服务器通信的过程中,传输的是量化后的模型梯度而不是原始的模型梯度,因此可以有效的避免根据原始的模型梯度可以将原始数据泄露的危险,保证了客户端本地数据的安全。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的一种基于梯度压缩的联邦学习的方法流程图;
图2是根据本申请实施例提供的另一种基于梯度压缩的联邦学习的方法流程图;
图3是根据本申请实施例提供的又一种基于梯度压缩的联邦学习的方法流程图;
图4是根据本申请实施例提供的再一种基于梯度压缩的联邦学习的方法流程图;
图5是根据本申请实施例提供的再一种基于梯度压缩的联邦学习的方法流程图;
图6是根据本申请实施例提供的一种基于梯度压缩的联邦学习的装置的组成框图;
图7是根据本申请实施例提供的另一种基于梯度压缩的联邦学习的装置的组成框图;
图8是根据本申请实施例提供的又一种基于梯度压缩的联邦学习的装置的组成框图;
图9是根据本申请实施例提供的再一种基于梯度压缩的联邦学习的装置的组成框图;
图10是根据本申请实施例提供的一种基于梯度压缩的联邦学习的***的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
根据本申请实施例,提供了一种基于梯度压缩的联邦学习的方法,该方法应用于客户端侧如图1所示,该方法包括如下的步骤:
S101.客户端将更新的梯度进行量化处理,得到更新的梯度的量化梯度。
初始阶段,联邦服务器统一发送给各客户端初始模型,各客户端分别基于本地数据进行模型训练,得到更新的梯度,更新的梯度是客户端对初始模型进行训练后对应的模型梯度。各客户端和联邦服务器中初始模型以及对应参数都是统一的,每个客户端按照各自的本地数据进行训练后,模型的参数发生变化,模型参数对应的梯度也发生变化,本实施例中模型梯度为模型参数的梯度。模型为神经网络模型等其他需要通过联邦学***台的综合得到,但是多方机构或者平台的数据又不愿共享,因此就可以用联邦学***台相当于上述的各客户端,信用分的评价模型相当于上述模型。
量化是指将信号的连续取值(或者大量可能的离散取值)近似为有限多个(或较少的)离散值的过程。本实施例中对更新的梯度进行量化处理是将数量较多的原始的更新的梯度用较少数量的值替换。给出具体的示例进行说明,假设客户端对应的更新的梯度向量为[v1,v2,…,vN],较少数量的值为1,0,-1,对更新的梯度进行量化处理即将v1,v2,…,vN分别转换为1,0,-1其中的任意一个,完成更新的梯度的量化处理。在实际的应用中,1,0,-1也可以根据实际需求做适应性的调整,本示例只是示意性的说明。
对更新的梯度进行量化处理是为了将客户端与联邦服务器之间传输的模型梯度进行压缩,减少通信量。
S102.将量化梯度发送至联邦服务器。
将量化梯度发送至联邦服务器是为了使联邦服务器对各客户端对应的所有量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果,并将统计结果返回给各客户端。具体的,结合上述示例对数量统计的过程进行说明:上述示例中量化梯度的向量中的每个分量是由1,0,-1组成的,1,0,-1就是量化梯度中的量化值。“各客户端对应的所有量化梯度按照量化梯度中量化值的不同进行数量统计”即分别统计每个分量中“1”的数量、“0”的数量以及“-1”的数量。每个分量是指所有客户端分别对应的同一位置的分量,所有客户端的梯度向量的维度是相同的。给出具体的示例进行说明:假设有4个客户端,A、B、C、D,其分别对应的更新的梯度向量为[v11,v21,…,vN1];[v12,v22,…,vN2];[v13,v23,…,vN3];[v14,v24,…,vN4],则分别统计的是v11、v12、v13、v14中的1,0,-1数量;v21、v22、v23、v24中的1,0,-1数量;…;vN1、vN2、vN3、vN4中的1,0,-1数量。
S103.接收联邦服务器发送的统计结果,并根据统计结果计算全局的更新梯度,以根据全局的更新梯度继续进行模型的训练。
以上述示例为例进行本步骤的说明:客户端接收到联邦服务器发送的统计结果后,根据统计结果中的“1”的数量、“0”的数量以及“-1”的数量,以及客户端的总数量,计算全局的更新梯度。每个客户端得到的计算得到的全局的更新梯度是相同的。
客户端得到全局的更新梯度后根据全局的更新梯度继续进行模型的训练,得到新一轮的更新的梯度,再重复进行前述步骤,直到模型训练结束为止。
另外,在客户端与联邦服务器通信的过程中,传输的是量化后的模型梯度而不是原始的模型梯度,因此可以有效的避免根据原始的模型梯度可以将原始数据泄露的危险,保证了客户端本地数据的安全。
从以上的描述中,可以看出,本申请实施例的基于梯度压缩的联邦学习的方法中,联邦服务器将初始模型统一发送给各客户端;客户端对初始模型进行训练后得到更新的梯度,并将更新的梯度进行量化处理后发送至联邦服务器;联邦服务器对各客户端对应的所有量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果,并将统计结果返回给各客户端;客户端接收联邦服务器发送的统计结果,并根据统计结果计算全局的更新梯度,以根据全局的更新梯度继续进行模型的训练。可以看到,本申请中客户端和联邦服务器之间传输的模型梯度是量化后的梯度,量化后的梯度大大的减少了占用的空间,因此可以减少客户端和联邦服务器的通信量,有助于性能的提升,解决了现有的联邦学习***中网络传输开销大的问题。另外,在客户端与联邦服务器通信的过程中,传输的是量化后的模型梯度而不是原始的模型梯度,因此可以有效的避免根据原始的模型梯度可以将原始数据泄露的危险,保证了客户端本地数据的安全。
进一步的,作为上述实施例的进一步的补充和细化,还提供了一种基于梯度压缩的联邦学习的方法,该方法应用于客户端侧,如图2所示,该方法包括如下的步骤:
S201、客户端将更新的梯度的分量绝对值的第一最大值发送给联邦服务器。
更新的梯度与图1中的含义相同,此处不再赘述。本步骤中将第一最大值发送给联邦服务器的目的是使联邦服务器根据所有客户端对应的分量绝对值的第一最大值(每个客户端对应一个第一最大值,不同的客户端对应的第一最大值可能不同)确定所有最大值中的第二最大值。确定第二最大值的目的是为了根据第二最大值对更新的梯度进行量化处理。
S202、根据联邦服务器发送的第二最大值对更新的梯度进行量化处理,得到更新的梯度的量化梯度。
以图1步骤S101中的具体示例为例对本步骤中的量化处理进行说明:假设客户端训练得到的更新的梯度是向量[v1,v2,…,vN],按照下述规则对更新的梯度进行量化,即按照下述规则对v1,v2,…,vN进行0,1,-1转换,为了方便,下述将第二最大值记作B:
如果vi(i=1,2,…,N)大于0,那么量化后vi有vi/B的概率为1,有1-vi/B的概率为0(需要说明的是vi的绝对值越接近B,在量化的过程中为1的概率越大);如果vi小于0,那么量化后vi有-vi/B的概率为-1,有1+vi/B的概率为0(需要说明的是vi的绝对值越接近B,在量化的过程中为-1的概率越大);如果vi等于0,量化后依旧为0。按照这种方法量化后,客户端更新的梯度的量化梯度向量为[u1,u2,…,uN],u1,u2,…,uN的值均为0,1,-1其中的一个值。量化后的梯度分量用2个bit就可以表示,大大的减少了占用的空间。
S203、客户端与其他客户端确定统一的加密方式,并对量化梯度按照加密方式进行加密处理。
对量化梯度进行加密是为了进一步保护数据的安全。加密方式是由训练模型的多个客户端公共协商确定的。具体的加密方式可以为同态加密或者按照预设的排列置换方式进行重新排列。同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。同态加密需要设置同态加密函数,基于同态加密函数进行加密处理。加密函数可以为加同态加密、乘同态加密等。具体的预设的排列置换方式为对0,1,-1按照某种预设方式排列,即将得到量化梯度向量ui(i=1,2,…,N)按照某种预设方式进行重新排列。
S204、将量化梯度发送至联邦服务器。
具体为将加密后的量化梯度发送至联邦服务器,发给联邦服务器的目的是为了使联邦服务器根据各客户端发送的量化梯度按照加密后的结果进行数量统计,然后再将统计结果返回给客户端。
本步骤中进行数量统计的实现方式与图1步骤S103中的实现方式类似,唯一的区别是将量化梯度替换为加密后的量化梯度。
S205、将联邦服务器返回的统计结果进行解密处理。
针对于加密方式可以为同态加密或者按照预设的排列置换方式进行重新排列,对应的解密处理也需要根据使用的具体的加密方式进行解密。针对根据加密后的量化梯度得到的统计结果,对于同态加密的方式,需要根据加密函数对应的解密运算对统计结果进行解密得到加密前的统计结果。对于按照预设的排列置换方式进行重新排列的加密方式,对应的解密处理为将联邦服务器返回的统计结果进行逆置换,确定重新排列前的统计结果。
S206、根据统计结果计算全局的更新梯度。
本实施例中全局的更新梯度的定义为各客户端梯度的均值。以前述示例为例对本步骤中计算全局的更新梯度的原理进行说明:客户端进行解密处理后得到加密前的统计结果,然后根据统计结果中的每个分量位置对应的“1”的数量、“0”的数量以及“-1”的数量,以及客户端的总数量,计算全局的更新梯度,每个客户端得到的计算得到的全局的更新梯度是相同的。假设某分量位置只有k个1值,那么合成后的全局的更新梯度(平均梯度)的这个分量为k*B/M,其中M为总共的客户端数量;若只有k个-1值,那么合成后的全局的更新梯度的这个分量为-k*B/M;对于只有0值的分量,那么合成后的全局的更新梯度的这个分量还为0。若一个分量的统计结果中有1,-1,0值中的两种或者三种,则该合成后的全局的更新梯度的这个分量的计算公式为:若1,-1,0对应的数量分别为P1、P2、P3,则全局的更新梯度的这个分量为P1*B/M+(-P2*B/M)+P3*0=(P1-P2)*B/M。
合成的全局的更新梯度与将各客户端更新的梯度直接求平均值的结果差距不大,在实际的验证中证明并没有影响模型训练的最终结果。
客户端得到全局的更新梯度后根据全局的更新梯度继续进行模型的训练,得到新一轮的更新的梯度,再重复进行前述步骤,直到模型训练结束为止。
根据本申请实施例,提供了另一种基于梯度压缩的联邦学习的方法,该方法应用于联邦服务器侧如图3所示,该方法包括如下的步骤:
S301、联邦服务器将初始模型统一发送给各客户端,以便客户端对初始模型进行训练后得到更新的梯度。
初始阶段,联邦服务器统一发送给各客户端初始模型,使各客户端分别基于本地数据进行模型训练,得到更新的梯度,更新的梯度是客户端对初始模型进行训练后对应的模型梯度。各客户端和联邦服务器中初始模型以及对应参数都是统一的,每个客户端按照各自的本地数据进行训练后,模型的参数发生变化,模型参数对应的梯度也发生变化,本实施例中模型梯度为模型参数的梯度。模型为神经网络模型等其他需要通过联邦学***台的综合得到,但是多方机构或者平台的数据又不愿共享,因此就可以用联邦学***台就相当于上述各客户端,信用分的评价模型就相当于上述模型。
客户端对更新的梯度进行量化处理是为了将客户端与联邦服务器之间传输的模型梯度进行压缩,减少通信量。
量化是指将信号的连续取值(或者大量可能的离散取值)近似为有限多个(或较少的)离散值的过程。本实施例中对更新的梯度进行量化处理是将数量较多的原始的更新的梯度用较少数量的值替换。给出具体的示例进行说明,假设客户端对应的更新的梯度向量为[v1,v2,…,vN],较少数量的值为1,0,-1,对更新的梯度进行量化处理即为将v1,v2,…,vN分别转换为1,0,-1其中的任意一个,完成更新的梯度的量化处理。在实际的应用中,1,0,-1也可以根据实际需求做适应性的调整,本示例只是示意性的说明。
S302、接收各客户端发送的量化梯度,并根据各客户端发送的量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果。
结合上述示例对数量统计的过程进行说明:量化梯度的向量中的每个分量是由1,0,-1组成的,1,0,-1就是量化梯度中的量化值。“各客户端对应的所有量化梯度按照量化梯度中量化值的不同进行数量统计”即分别统计每个分量中“1”的数量、“0”的数量以及“-1”的数量。每个分量是指所有客户端分别对应的同一位置的分量,所有客户端的梯度向量的维度是相同的。给出具体的示例进行说明:假设有4个客户端,A、B、C、D,其分别对应的更新的梯度向量为[v11,v21,…,vN1];[v12,v22,…,vN2];[v13,v23,…,vN3];[v14,v24,…,vN4],则分别统计的是v11、v12、v13、v14中的1,0,-1数量;v21、v22、v23、v24中的1,0,-1数量;…;vN1、vN2、vN3、vN4中的1,0,-1数量。
S303、将统计结果返回给各客户端,以使各客户端根据统计结果计算全局的更新梯度,并根据全局的更新梯度继续进行模型的训练。
本实施例中全局的更新梯度具体为各客户端求平均的梯度,对于与本上实施例的联邦学习方式,具体的根据统计结果计算全局的更新梯度为:根据统计结果中每个分量位置的“1”的数量、“0”的数量以及“-1”的数量,以及客户端的总数量,计算全局的更新梯度。最终每个客户端得到的计算得到的全局的更新梯度是相同的。
以实际示例说明全局的更新梯度的计算原理:假设某分量位置只有k个1值,那么合成后的全局的更新梯度(平均梯度)的这个分量为k*B/M,其中M为总共的客户端数量;若只有k个-1值,那么合成后的全局的更新梯度的这个分量为-k*B/M;对于只有0值的分量,那么合成后的全局的更新梯度的这个分量还为0。若一个分量的统计结果中有1,-1,0值中的两种或者三种,则该合成后的全局的更新梯度的这个分量的计算公式为:若1,-1,0对应的数量分别为P1、P2、P3,则全局的更新梯度的这个分量为P1*B/M+(-P2*B/M)+P3*0=(P1-P2)*B/M。
合成的全局的更新梯度与将各客户端更新的梯度直接求平均值的结果差距不大,在实际的验证中证明并没有影响模型训练的最终结果。
客户端得到全局的更新梯度后根据全局的更新梯度继续进行模型的训练,得到新一轮的更新的梯度,再重复进行前述步骤中的内容,直到模型训练结束为止。
从以上的描述中,可以看出,本申请实施例的基于梯度压缩的联邦学习的方法中,联邦服务器将初始模型统一发送给各客户端;客户端对初始模型进行训练后得到更新的梯度,并将更新的梯度进行量化处理后发送至联邦服务器;联邦服务器对各客户端对应的所有量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果,并将统计结果返回给各客户端;客户端接收联邦服务器发送的统计结果,并根据统计结果计算全局的更新梯度,以根据全局的更新梯度继续进行模型的训练。可以看到,本申请中客户端和联邦服务器之间传输的模型梯度是量化后的梯度,量化后的梯度大大的减少了占用的空间,因此可以减少客户端和联邦服务器的通信量,有助于性能的提升,解决了现有的联邦学习***中网络传输开销大的问题。另外,在客户端与联邦服务器通信的过程中,传输的是量化后的模型梯度而不是原始的模型梯度,因此可以有效的避免根据原始的模型梯度可以将原始数据泄露的危险,保证了客户端本地数据的安全。
进一步的,作为上述实施例的进一步的补充和细化,还提供了一种基于梯度压缩的联邦学习的方法,该方法应用于联邦服务器侧,如图4所示,该方法包括如下的步骤:
S401、联邦服务器将初始模型统一发送给各客户端。
初始阶段,联邦服务器统一发送给各客户端初始模型,使各客户端分别基于本地数据进行模型训练,得到更新的梯度,更新的梯度是客户端对初始模型进行训练后对应的模型梯度。
各客户端和联邦服务器中初始模型以及对应参数都是统一的,每个客户端按照各自的本地数据进行训练后,模型的参数发生变化,模型参数对应的梯度也发生变化,本实施例中模型梯度为模型参数的梯度。模型为神经网络模型等其他需要通过联邦学***台的综合得到,但是多方机构或者平台的数据又不愿共享,因此就可以用联邦学***台就相当于上述各客户端,信用分的评价模型就相当于上述模型。
S402、接收各客户端发送的更新的梯度的分量绝对值的第一最大值。
各客户端得到更新的梯度后,会将更新的梯度的分量绝对值的第一最大值发送给联邦服务器,因此联邦服务器可以接收到各客户端发送的更新的梯度的分量绝对值的第一最大值。
本步骤是各客户端为了对更新的梯度进行量化做铺垫的,客户端对更新的梯度进行量化后就可以将量化后的更新的梯度发送给联邦服务器,这样既保证了传输的安全性,也大大减少了通信量。
S403、确定所有第一最大值中的第二最大值,并将第二最大值返回给各客户端。
联邦服务器将接收到所有客户端发送的第一最大值,并从中选择最大的一个值记作第二最大值。将第二最大值返回给各客户端是为了使各客户端根据第二最大值对更新的梯度进行量化处理。
量化是指将信号的连续取值(或者大量可能的离散取值)近似为有限多个(或较少的)离散值的过程。本实施例中对更新的梯度进行量化处理是将数量较多的原始的更新的梯度用较少数量的值替换。给出具体的示例进行说明,假设客户端对应的更新的梯度向量为[v1,v2,…,vN],较少数量的值为1,0,-1,对更新的梯度进行量化处理即为将v1,v2,…,vN分别转换为1,0,-1其中的任意一个,完成更新的梯度的量化处理。在实际的应用中,1,0,-1也可以根据实际需求做适应性的调整,本示例只是示意性的说明。
给出具体示例为例对本步骤中的量化处理进行说明:假设客户端训练得到的更新的梯度是向量[v1,v2,…,vN],即按照下述规则对v1,v2,…,vN进行0,1,-1转换,为了方便,下述将第二最大值记作B:如果vi(i=1,2,…,N)大于0,那么量化后vi有vi/B的概率为1,有1-vi/B的概率为0(需要说明的是vi的绝对值越接近B,在量化的过程中为1的概率越大);如果vi小于0,那么量化后vi有-vi/B的概率为-1,有1+vi/B的概率为0(需要说明的是vi的绝对值越接近B,在量化的过程中为-1的概率越大);如果vi等于0,量化后依旧为0。按照这种方法量化后,客户端更新的梯度的量化梯度向量为[u1,u2,…,uN],u1,u2,…,uN的值均为0,1,-1其中的一个值。量化后的梯度分量用2个bit就可以表示,大大的减少了占用的空间。
在量化之后,为了进一步保证传输的安全性,各客户端对量化后的梯度按照所有客户端确定统一的加密方式进行加密处理。具体的加密方式可以为同态加密或者按照预设的排列置换方式进行重新排列。同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。同态加密需要设置同态加密函数,基于同态加密函数进行加密处理。加密函数可以为加同态加密、乘同态加密等。具体的预设的排列置换方式可以为对0,1,-1按照某种预设方式排列,即将得到量化后的更新的梯度向量ui(i=1,2,…,N)按照某种预设方式进行重新排列。
S404、接收各客户端发送的量化梯度,并根据各客户端发送的量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果。
本步骤中“根据各客户端发送的量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果”的实现方式与图3步骤S302中“根据各客户端发送的量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果”的实现方式是类似的,唯一不同的是,本步骤中的量化梯度为加密后的量化梯度,而图3步骤S302中的量化梯度是未加密的量化梯度。具体的实现方式可以参考步骤S302,此处不再赘述。
S405、将统计结果返回给各客户端。
“将统计结果返回给各客户端”是为了使各客户端对统计结果进行解密处理后再计算全局的更新梯度。具体的,各客户端对各客户端对统计结果进行解密处理得到加密前的统计结果(对未加密处理的量化梯度进行统计的统计结果),然后根据统计结果计算全局的更新梯度。具体的计算方式可以参见图3步骤S303中对应的实现方式,此处不再赘述。
客户端得到全局的更新梯度后根据全局的更新梯度继续进行模型的训练,得到新一轮的更新的梯度,再重复进行前述步骤中的内容,直到模型训练结束为止。
根据本申请实施例,还提供了一种基于梯度压缩的联邦学习的方法,该方法包括如下的步骤:
S501、联邦服务器将初始模型统一发送给各客户端。
本步骤的实现方式与图3步骤S301的对应实现方式相同,此处不再赘述。
S502、各客户端分别基于本地数据进行模型训练,得到更新的梯度,并将更新的梯度进行量化处理,得到更新的梯度的量化梯度。
更新的梯度是客户端对初始模型进行训练后对应的模型梯度。各客户端和联邦服务器中初始模型以及对应参数都是统一的,每个客户端按照各自的本地数据进行训练后,模型的参数发生变化,模型参数对应的梯度也发生变化,本实施例中模型梯度为模型参数的梯度。模型为神经网络模型等其他需要通过联邦学***台的综合得到,但是多方机构或者平台的数据又不愿共享,因此就可以用联邦学***台相当于上述的各客户端,信用分的评价模型相当于上述模型。
将更新的梯度进行量化处理具体包括:
1)客户端将更新的梯度的分量绝对值的第一最大值发送给联邦服务器。
本步骤的实现方式与图2步骤S201的对应实现方式相同,此处不再赘述。
2)联邦服务器接收各客户端发送的更新的梯度的分量绝对值的第一最大值,并确定所有第一最大值中的第二最大值,并将第二最大值返回给各客户端。
3)各客户端根据联邦服务器发送的第二最大值对更新的梯度进行量化处理,得到更新的梯度的量化梯度。
本步骤的实现方式与图2步骤S202的对应实现方式相同,此处不再赘述。
S503、各客户端将量化梯度发送给联邦服务器。
S504、联邦服务器接收各客户端发送的量化梯度,并根据各客户端发送的量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果。
本步骤的实现方式与图3步骤S302的对应实现方式相同,此处不再赘述。
S505、联邦服务器将统计结果发送给各客户端。
S506、各客户端根据联邦服务器发送的统计结果计算全局的更新梯度。
本步骤的实现方式与图2步骤S206的对应实现方式相同,此处不再赘述。
从以上的描述中,可以看出,本申请实施例的基于梯度压缩的联邦学习的方法中,联邦服务器将初始模型统一发送给各客户端;客户端对初始模型进行训练后得到更新的梯度,并将更新的梯度进行量化处理后发送至联邦服务器;联邦服务器对各客户端对应的所有量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果,并将统计结果返回给各客户端;客户端接收联邦服务器发送的统计结果,并根据统计结果计算全局的更新梯度,以根据全局的更新梯度继续进行模型的训练。可以看到,本申请中客户端和联邦服务器之间传输的模型梯度是量化后的梯度,量化后的梯度大大的减少了占用的空间,因此可以减少客户端和联邦服务器的通信量,有助于性能的提升,解决了现有的联邦学习***中网络传输开销大的问题。另外,在客户端与联邦服务器通信的过程中,传输的是量化后的模型梯度而不是原始的模型梯度,因此可以有效的避免根据原始的模型梯度可以将原始数据泄露的危险,保证了客户端本地数据的安全。
进一步的,为了进一步保证在传输过程中数据的安全性,在步骤S503之前,客户端与其他客户端确定统一的加密方式,并对量化梯度按照加密方式进行加密处理。(加密处理的实现方式可以参见图2步骤S203中的实现方式,此处不再赘述)对应的联邦服务器得到的统计结果是以加密的量化梯度统计的,因此,在步骤S506中各客户端根据联邦服务器发送的统计结果计算全局的更新梯度之前,需要对统计结果进行解密处理(解密处理的实现方式可以参见图2步骤S205中的实现方式,此处不再赘述),得到加密前的统计结果(对未加密处理的量化梯度进行统计的统计结果)。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本申请实施例,还提供了一种用于实施上述图1至图2所述方法的基于梯度压缩的联邦学习的装置,如图6所示,该装置包括:
量化单元61,用于客户端将更新的梯度进行量化处理,得到更新的梯度的量化梯度,所述更新的梯度是所述客户端对初始模型进行训练后对应的模型梯度,所述初始模型为联邦服务器统一发送给各客户端的初始模型;
发送单元62,用于将所述量化梯度发送至所述联邦服务器,以便所述联邦服务器对各客户端对应的所有量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果;
训练单元63,用于接收所述联邦服务器发送的所述统计结果,并根据所述统计结果计算全局的更新梯度,以根据全局的更新梯度继续进行模型的训练。
从以上的描述中,可以看出,本申请实施例的基于梯度压缩的联邦学习的装置中,联邦服务器将初始模型统一发送给各客户端;客户端对初始模型进行训练后得到更新的梯度,并将更新的梯度进行量化处理后发送至联邦服务器;联邦服务器对各客户端对应的所有量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果,并将统计结果返回给各客户端;客户端接收联邦服务器发送的统计结果,并根据统计结果计算全局的更新梯度,以根据全局的更新梯度继续进行模型的训练。可以看到,本申请中客户端和联邦服务器之间传输的模型梯度是量化后的梯度,量化后的梯度大大的减少了占用的空间,因此可以减少客户端和联邦服务器的通信量,有助于性能的提升,解决了现有的联邦学习***中网络传输开销大的问题。另外,在客户端与联邦服务器通信的过程中,传输的是量化后的模型梯度而不是原始的模型梯度,因此可以有效的避免根据原始的模型梯度可以将原始数据泄露的危险,保证了客户端本地数据的安全。
进一步的,如图7所示,所述装置还包括:
确定单元64,用于在将所述量化梯度发送至所述联邦服务器之前,所述客户端与其他客户端确定统一的加密方式;
加密单元65,用于对所述量化梯度按照所述加密方式进行加密处理;
进一步的,加密方式为预设的排列置换方式,如图7所示,加密单元65还用于:对所述量化梯度中的量化值按照所述的排列置换方式进行重新排列。
进一步的,如图7所示,所述装置还包括:
解密单元66,用于在根据所述统计结果计算所述全局的更新梯度之前,将所述统计结果进行解密处理。
进一步的,如图7所示,所述量化单元61包括:
发送模块611,用于所述客户端将所述更新的梯度的分量绝对值的第一最大值发送给所述联邦服务器,以便所述联邦服务器根据各客户端对应的更新的梯度的分量绝对值的第一最大值确定第二最大值,所述第二最大值为所有第一最大值中的最大值;
量化模块612,用于根据所述联邦服务器发送的所述第二最大值对所述更新的梯度进行量化处理,得到所述更新的梯度的量化梯度。
具体的,本申请实施例的装置中各单元、模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
根据本申请实施例,还提供了一种用于实施上述图3至图4所述方法的基于梯度压缩的联邦学习的装置,如图8所示,该装置包括:
发送单元71,用于联邦服务器将初始模型统一发送给各客户端,以便各客户端对所述初始模型进行训练后得到各自对应的更新的梯度;
统计单元72,用于接收各客户端发送的各自对应的量化梯度,并对各客户端对应的所有量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果,所述量化梯度为各客户端将各自对应的更新的梯度进行量化处理得到的;
第一返回单元73,用于将所述统计结果返回给各客户端,以供各客户端根据所述统计结果计算全局的更新梯度。
从以上的描述中,可以看出,本申请实施例的基于梯度压缩的联邦学习的装置中,联邦服务器将初始模型统一发送给各客户端;客户端对初始模型进行训练后得到更新的梯度,并将更新的梯度进行量化处理后发送至联邦服务器;联邦服务器对各客户端对应的所有量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果,并将统计结果返回给各客户端;客户端接收联邦服务器发送的统计结果,并根据统计结果计算全局的更新梯度,以根据全局的更新梯度继续进行模型的训练。可以看到,本申请中客户端和联邦服务器之间传输的模型梯度是量化后的梯度,量化后的梯度大大的减少了占用的空间,因此可以减少客户端和联邦服务器的通信量,有助于性能的提升,解决了现有的联邦学习***中网络传输开销大的问题。另外,在客户端与联邦服务器通信的过程中,传输的是量化后的模型梯度而不是原始的模型梯度,因此可以有效的避免根据原始的模型梯度可以将原始数据泄露的危险,保证了客户端本地数据的安全。
进一步的,所述统计单元72,用于:
分别统计每个分量位置上不同量化值的数量,所述每个分量位置为各客户端各自的更新的梯度的同一分量位置。
进一步的,如图9所示,所述装置还包括:
接收单元74,用于在接收各客户端发送的各自对应的量化梯度之前,接收各客户端发送的各自对应的更新的梯度的分量绝对值的第一最大值;
确定单元75,用于根据所有的第一最大值确定第二最大值,所述第二最大值为所有第一最大值中的最大值;
第二返回单元76,用于将所述第二最大值返回给各客户端,以便各客户端根据所述第二最大值对各自的更新的梯度进行量化处理。
具体的,本申请实施例的装置中各单元、模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
根据本申请实施例,还提供了一种用于实施上述图1至图5所述方法的基于梯度压缩的联邦学习的***,如图10所示,该所述***包括各客户端81、联邦服务器82;
所述各客户端81,用于执行图1-2实施例中所述的基于梯度压缩的联邦学习的方法;
所述联邦服务器82,用于执行图3-4实施例中所述的基于梯度压缩的联邦学习的方法。
从以上的描述中,可以看出,本申请实施例的基于梯度压缩的联邦学习的***中,联邦服务器将初始模型统一发送给各客户端;客户端对初始模型进行训练后得到更新的梯度,并将更新的梯度进行量化处理后发送至联邦服务器;联邦服务器对各客户端对应的所有量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果,并将统计结果返回给各客户端;客户端接收联邦服务器发送的统计结果,并根据统计结果计算全局的更新梯度,以根据全局的更新梯度继续进行模型的训练。可以看到,本申请中客户端和联邦服务器之间传输的模型梯度是量化后的梯度,量化后的梯度大大的减少了占用的空间,因此可以减少客户端和联邦服务器的通信量,有助于性能的提升,解决了现有的联邦学习***中网络传输开销大的问题。另外,在客户端与联邦服务器通信的过程中,传输的是量化后的模型梯度而不是原始的模型梯度,因此可以有效的避免根据原始的模型梯度可以将原始数据泄露的危险,保证了客户端本地数据的安全。
进一步的,本申请实施例的基于梯度压缩的联邦学习的***中,为了进一步的保证数据的安全性,各客户端将量化后的更新的梯度进行了置换后再发送给联邦服务器,置换的方式只有各客户端知道,联邦服务器是不知的,因此进一步的保证了梯度在客户端与联邦服务器之间传输的安全性。
根据本申请实施例,还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行上述方法实施例中的基于梯度压缩的联邦学习的方法。
根据本申请实施例,还提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行上述方法实施例中的基于梯度压缩的联邦学习的方法。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种基于梯度压缩的联邦学习的方法,其特征在于,所述方法包括:
客户端将更新的梯度进行量化处理,得到更新的梯度的量化梯度,所述更新的梯度是所述客户端对初始模型进行训练后对应的模型梯度,所述初始模型为联邦服务器统一发送给各客户端的初始模型;其中,每个客户端按照各自的本地数据进行训练后,模型的参数发生变化,模型参数对应的梯度也发生变化;
将所述量化梯度发送至所述联邦服务器,以便所述联邦服务器对各客户端对应的所有量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果;
接收所述联邦服务器发送的所述统计结果,并根据所述统计结果计算全局的更新梯度,以根据全局的更新梯度继续进行模型的训练;
所述客户端将更新的梯度进行量化处理,得到更新的梯度的量化梯度包括:
所述客户端将所述更新的梯度的分量绝对值的第一最大值发送给所述联邦服务器,以便所述联邦服务器根据各客户端对应的更新的梯度的分量绝对值的第一最大值确定第二最大值,所述第二最大值为所有第一最大值中的最大值;
根据所述联邦服务器发送的所述第二最大值对所述更新的梯度进行量化处理,得到所述更新的梯度的量化梯度。
2.根据权利要求1所述的基于梯度压缩的联邦学习的方法,其特征在于,在将所述量化梯度发送至所述联邦服务器之前,所述方法还包括:
所述客户端与其他客户端确定统一的加密方式;
对所述量化梯度按照所述加密方式进行加密处理。
3.根据权利要求2所述的基于梯度压缩的联邦学习的方法,其特征在于,所述加密方式为预设的排列置换方式;
所述对所述量化梯度按照所述加密方式进行加密处理包括:对所述量化梯度中的量化值按照所述的排列置换方式进行重新排列。
4.根据权利要求2所述的基于梯度压缩的联邦学习的方法,其特征在于,在根据所述统计结果计算所述全局的更新梯度之前,所述方法还包括:
将所述统计结果进行解密处理。
5.一种基于梯度压缩的联邦学习的方法,其特征在于,所述方法包括:
联邦服务器将初始模型统一发送给各客户端,以便各客户端对所述初始模型进行训练后得到各自对应的更新的梯度,其中,每个客户端按照各自的本地数据进行训练后,模型的参数发生变化,模型参数对应的梯度也发生变化;
接收各客户端发送的各自对应的量化梯度,并对各客户端对应的所有量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果,所述量化梯度为各客户端将各自对应的更新的梯度进行量化处理得到的;
将所述统计结果返回给各客户端,以供各客户端根据所述统计结果计算全局的更新梯度;
其中,在接收各客户端发送的各自对应的量化梯度之前,所述方法还包括:
接收各客户端发送的各自对应的更新的梯度的分量绝对值的第一最大值;
根据所有的第一最大值确定第二最大值,所述第二最大值为所有第一最大值中的最大值;
将所述第二最大值返回给各客户端,以便各客户端根据所述第二最大值对各自的更新的梯度进行量化处理。
6.根据权利要求5所述的基于梯度压缩的联邦学习的方法,其特征在于,所述各客户端对应的所有量化梯度按照量化梯度中量化值的不同进行数量统计,得到统计结果包括:
分别统计每个分量位置上不同量化值的数量,所述每个分量位置为各客户端各自的更新的梯度的同一分量位置。
7.一种基于梯度压缩的联邦学习的***,其特征在于,所述***包括各客户端、联邦服务器;
所述各客户端,用于执行前述权利要求1至4中任一项所述的基于梯度压缩的联邦学习的方法;
所述联邦服务器,用于执行前述权利要求5至6中任一项所述的基于梯度压缩的联邦学习的方法。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,其特征在于,所述计算机指令用于使所述计算机执行上述权利要求1至6中任意一项所述的基于梯度压缩的联邦学习的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010370062.7A CN111553483B (zh) | 2020-04-30 | 2020-04-30 | 基于梯度压缩的联邦学习的方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010370062.7A CN111553483B (zh) | 2020-04-30 | 2020-04-30 | 基于梯度压缩的联邦学习的方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111553483A CN111553483A (zh) | 2020-08-18 |
CN111553483B true CN111553483B (zh) | 2024-03-29 |
Family
ID=72000433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010370062.7A Active CN111553483B (zh) | 2020-04-30 | 2020-04-30 | 基于梯度压缩的联邦学习的方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111553483B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231746B (zh) * | 2020-09-10 | 2024-02-02 | 杭州锘崴信息科技有限公司 | 联合数据分析方法、装置、***及计算机可读存储介质 |
CN112348200B (zh) * | 2020-11-02 | 2022-11-15 | 中国科学院信息工程研究所 | 一种基于联邦学习的受控共享学习方法及*** |
CN112465786A (zh) * | 2020-12-01 | 2021-03-09 | 平安科技(深圳)有限公司 | 模型训练方法、数据处理方法、装置、客户端及存储介质 |
CN112231742B (zh) * | 2020-12-14 | 2021-06-18 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的模型联合训练方法及装置 |
CN112598127B (zh) * | 2020-12-16 | 2023-07-25 | 百度在线网络技术(北京)有限公司 | 联邦学习模型训练方法和装置、电子设备、介质和产品 |
CN112732297B (zh) * | 2020-12-31 | 2022-09-27 | 平安科技(深圳)有限公司 | 联邦学习模型的更新方法、装置、电子设备及存储介质 |
CN114841374A (zh) * | 2021-01-14 | 2022-08-02 | 新智数字科技有限公司 | 一种基于随机贪心算法的横向联邦梯度提升树优化方法 |
CN112817940B (zh) * | 2021-02-07 | 2022-03-04 | 上海嗨普智能信息科技股份有限公司 | 基于梯度压缩的联邦学习数据处理*** |
CN112906052B (zh) * | 2021-03-09 | 2022-12-23 | 西安电子科技大学 | 联邦学习中多用户梯度置换的聚合方法 |
CN112733967B (zh) * | 2021-03-30 | 2021-06-29 | 腾讯科技(深圳)有限公司 | 联邦学习的模型训练方法、装置、设备及存储介质 |
CN113098806B (zh) * | 2021-04-16 | 2022-03-29 | 华南理工大学 | 一种联邦学习下边端协同的信道适应性梯度压缩方法 |
CN113178191B (zh) * | 2021-04-25 | 2024-07-12 | 平安科技(深圳)有限公司 | 基于联邦学习的语音表征模型训练方法、装置、设备及介质 |
CN113258935B (zh) * | 2021-05-25 | 2022-03-04 | 山东大学 | 一种联邦学习中基于模型权值分布的通信压缩方法 |
CN113487036B (zh) * | 2021-06-24 | 2022-06-17 | 浙江大学 | 机器学习模型的分布式训练方法及装置、电子设备、介质 |
CN114125070B (zh) * | 2021-11-10 | 2023-06-13 | 深圳大学 | 一种量化压缩的通信方法、***、电子装置及存储介质 |
CN114339252B (zh) * | 2021-12-31 | 2023-10-31 | 深圳大学 | 一种数据压缩方法及装置 |
US11468370B1 (en) | 2022-03-07 | 2022-10-11 | Shandong University | Communication compression method based on model weight distribution in federated learning |
CN114861790B (zh) * | 2022-04-29 | 2023-03-17 | 深圳大学 | 联邦学习压缩通信的优化方法、***及装置 |
CN114827289B (zh) * | 2022-06-01 | 2023-06-13 | 深圳大学 | 一种通信压缩方法、***、电子装置和存储介质 |
WO2024050659A1 (zh) * | 2022-09-05 | 2024-03-14 | 华南理工大学 | 一种联邦学习下边端协同的信道适应性梯度压缩方法 |
CN115643105B (zh) * | 2022-11-17 | 2023-03-10 | 杭州量安科技有限公司 | 一种基于同态加密和深度梯度压缩的联邦学习方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107871160A (zh) * | 2016-09-26 | 2018-04-03 | 谷歌公司 | 通信高效联合学习 |
CN110262819A (zh) * | 2019-06-04 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 一种联邦学习的模型参数更新方法及装置 |
CN110874484A (zh) * | 2019-10-16 | 2020-03-10 | 众安信息技术服务有限公司 | 基于神经网络和联邦学习的数据处理方法和*** |
CN110909865A (zh) * | 2019-11-18 | 2020-03-24 | 福州大学 | 边缘计算中基于分层张量分解的联邦学习方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11170320B2 (en) * | 2018-07-19 | 2021-11-09 | Adobe Inc. | Updating machine learning models on edge servers |
-
2020
- 2020-04-30 CN CN202010370062.7A patent/CN111553483B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107871160A (zh) * | 2016-09-26 | 2018-04-03 | 谷歌公司 | 通信高效联合学习 |
CN110262819A (zh) * | 2019-06-04 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 一种联邦学习的模型参数更新方法及装置 |
CN110874484A (zh) * | 2019-10-16 | 2020-03-10 | 众安信息技术服务有限公司 | 基于神经网络和联邦学习的数据处理方法和*** |
CN110909865A (zh) * | 2019-11-18 | 2020-03-24 | 福州大学 | 边缘计算中基于分层张量分解的联邦学习方法 |
Non-Patent Citations (3)
Title |
---|
Jinjin Xu等."Ternary Compression for Communication-Efficient Federated Learning".《https://arxiv.org/abs/2003.03564v1》.2020,第1-13页. * |
Wei Wen等."TernGrad: Ternary Gradients to Reduce Communication in Distributed Deep Learning".《Proceedings of the 31st International Conference on Neural Information Processing Systems》.2017,第1508-1518页. * |
吴琪等."边缘学习:关键技术、应用与挑战".《无线电通信技术》.2019,第46卷(第01期),第6-25页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111553483A (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111553483B (zh) | 基于梯度压缩的联邦学习的方法、装置及*** | |
Al-Maadeed et al. | A New Chaos‐Based Image‐Encryption and Compression Algorithm | |
US9900147B2 (en) | Homomorphic encryption with optimized homomorphic operations | |
EP3384628B1 (en) | Adding privacy to standard credentials | |
CN115485700A (zh) | 用于联邦学习的方法和*** | |
CN113515760B (zh) | 横向联邦学习方法、装置、计算机设备和存储介质 | |
US10083314B2 (en) | Secret parallel processing device, secret parallel processing method, and program | |
CN111143862B (zh) | 数据处理方法、查询方法、装置、电子设备和*** | |
CN115310121A (zh) | 车联网中基于MePC-F模型的实时强化联邦学习数据隐私安全方法 | |
CN116227630A (zh) | 一种联邦学习方法及相关设备 | |
WO2017038761A1 (ja) | 秘密計算システム、秘密計算装置、および、秘密計算方法 | |
CN113935050A (zh) | 基于联邦学习的特征提取方法和装置、电子设备、介质 | |
CN114143311A (zh) | 一种基于区块链的隐私保护方案聚合方法及装置 | |
CN114726524B (zh) | 目标数据的排序方法、装置、电子设备及存储介质 | |
Hamdi et al. | An appropriate system for securing real-time voice communication based on ADPCM coding and chaotic maps | |
CN113392412B (zh) | 数据接收方法、数据发送方法及电子设备 | |
CN116383864A (zh) | 分布式环境下隐私保护联邦学习方法、***、设备及介质 | |
CN115952539A (zh) | 多数恶意下鲁棒隐私性联邦学习方法、***、设备及介质 | |
CN113537516B (zh) | 分布式机器学习模型的训练方法、装置、设备和介质 | |
JP2012194489A (ja) | 分散情報管理システム、分散情報管理方法、および分散情報管理プログラム | |
CN112417478B (zh) | 数据处理方法、装置、设备及存储介质 | |
EP3675088B1 (en) | Share generating device, share converting device, secure computation system, share generation method, share conversion method, program, and recording medium | |
CN110874479B (zh) | 安全处理决策树模型的方法、***、数据终端及处理终端 | |
CN113645022A (zh) | 一种确定隐私集合交集方法、装置、电子设备及存储介质 | |
CN112182593A (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 |