一种用于联邦贝叶斯学习的客户端选择方法及系统与流程

文档序号:33482950发布日期:2023-03-15 13:12阅读:198来源:国知局
一种用于联邦贝叶斯学习的客户端选择方法及系统与流程

1.本发明属于联邦贝叶斯学习技术领域,尤其涉及一种用于联邦贝叶斯学习的客户端选择方法及系统。


背景技术:

2.随着人们对数据安全和隐私意识的增强,将本地数据上传到远程服务器的集中式学习方法已不再是一个可行的解决方案。为了应对这一挑战,联邦学习作为一个分布式学习框架被提出,其将模型训练下放至客户端,并在服务器聚合客户端训练的局部模型。在真实环境下,由于随机噪声、信息缺失等因素,数据存在普遍的不确定性。然而,大多数联邦学习算法都是基于频率主义,而频率主义学习无法量化认知不确定性,常常会产生过度自信的决策。相比之下,贝叶斯学习更适合这种场景,其通过对模型参数的分布空间进行优化,提供了更准确的不确定性估计。
3.现有的联邦贝叶斯学习技术可以分为两个系列,变分推断和蒙特卡洛采样。这两类方法中最先进的方法包括分区分区变分推断(partitioned variational inference,pvi),其使用自然梯度下降法对来自可操作族(如指数族)的参数后验进行优化;以及分布式随机梯度朗文动力学算法(distributed stochastic gradient langevin dynamics,dsgld),其是一种分布式蒙特卡洛采样技术,通过加入高斯噪声的局部随机梯度下降维持一些马尔可夫链的更新。然而,基于变分推断的算法性能通常受到变分近似所带来的偏差的限制,而蒙特卡洛采样很慢,并且难以评估收敛性。因此,分布式斯坦变分梯度下降法(distributed stein variational gradient descent,dsvgd)被提出以消除这种偏差。该算法用确定性粒子对变分后验进行编码,这些粒子由每个选定的客户端使用斯坦变分梯度下降法(stein variational gradient descent,svgd)进行更新。当粒子的数量足够大时,任何后验都可以被近似。dsvgd通过调整粒子的数量,可以权衡偏差、收敛速度和每次迭代的复杂度。
4.现有的客户端选择方法大多适用于频率主义的联邦学习,开发一个有效的客户端选择方法用来提升联邦贝叶斯学习的收敛率,同时减少通信时延,是当前需要解决的难题。


技术实现要素:

5.本发明提供一种用于联邦贝叶斯学习的客户端选择方法及系统,用于解决联邦贝叶斯学习的收敛率低以及通信时延高的技术问题。
6.第一方面,本发明提供一种用于联邦贝叶斯学习的客户端选择方法,包括:根据先验信息设置先验分布p0(θ)、全局粒子的个数n,并设置全局粒子初始化为先验分布p0(θ)的独立同分布的采样设置初始的近似似然为向所有的客户端广播当前的全局粒子获取每个客户端的得分函数根据每个客
户端的得分函数计算全局平均似然p

,并计算得到每一个客户端k的局部似然与全局平均似然p

之间的希尔伯特内积根据每一个客户端k的局部似然与全局平均似然p

之间的希尔伯特内积计算得到各个客户端的选择概率pk,并基于各个客户端的选择概率pk选择某一客户端以及将当前的全局粒子发送给某一客户端;获取某一客户端在本地端执行svgd算法最小化局部自由能产生的新的全局粒子并基于核密度估计法由更新的全局粒子得到更新的全局变分后验q(i)(θ),直至更新的全局变分后验q(i)(θ)拟合真实目标后验p(θ),则完成迭代。
7.第二方面,本发明提供一种用于联邦贝叶斯学习的客户端选择系统,包括:设置模块,配置为根据先验信息设置先验分布p0(θ)、全局粒子的个数n,并设置全局粒子初始化为先验分布p0(θ)的独立同分布的采样设置初始的近似似然为扩散模块,配置为向所有的客户端广播当前的全局粒子第一计算模块,配置为获取每个客户端的得分函数根据每个客户端的得分函数计算全局平均似然p

