一种用于分布式系统的个性化拆分学习方法及应用技术方案

技术编号:36253762 阅读:59 留言:0更新日期:2023-01-07 09:48
本发明专利技术公开了一种用于分布式系统的个性化拆分学习方法及应用,属于分布式协作机器学习技术领域,在每轮训练中所有客户端先训练出一个全局服务端模型,在此基础上,根据数据相似性为客户端分簇,并为每个簇中设置一个个性化的局部服务端模型,且在训练过程中对局部服务端模型基于全局服务端模型进行正则化微调,从而使局部服务端模型相较于全局服务端模型,可以更符合簇中客户端的本地数据特征,进而簇中的客户端设备经局部训练后能够获得更高的预测精度;本发明专利技术同时考虑了全局模型和局部模型,既可以利用较多样本来训练模型,又可以在一定程度上解决不同客户端数据非独立同分布的问题,使模型的预测精度有所提升。使模型的预测精度有所提升。使模型的预测精度有所提升。

【技术实现步骤摘要】
一种用于分布式系统的个性化拆分学习方法及应用


[0001]本专利技术属于分布式协作机器学习
,更具体地,涉及一种用于分布式系统的个性化拆分学习方法及应用。

技术介绍

[0002]随着互联网的发展,数据量不断增大,数据发挥着越来越重要的作用。分布式协作机器学习允许多个客户端设备参与训练,同时一定程度上保证了数据隐私,因此迅速兴起。联邦学习和拆分学习是其两种主流实现方式。联邦学习会把全局模型同步到各个客户端训练,本地训练结束后,在服务器进行聚合;在联邦学习中,每个客户端需要运行完整的机器学习模型,而资源受限的客户端(如物联网中可用的客户端)无法运行完整的机器学习模型;且在训练期间,由于服务器和客户端可以完全访问本地和全局模型,因此还存在隐私问题;而拆分学习则是对全局模型进行分层,每个客户端和服务器均只存储完整神经网络的一部分分层,分别进行计算及反馈;且在拆分学习中,每个客户端与服务端依次进行训练,并且不直接传递原始数据,仅传递中间结果,具有更好的隐私性。因此,与联邦学习相比,拆分学习可以更好地缓解客户端计算资源匮乏的情况,且具有更好的隐私性。
[0003]用户参与拆分学习的目的是要通过参与全局的训练提高预测精度,然而参与训练的客户端设备数据的非独立同分布问题可能会对训练模型产生负面影响,导致客户端参与训练后的预测精度提升有限。为了应对数据的统计异质性和非独立同分布(Non

IID)数据所带来的挑战,一种有效的方法是在设备、数据和模型上进行个性化处理,以减轻异构性并为每个设备获得高质量的个性化模型,因此,需要针对拆分学习引入的个性化技术,即研究一种个性化拆分学习方法存在重要意义。
[0004]大多数个性化技术通常涉及两个步骤:在第一步中,以协作方式构建全局模型;在第二步中,使用客户端的私有数据为每个客户端训练个性化局部模型。仅针对全局模型进行优化会产生更难个性化的模型,为了使联邦学习个性化在实践中有用,以下三个目标必须同时实现,而不是独立实现:(1)训练使大多数客户端受益的个性化模型;(2)训练一个准确的全局模型,使那些私有数据较少的客户端受益;(3)在少量训练回合中实现快速的模型收敛。
[0005]目前在联邦学习领域已经提出了几种技术来实现个性化的全局模型,如基于添加上下文特征的个性化、基于迁移学习的个性化、基于多任务学习的个性化、基于元学习的个性化、基于知识蒸馏的个性化、全局模型与局部模型混合的个性化等等,以更好地为个别客户训练。然而现有的个性化技术主要是针对联邦学习提出,对于拆分学习的框架结构并不适用,主要原因在于拆分学习中客户端并不拥有完整的神经网络。具体地,拆分学习的主要特点是:1、将完整的神经网络拆分,少部分放在客户端,大部分放在服务端,缓解客户端计算资源匮乏情况。2、不直接共享原始数据和模型,而是通过切分层传递客户端部分神经网络计算后的中间结果,这也是现有个性化技术不适用于拆分学习的根本原因。例如全局模型与局部模型混合的个性化技术,对于联邦学习,客户端可以从全局模型学习部分或者全
部参数,得到个性化模型,然而在拆分学习中,由于客户端和服务端不具备完整神经网络,因此客户端无法从全局模型学习部分或者全部参数,即现有的个性化技术不能直接使用在拆分学习上。

技术实现思路

[0006]针对现有技术的以上缺陷或改进需求,本专利技术提供了一种用于分布式系统的个性化拆分学习方法及应用,用以解决由于现有的个性化技术无法应用在拆分学习上,无法解决参与训练的客户端设备数据的非独立同分布问题所导致的模型训练的准确率较低的技术问题。
[0007]为了实现上述目的,第一方面,本专利技术提供了一种用于分布式系统的个性化拆分学习方法,包括以下步骤:
[0008]S1、对每个客户端内部的局部模型和全局服务器端内部的全局服务端模型依次进行交互训练,并重复训练s轮,从而在全局服务器端得到全局服务端模型;
[0009]其中,对第i个客户端内部的局部模型和全局服务器端内部的全局服务端模型进行交互训练的过程包括:在第i个客户端中将其内部的本地训练样本输入至其内部的局部模型中进行训练,生成中间结果,并发送至全局服务器端;全局服务器端接收到第i个客户端的中间结果后,将第i个客户端的中间结果输入至其内部的全局服务端模型中继续进行训练,训练结束后进行反向传播,将反向传播的结果传递给第i个客户端;第i个客户端接收到反向传播的结果后,对其内部的局部模型进行更新;
[0010]S2、基于客户端本地训练样本的特征相似度对客户端进行聚类,得到M个客户端簇;并在全局服务器端设置与M个客户端簇一一对应的M个局部服务端模型;
[0011]S3、判断当前迭代是否为第一轮迭代,若是,则将M个局部服务端模型分别初始化为全局服务端模型;否则,分别将上一轮迭代轮次下的M个局部服务端模型在全局服务端模型的基础上进行全局正则化微调,从而得到当前迭代轮次下的M个局部服务端模型;
[0012]S4、分别在每个客户端簇中,对其中的每个客户端内部的局部模型和其所对应的局部服务端模型按照步骤S1中的训练方式依次进行交互训练,并重复训练s轮;
[0013]S5、重复步骤S1

