改进的横向同步联邦学习聚合加速方法技术

技术编号:38585151 阅读:11 留言:0更新日期:2023-08-26 23:28
本发明专利技术横向同步联邦学习聚合加速方法,步骤如下:客户端接收服务器发送的全局模型和客户端贡献值;客户端使用本地数据集训练局部模型,并计算散度阈值,准备发送训练完成的局部模型;客户端利用差值矩阵与梯度压缩算法优化局部模型,并发送优化的局部模型至服务器,服务器将接收的所有模型存入缓冲区,并计算信息熵;服务器计算上一轮客户端的贡献值,并保存信息熵,服务器从缓冲区取出所有局部模型,并基于局部模型的贡献值加权聚合得到新的全局模型;服务器向客户端发送上一轮的贡献值和新的全局模型,客户端接收服务器发送的全局模型,进行下一轮训练。本发明专利技术能够提高横向同步联邦训练模型的准确度、降低客户端到服务器端通信资源与时间开销。通信资源与时间开销。通信资源与时间开销。

【技术实现步骤摘要】
改进的横向同步联邦学习聚合加速方法


[0001]本专利技术属于横向联邦学习
,尤其适用于解决同步联邦学习训练模型、聚合更新模型过程中设备数据差异大、计算效率差、时间响应慢、通信效率低的问题,为改进的横向同步联邦学习聚合加速方法。

技术介绍

[0002]随着大数据时代的到来,重视数据隐私安全已经成为世界性趋势,相较于传统机器学习(Machine learning,ML)通过将本地的数据上传给中心服务器(Server)训练模型而带来的数据安全隐患,联邦学习(Federated learning,FL)通过“数据不动,模型动”的架构,保护用户数据隐私安全,支持多方机构在数据隐私安全和监管要求的前提下进行联合建模,为解决“数据孤岛”提供了可行的方法。
[0003]横向同步联邦学习的主要架构为联邦平均算法(FedAvg),其适用于参与方数据特征重叠度较多,样本空间重叠较少,地理分布接近,通信环境良好的场景。在FedAvg算法中,每个参与方客户端(Party)首先接收服务器端下发的初始模型,同步的使用本地数据多次训练得到本地局部模型后,将其上传至服务器进行平均模型聚合,服务器得到新的全局模型再下发给客户端进行新一轮的模型训练。在训练过程中,客户端在本地训练私有的局部模型,并通过加密、噪声等手段将加密模型上传至服务器以更新全局模型。
[0004]联邦平均算法通过多轮的本地模型迭代可有效融合来自于多个客户端的数据特征,但随着用户设备数据集的数据量和差异性增大,本地设备的计算需求和训练的局部模型也随之增大,会导致客户端将局部模型上传至服务器的过程中所占时间开销较大。同步联邦学习的时间开销主要分为两个部分,计算时间开销与通信时间开销。其中计算时间开销包括服务器聚合时间开销与客户端局部训练时间开销。通信时间开销包括客户端向服务器发送数据过程中的时间花费,服务器等待客户端发送过程中的时间花费与服务器向客户端发送数据过程中的时间花费。在联邦学习的应用场景中,服务器通常由具有高算力,稳定网络资源的角色扮演。因此服务器的计算开销与发送开销几乎可以忽略不计。在同步联邦学习中,减少服务器的训练开销与通信开销成为了加速联邦学习的主要途径。因此,有必要在联邦学习客户端局部训练模型和服务器聚合模型这两个方面提出加速方案,以提高横向同步联邦训练模型的准确度、降低客户端到服务器端通信资源与时间开销。

技术实现思路

[0005]为了克服上述现有技术的不足,达到上述情景的需求,本专利技术的目的在于提供改进的横向同步联邦学习加速方案。在联邦平均算法总体框架下,基于差值矩阵与梯度压缩的思想来减少客户端发送至服务器的数据量,达到优化客户端上传局部模型至服务器通信效率的效果;基于D