,并计算得到每一个客户端k的局部似然与全局平均似然p

之间的希尔伯特内积第二计算模块,配置为根据每一个客户端k的局部似然与全局平均似然p

之间的希尔伯特内积计算得到各个客户端的选择概率pk,并基于各个客户端的选择概率pk选择某一客户端以及将当前的全局粒子发送给某一客户端;更新模块,配置为获取某一客户端在本地端执行svgd算法最小化局部自由能产生的新的全局粒子并基于核密度估计法由更新的全局粒子得到更新的全局变分后验q(i)(θ),直至更新的全局变分后验q(i)(θ)拟合真实目标后验p(θ),则完成迭代。
8.第三方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的用于联邦贝叶斯学习的客户端选择方法的步骤。
9.第四方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序指令被处理器执行时,使所述处理器执行本发明任一实施例的用于联邦贝叶斯学习的客户端选择方法的步骤。
10.本技术的用于联邦贝叶斯学习的客户端选择方法及系统,能够在每个通信轮次选择最具信息量的客户端,从而加快模型的收敛,减少通信时延。
附图说明
11.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
12.图1为本发明一实施例提供的一种用于联邦贝叶斯学习的客户端选择方法的流程图;
13.图2为本发明一实施例提供的一种用于联邦贝叶斯学习的客户端选择方法的系统图;
14.图3为本发明一实施例提供一种用于联邦贝叶斯学习的客户端选择方法在贝叶斯逻辑回归模型中带来的性能增益图;
15.图4为本发明一实施例提供的一种用于联邦贝叶斯学习的客户端选择方法在贝叶斯神经网络模型中带来的性能增益图;
16.图5为本发明一实施例提供的一种用于联邦贝叶斯学习的客户端选择系统的结构框图;
17.图6是本发明一实施例提供的电子设备的结构示意图。
具体实施方式
18.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
19.实施例一
20.请参阅图1,其示出了本技术的一种用于联邦贝叶斯学习的客户端选择方法的流程图。
21.如图1所示,本发明实现用于联邦贝叶斯学习的客户端选择的方法具体包括步骤s101-步骤s105。
22.步骤s101,根据先验信息设置先验分布p0(θ)、全局粒子的个数n,并设置全局粒子初始化为先验分布p0(θ)的独立同分布的采样设置初始的近似似然为
23.在本实施例中,服务器根据先验信息设置先验分布p0(θ),然后设置全局粒子的个数为n。进而全局粒子初始化为先验分布p0(θ)的独立同分布的采样客户端初始化局部粒子为并设置初始的近似似然为
24.步骤s102,向所有的客户端广播当前的全局粒子
25.步骤s103,获取每个客户端的得分函数根据每个客户端的得分函数
计算全局平均似然p

,并计算得到每一个客户端k的局部似然与全局平均似然p

之间的希尔伯特内积
26.在本实施例中,每个客户端k根据当前的全局粒子和本地的数据集dk,计算基于每一个全局粒子的局部似然进一步地,计算各自的得分函数并将其上传给服务器。
27.根据收到的客户端的得分函数,服务器计算全局平均似然的得分函数:
[0028][0029]
式中,pk(θn)为用户k第n个粒子的似然,表示对θn进行求导。
[0030]
进一步地,服务器通过下式估计每一个客户端k的局部似然pk与全局平均似然p

之间的希尔伯特内积
[0031][0032][0033]
式中,n为粒子数,θi为第i个粒子,θj为第j个粒子,为(没有特别的含义,单独列出来是为了简化符号),为用户k第i个粒子的似然函数的得分函数,k(θi,θj)为核函数,s
p

(θj)为全局平均似然第j个粒子的得分函数,表示对θj进行求导,表示对θi进行求导,表示同时对θi和θj进行求导,trace为求矩阵的迹。
[0034]
步骤s104,根据每一个客户端k的局部似然与全局平均似然p