S4进行迭代,直至当前迭代轮次达到预设迭代轮次。
[0014]进一步优选地,在上述步骤S2中,基于每个客户端生成的中间结果的加权平均值采用聚类算法对各客户端进行分簇,得到M个客户端簇;其中,第i个客户端生成的中间结果的加权平均值为:
[0015][0016]z
i
为第i个客户端中本地训练样本的数量;当当前迭代为第一轮迭代时,r
il
为第i个客户端内部的局部模型和全局服务器端内部的全局服务端模型所进行的s轮交互训练中的第l轮下的中间结果;当当前迭代不为第一轮迭代时,r
il
为在上一轮迭代轮次下第i个客户端内部的局部模型和其所对应的局部服务端模型所进行的s轮交互训练中的第l轮下的中间结果。
[0017]进一步优选地,在上述步骤S2中,将所包含的本地训练样本样本标签的类别数量
相同的客户端分到同一客户端簇中,得到M个客户端簇。
[0018]进一步优选地,在上述步骤S2中,基于客户端的本地训练样本的样本标签分布采用聚类算法对各客户端进行分簇,得到M个客户端簇;其中,客户端的本地训练样本的样本标签分布为该客户端中每个类别的本地训练样本数量在全部客户端中该类别的训练样本数量总和中所占的比例。
[0019]进一步优选地,在上述两种优选方式下,上述步骤S2还可以在步骤S1之前预先执行。
[0020]进一步优选地,上述步骤S3中,当前迭代轮次下的第m个局部服务端模型为:
[0021][0022]其中,为上一轮迭代轮次下的第m个局部服务端模型;η和λ为正则化参数;为上一轮迭代轮次下的第m个局部服务端模型的损失函数值的梯度值;ω
t
‑1为上一轮迭代轮次下的全局服务端模型。
[0023]进一步优选地,在第m个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于分布式系统的个性化拆分学习方法,其特征在于,包括以下步骤:S1、对每个客户端内部的局部模型和全局服务器端内部的全局服务端模型依次进行交互训练,并重复训练s轮,从而在全局服务器端得到全局服务端模型;其中,对第i个客户端内部的局部模型和全局服务器端内部的全局服务端模型进行交互训练的过程包括:在第i个客户端中将其内部的本地训练样本输入至其内部的局部模型中进行训练,生成中间结果,并发送至全局服务器端;全局服务器端接收到第i个客户端的中间结果后,将第i个客户端的中间结果输入至其内部的全局服务端模型中继续进行训练,训练结束后进行反向传播,将反向传播的结果传递给第i个客户端;第i个客户端接收到反向传播的结果后,对其内部的局部模型进行更新;S2、基于客户端本地训练样本的特征相似度对客户端进行聚类,得到M个客户端簇;并在全局服务器端设置与M个客户端簇一一对应的M个局部服务端模型;S3、判断当前迭代是否为第一轮迭代,若是,则将M个局部服务端模型分别初始化为全局服务端模型;否则,分别将上一轮迭代轮次下的M个局部服务端模型在全局服务端模型的基础上进行全局正则化微调,从而得到当前迭代轮次下的M个局部服务端模型;S4、分别在每个客户端簇中,对其中的每个客户端内部的局部模型和其所对应的局部服务端模型按照所述步骤S1中的训练方式依次进行交互训练,并重复训练s轮;S5、重复步骤S1

S4进行迭代,直至当前迭代轮次达到预设迭代轮次。2.根据权利要求1所述的个性化拆分学习方法,其特征在于,在所述步骤S2中,基于每个客户端生成的中间结果的加权平均值采用聚类算法对各客户端进行分簇,得到M个客户端簇;其中,第i个客户端生成的中间结果的加权平均值为:z
i
为第i个客户端中本地训练样本的数量;当当前迭代为第一轮迭代时,r
il
为第i个客户端内部的局部模型和全局服务器端内部的全局服务端模型所进行的s轮交互训练中的第l轮下的中间结果;当当前迭代不为第一轮迭代时,r
il
为在上一轮迭代轮次下第i个客户端内部的局部模型和其所对应的局部服务端模型所进行的s轮交互训练中的第l轮下的中间结果。3.根据权利要求1所述的个性化拆分学习方法,其特征在于,在所述步骤S2中,将所包含的本地训练样本样本标签的类别数量相同的客户端分到同一客户端簇中得到M个客户端簇。4.根据权利要求1所述的个性化拆分学习方法,其特征在于,在所述步骤S...

【专利技术属性】
技术研发人员:李瑞轩王号召王悦明李玉华辜希武
申请(专利权)人:华中科技大学
类型:发明
国别省市:

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

1