S证据理论提出参与方优选方案,结合参与方对全局模型的影响对各参与方给出评分权重。在聚合阶段,服务器根据不同客户端的权重系数进行聚合,而不是平均聚合;基于一种信息熵与散度阈值的动态更新策略。针对参与方发送局部模型到全局服务
器阶段,利用散度阈值作为衡量是否向服务器发送数据的标准,具有更好的灵活性。
[0006]为了实现上述目的,本专利技术采用的技术方案是:
[0007]横向同步联邦学习聚合加速方法,步骤如下:
[0008]步骤1,客户端接收服务器发送的全局模型和客户端贡献值;
[0009]步骤2,客户端使用本地数据集训练局部模型,并计算散度阈值,准备发送训练完成的局部模型;
[0010]步骤3,客户端利用差值矩阵与梯度压缩算法优化局部模型,并发送优化的局部模型至服务器,服务器将接收的所有模型存入缓冲区,并计算信息熵;
[0011]步骤4,服务器计算上一轮客户端的贡献值,并保存信息熵,服务器从缓冲区取出所有局部模型,并基于局部模型的贡献值加权聚合得到新的全局模型;
[0012]步骤5,服务器向客户端发送上一轮的贡献值和新的全局模型,客户端接收服务器发送的全局模型,进行下一轮训练。
[0013]所述步骤1,全局模型由各个客户端的局部模型聚合所得,过程为:客户端利用本地数据集在本地进行训练得到局部模型,局部模型基于深度梯度压缩算法和散度阈值的更新标准后,被上传至服务器缓存区,再通过各个客户端所得到贡献值对上传至服务器缓冲区的局部模型进行聚合加权,得到新一轮的全局模型;所述客户端贡献值基于D

S证据理论(Dempster

Shafer evidence theory,D

S)计算得到,表示上一轮客户端对于全局模型的贡献程度,是全局模型加权聚合时的重要标准。在联邦学习开始时,参与训练的客户端都会被分配一个平均的贡献值;在服务器聚合阶段,服务器获取每个客户端的相关参数,包括客户端数据集所占全体数据集的比值大小,上一轮客户端的贡献值,客户端训练的局部模型与全局模型的散度,以及客户端至今一共参与训练的轮数。考虑到数据异质性可能导致联邦学习聚合过程中客户端贡献值产生马太效应(Matthew Effect),本专利技术采用一种基于皮尔逊相关系数的证据理论算法,对客户端的相关参数进行计算得到新一轮的贡献值,来缓冲存在冲突较大命题时产生不精确融合结果的问题。
[0014]所述步骤2,本地数据集表示分布在客户端本地的数据,其包含了客户端本地用户的数据特征,不同的客户端具有不同数据种类、大小的本地数据集合,彼此不共享数据;局部模型是不同客户端利用其本地数据集在全局模型的基础上训练所得到的模型。在联邦学习初始训练阶段,服务器将一个随机的模型作为全局模型下发至客户端,各个客户端接受服务器下发的全局模型并利用本地数据集对全局模型进行训练,得到具有客户端本地数据特征的模型,此模型被称为局部模型。
[0015]所述步骤2,散度阈值的计算方法如下:
[0016]在局部模型训练阶段,客户端计算局部模型的散度阈值来判断局部模型的更新是否充分,都更新足够充分时,客户端才会向服务器发送局部模型,负责继续局部训练;
[0017]每当第i个参与联邦学习训练的客户端Party i完成一轮的局部迭代时,通过计数器记录局部模型的迭代轮次n,并通过计算客户端Party i的散度阈值,当参与方完成了一个批次的局部模型迭代后,并且散度阈值满足条件式:时,客户端Party i才发送局部模型至服务器;
[0018]式中,n表示客户端局部训练轮次,字符Δ表示模型的散度阈值,其上标为i,Δ
i