之间的希尔伯特内积计算得到各个客户端的选择概率pk,并基于各个客户端的选择概率pk选择某一客户端以及将当前的全局粒子发送给某一客户端。
[0035]
在本实施例中,计算选择概率pk的表达式为:
[0036][0037]
式中,φm为用户m的似然函数的svgd更新函数,如下所示:
[0038][0039]
步骤s105,获取某一客户端在本地端执行svgd算法最小化局部自由能产生的新的全局粒子并基于核密度估计法由更新的全局粒子得到更新的全局变分后验q(i)(θ),直至更新的全局变分后验q(i)(θ)拟合真实目标后验p(θ),则完成迭代。
[0040]
在本实施例中,基于核密度估计法由全局粒子和局部粒子得出全局变分后验q
(i-1)
(θ)和局部近似似然
[0041]
根据全局变分后验q
(i-1)
(θ)和局部近似似然得到局部倾斜函数的得分函数,其中,局部倾斜函数为:
[0042][0043]
局部倾斜函数的得分函数的表达式为:
[0044][0045]
式中,为q
(i-1)
(θ)的得分函数,为的得分函数,log pk(θn)为pk(θn)的得分函数,表示对θn求导,n为粒子总数,n为粒子下标,θn为第n个粒子;
[0046]
在本地端执行svgd算法最小化局部自由能以获得新的全局粒子其中,获取新的全局粒子的表达式为:
[0047][0048]
式中,为第l次局部迭代的第n个粒子,为第l-1次局部迭代的第n个粒子,为第l-1次局部迭代的第j个粒子,(重复了)为第l-1次局部迭代的第n个粒子,为局部倾斜函数的得分函数,为局部倾斜函数,为对θj进行求导,为核函数。
[0049]
实施例二
[0050]
本发明第二实施例也提出一种用于联邦贝叶斯学习的客户端选择方法,所述用于联邦贝叶斯学习的客户端选择方法通过软件和/或硬件来实现。
[0051]
图2是本发明所述的一种联邦贝叶斯学习的客户端选择方法的系统图,包括1个服
务器和k个客户端。服务器维护两组粒子,分别为全局粒子和局部粒子全局粒子通过核密度估计能够获得全局变分后验q(θ),局部粒子通过核密度估计能够获得局部近似似然tk(θ)。在每次迭代中,服务器选择一个客户端,客户端根据自身的数据集dk在本地端执行svgd算法更新全局粒子并将更新后的全局粒子回传给服务器,完成一次模型迭代。
[0052]
用于联邦贝叶斯学习的客户端选择方法具体包括以下步骤:
[0053]
s1、服务器向所有客户端广播当前的全局粒子
[0054]
s2、每个客户端k计算各自的得分函数并将其上传给服务器。
[0055]
s3、根据收到的客户端的得分函数,服务器计算各个客户端的希尔波特内积并进一步计算出客户端的选择概率p(i)。
[0056]
s4、基于选择概率p(i),服务器选择一个客户端并将当前的全局粒子发送给客户端。
[0057]
s5、被选中的客户端在本地端最小化局部自由能,以获得新的全局粒子
[0058]
s6、所选客户端将上一步获得的全局粒子上传到服务器,并在本地端更新局部粒子
[0059]
进一步地,本发明为联邦贝叶斯学习中的dsvgd算法提出基于希尔伯特内积的客户端重要性指标。
[0060]
svgd是一种非参数化的贝叶斯学习算法,用一组粒子拟合目标分布p(θ)。这些粒子被反复迭代更新以匹配目标分布如下所示:
[0061][0062]
其中,φ(θ)表示svgd的更新函数,这个更新函数能够使得粒子在由核函数k(
·

·
)定义的希尔伯特空间内,以最快的速度减少变分后验分布q(θ)与目标分布p(θ)分布之间的kl散度(kullback-leibler divergence),如下所示:
[0063][0064]
这个kl散度也可以用希尔伯特内积的形式写成其中被称为目标svgd更新函数。因此,由内积的性质可以得出,当更新函数φ(θ)与目标更新函数φ
*
(θ)的大小相等和方向相同时,希尔伯特内积可以达到最大值,因此可以得出svgd的更新函数表达式如下所示:
[0065]
[0066]
同样,当选择一个不同的svgd更新函数时,它与目标更新函数φ
*
(θ)在希尔伯特空间中的大小和方向的差异都会引起希尔伯特内积的变化,这又会影响粒子向目标分布p(θ)更新的速度。因此,可以用更新函数φ(θ)和目标更新函数φ
*
(θ)之间的希尔伯特内积来衡量每个客户端对局部粒子更新的贡献。较大的希尔比特内积表明,更新函数可以使变分后验分布以较快的速度接近目标分布。
[0067]
进一步地,给定两个分布p1(θ)和p2(θ)的得分函数和两个分布的svgd更新函数之间的希尔伯特内积由以下式子估计:
[0068][0069]
其中,
[0070][0071]
可以使用上式计算的希尔伯特估计值来衡量分布p1的svgd更新函数对粒子向目标分布p2更新的贡献。
[0072]
进一步地,定义全局平均似然如下所示
[0073][0074]
其目标分布的svgd更新函数为由于全局平均似然p

是所有客户端的似然的几何平均,因此其包含所有客户端的信息,可以作为全局粒子的最佳更新方向。相应地,客户端k对粒子向全局平均似然p

的更新的贡献可由希尔伯特内积表示为
[0075]
进一步地,每次迭代全局自由能下降的上界如下所示:
[0076][0077]
式中,q
[l+1]
(θ)为l+1次局部迭代的全局变分后验,f(q
[l+1]
(θ)为第l+1次局部迭代的全局自由能,q
[l]
(θ)为l次局部迭代的全局变分后验,f(q
[l]
(θ))为第l次局部迭代的全局自由能,α为温度水平,k为用户总数,为用户k的似然和全局平均似然的svgd更新函数之间的希尔伯特内积,φk为用户k的似然的svgd更新函数,φ

为全局平均似然的svgd更新函数,为第i-1次迭代用户m的近似似然,q
[l]
为(和前面重复了),kl为kl散度(kullback-leibler divergence)。
[0078]
上界中只有第一项希尔伯特内积与客户端的选择有关。该上界表明,当希尔伯特内积项较大时上界较小,表示能让粒子以更快的速度向全局平均似然
p

更新的客户端能够让全局自由能下降更快,进而说明该客户端对全局粒子更新的贡献更大。
[0079]
进一步地,将客户端的svgd更新函数与全局平均似然p

的svgd更新函数之间的希尔波特内积作为客户端的重要性指标,并将较高的选择概率分配给具有较大希尔伯特内积的客户端,客户端选择概率的计算如下所示:
[0080][0081]
图3是本发明所述的一种用于联邦贝叶斯学习的客户端选择方法在贝叶斯逻辑回归模型中带来的性能增益图。图4是本发明所述的一种用于联邦贝叶斯学习的客户端选择方法在贝叶斯神经网络模型中带来的性能增益图。本发明实施例选择covertype数据集训练贝叶斯逻辑回归模型,选择mnist数据集训练贝叶斯神经网络模型。选择的基线方法为随机选择方法和轮询选择方法。本发明实施例用非独立同分布的客户端数据分布模拟现实的客户端数据分布场景。实验结果显示,所提的联邦贝叶斯学习的客户端选择方法带来了巨大的性能增益,模型收敛速度,模型精度和模型收敛的稳定性都远远优于两个基线方法。
[0082]
实施例三
[0083]
请参阅图5,其示出了本技术的一种用于联邦贝叶斯学习的客户端选择系统的结构框图。
[0084]
如图5所示,客户端选择系统200,包括设置模块210、扩散模块220、第一计算模块230、第二计算模块240以及更新模块250。
[0085]
其中,设置模块210,配置为根据先验信息设置先验分布p0(θ)、全局粒子的个数n,并设置全局粒子初始化为先验分布p0(θ)的独立同分布的采样设置初始的近似似然为扩散模块220,配置为向所有的客户端广播当前的全局粒子第一计算模块230,配置为获取每个客户端的得分函数根据每个客户端的得分函数计算全局平均似然p

,并计算得到每一个客户端k的局部似然与全局平均似然p

之间的希尔伯特内积第二计算模块240,配置为根据每一个客户端k的局部似然与全局平均似然p

之间的希尔伯特内积计算得到各个客户端的选择概率pk,并基于各个客户端的选择概率pk选择某一客户端以及将当前的全局粒子发送给某一客户端;更新模块250,配置为获取某一客户端在本地端执行svgd算法最小化局部自由能产生的新的全局粒子并基于核密度估计法由更新的全局粒子得到更新的全局变分后验q(i)(θ),直至更新的全局变分后验q(i)(θ)拟合真实目标后验p(θ),则完成迭代。
[0086]
应当理解,图5中记载的诸模块与参考图1中描述的方法中的各个步骤相对应。由
此,上文针对方法描述的操作和特征以及相应的技术效果同样适用于图5中的诸模块,在此不再赘述。
[0087]
实施例四
[0088]
在另一些实施例中,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序指令被处理器执行时,使所述处理器执行上述任意方法实施例中的用于联邦贝叶斯学习的客户端选择方法;
[0089]
作为一种实施方式,本发明的计算机可读存储介质存储有计算机可执行指令,计算机可执行指令设置为:
[0090]
根据先验信息设置先验分布p0(θ)、全局粒子的个数n,并设置全局粒子初始化为先验分布p0(θ)的独立同分布的采样设置初始的近似似然为
[0091]
向所有的客户端广播当前的全局粒子
[0092]
获取每个客户端的得分函数根据每个客户端的得分函数计算全局平均似然p

,并计算得到每一个客户端k的局部似然与全局平均似然p

之间的希尔伯特内积
[0093]
根据每一个客户端k的局部似然与全局平均似然p

之间的希尔伯特内积计算得到各个客户端的选择概率pk,并基于各个客户端的选择概率pk选择某一客户端以及将当前的全局粒子发送给某一客户端;
[0094]
获取某一客户端在本地端执行svgd算法最小化局部自由能产生的新的全局粒子并基于核密度估计法由更新的全局粒子得到更新的全局变分后验q(i)(θ),直至更新的全局变分后验q(i)(θ)拟合真实目标后验p(θ),则完成迭代。
[0095]
计算机可读存储介质可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据用于联邦贝叶斯学习的客户端选择系统的使用所创建的数据等。此外,计算机可读存储介质可以包括高速随机存取存储器,还可以包括存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,计算机可读存储介质可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至用于联邦贝叶斯学习的客户端选择系统。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0096]
图6是本发明实施例提供的电子设备的结构示意图,如图6所示,该设备包括:一个处理器310以及存储器320。电子设备还可以包括:输入装置330和输出装置340。处理器310、存储器320、输入装置330和输出装置340可以通过总线或者其他方式连接,图6中以通过总线连接为例。存储器320为上述的计算机可读存储介质。处理器310通过运行存储在存储器320中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处
理,即实现上述方法实施例用于联邦贝叶斯学习的客户端选择方法。输入装置330可接收输入的数字或字符信息,以及产生与用于联邦贝叶斯学习的客户端选择系统的用户设置以及功能控制有关的键信号输入。输出装置340可包括显示屏等显示设备。
[0097]
上述电子设备可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
[0098]
作为一种实施方式,上述电子设备应用于用于联邦贝叶斯学习的客户端选择系统中,用于客户端,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够:
[0099]
根据先验信息设置先验分布p0(θ)、全局粒子的个数n,并设置全局粒子初始化为先验分布p0(θ)的独立同分布的采样设置初始的近似似然为
[0100]
向所有的客户端广播当前的全局粒子
[0101]
获取每个客户端的得分函数根据每个客户端的得分函数计算全局平均似然p

,并计算得到每一个客户端k的局部似然与全局平均似然p

之间的希尔伯特内积
[0102]
根据每一个客户端k的局部似然与全局平均似然p

之间的希尔伯特内积计算得到各个客户端的选择概率pk,并基于各个客户端的选择概率pk选择某一客户端以及将当前的全局粒子发送给某一客户端;
[0103]
获取某一客户端在本地端执行svgd算法最小化局部自由能产生的新的全局粒子并基于核密度估计法由更新的全局粒子得到更新的全局变分后验q(i)(θ),直至更新的全局变分后验q(i)(θ)拟合真实目标后验p(θ),则完成迭代。
[0104]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
[0105]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1