表第个客户端局部模型的散度值,w表示联邦学习模型,表示第i个客户端在第t轮所训练的局部模型,w
*
表示参考模型,γ
i
表示客户端Party i的贡献值,描述局部模型与参考模型之间的距离。
[0019]在横向同步联邦学习中,为了加快客户端与服务器之间的沟通效率,将训练的全局轮次和局部轮次设定为固定值,全局轮次表示服务器全局模型更新的次数,局部轮次表示客户端利用本地数据集在全局模型的基础上训练得到局部模型而更新的次数;
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.横向同步联邦学习聚合加速方法,其特征在于,步骤如下:步骤1,客户端接收服务器发送的全局模型和客户端贡献值;步骤2,客户端使用本地数据集训练局部模型,并计算散度阈值,准备发送训练完成的局部模型;步骤3,客户端利用差值矩阵与梯度压缩算法优化局部模型,并发送优化的局部模型至服务器,服务器将接收的所有模型存入缓冲区,并计算信息熵;步骤4,服务器计算上一轮客户端的贡献值,并保存信息熵,服务器从缓冲区取出所有局部模型,并基于局部模型的贡献值加权聚合得到新的全局模型;步骤5,服务器向客户端发送上一轮的贡献值和新的全局模型,客户端接收服务器发送的全局模型,进行下一轮训练。2.根据权1所述横向同步联邦学习聚合加速方法,其特征在于,所述步骤1,全局模型由各个客户端的局部模型聚合所得,过程为:客户端利用本地数据集在本地进行训练得到局部模型,局部模型基于深度梯度压缩算法和散度阈值的更新标准后,被上传至服务器缓存区,再通过各个客户端所得到贡献值对上传至服务器缓冲区的局部模型进行聚合加权,得到新一轮的全局模型;所述客户端贡献值基于D

S证据理论计算得到,表示上一轮客户端对于全局模型的贡献程度,在联邦学习开始时,参与训练的客户端被分配一个平均的贡献值;在服务器聚合阶段,服务器获取每个客户端的相关参数,包括客户端数据集所占全体数据集的比值大小,上一轮客户端的贡献值,客户端训练的局部模型与全局模型的散度,以及客户端至今一共参与训练的轮数。3.根据权1所述横向同步联邦学习聚合加速方法,其特征在于,所述步骤2,不同的客户端具有不同数据种类、大小的本地数据集合,彼此不共享数据。4.根据权1所述横向同步联邦学习聚合加速方法,其特征在于,所述步骤2,散度阈值的计算方法如下:在局部模型训练阶段,客户端计算局部模型的散度阈值来判断局部模型的更新是否充分,都更新足够充分时,客户端才会向服务器发送局部模型,负责继续局部训练;每当第i个参与联邦学习训练的客户端Party i完成一轮的局部迭代时,通过计数器记录局部模型的迭代轮次n,并通过计算客户端Party i的散度阈值,当参与方完成了一个批次的局部模型迭代后,并且散度阈值满足条件式:时,客户端Party i才发送局部模型至服务器;式中,n表示客户端局部训练轮次,字符Δ表示模型的散度阈值,其上标为i,Δ
i
代表第个客户端局部模型的散度值,w表示联邦学习模型,表示第i个客户端在第t轮所训练的局部模型,w
*
表示参考模型,γ
i
表示客户端Party i的贡献值,描述局部模型与参考模型之间的距离。5.根据权4所述横向同步联邦学习聚合加速方法,其特征在于,在横向同步联邦学习中,将训练的全局轮次和局部轮次设定为固定值,全局轮次表示服务器全局模型更新的次数,局部轮次表示客户端利用本地数据集在全局模型的基础上训练得到局部模型而更新的
次数;参与训练的所有客户端都满足散度阈值条件且局部训练轮次达到设定的固定值轮...

【专利技术属性】
技术研发人员:王鑫丁雪爽吴浩宇雷涛
申请(专利权)人:陕西科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1