基于客户选择和权重分配的联邦学习方法、系统及介质

未命名 09-21 阅读:81 评论:0


1.本发明属于联邦学习技术领域,具体涉及一种基于客户选择和权重分配的联邦学习、系统及介质。


背景技术:

2.随着人工智能的发展,数据隐私越来越受重视,在医疗和金融等领域更是存在数据孤岛问题,对于需要收集原始数据进行训练的机器学习技术是一个非常大的挑战。联邦学习是一种可以保护用户数据隐私的集成式机器学习技术,联邦学习的目的是在不进行用户原始数据传输的情况下,在多个用户本地(称为客户端)使用各自的数据进行模型的训练,然后将训练好的模型上传至中央服务器(称为服务端)进行模型的聚合,实现了对用户数据隐私的保护。
3.受限于客户端的通讯能力,联邦学习每轮训练只会随机选择部分用户参与训练。而在联邦学习的现实使用中,所面临的用户数据往往都是非独立同分布的(non-iid),各个用户之间数据量和数据特征差异巨大,现有的联邦学习模型中无法做到实时识别对当前模型收敛影响较大的用户,随机选择使得联邦学习模型的收敛方向和训练轮数变得不可控。另外,一些研究工作提出了贡献量的衡量策略,对设备硬件和网络能力较好或者在之前训练过程中对模型影响较大的客户设立高贡献量来提高选取概率,这会导致总体模型越来越偏向于这些用户,使最终的模型丧失了公平性。


技术实现要素:

4.针对上述技术问题,本发明提供一种基于客户选择和权重分配的联邦学习方法、系统及介质,在处理non-iid数据时,控制全局模型的收敛方向,并且在不违背最终模型公平性的前提下选择对模型收敛有利的用户,以及在控制客户端计算成本的条件下提高模型的收敛速度,解决客户端数据异构型较强的情况下,随机选择算法导致模型收敛慢和收敛方向不可控的问题。
5.本发明是通过以下技术手段实现上述技术目的的。
6.一种基于客户选择和权重分配的联邦学习方法,包括以下步骤:
7.步骤s1:根据客户端实时正确率对客户端进行分层,将客户端准确率的降序列表s分割成大小相等的m层,每一层拥有个用户;
8.步骤s2:计算步骤s1中每一层的平均正确率a
l,t
,采取层内用户平均准确率a
l,t
作为依据对步骤s1中每一层的选取概率p
l,t
进行调整,在新的概率分布下倾向于选取表现差的用户层;
9.步骤s3:采取数据占比pk对步骤s2选取的层内每一个客户的选取概率进行调整,使选取倾向于数据量较大的用户;
10.步骤s4:选取步骤s3选取的客户训练,所有被选中的客户端训练完成后,上传本地模型参数至服务端;
11.步骤s5:使用注意力机制对至服务端的模型权重进行调整,计算每个模型与上一轮服务端全局模型的注意力值,计算出参数后,对所有客户端的相似度sim
k,l
进行归一化处理,利用归一化后的相似性s
k,l
,对每个客户端的权重进行调整,将相似度与数据量相乘后所占总体的比值作为该用户所分配的权重α
k,l

12.步骤s6:进行全局模型参数聚合,根据步骤s5所分配的权重,对所有参与本轮训练的用户分层进行参数聚合
13.上述方案中,所述步骤s2中计算每一层的平均正确率a
l,t
具体如下式:
[0014][0015]
其中,l表示用户层,a
l,t
表示的第t轮全局训练轮次下第l层的平均准确率,an表示层内每个用户的准确率,n表示层内用户数量。
[0016]
上述方案中,所述步骤s2中每一层的选取概率p
l,t
通过下式计算:
[0017][0018]
其中,p
l,t
表示第t轮第l层的选取概率,它与1-a
l,t
的值成正比,也就是平均准确率高的层被分配较低的选取概率,让选取倾向于表现较差的用户层,l表示用户层,a
l,t
表示的第t轮全局训练轮次下第l层的平均准确率。
[0019]
上述方案中,所述步骤s3中采取数据占比pk来调整层内用户被选取的概率,计算公式如下:
[0020][0021]
其中,p
k,t
表示用户k在第t轮被选取的概率,此概率等于该用户数据量与其所在层总数据量的比值,nk表示用户k的数据量。
[0022]
上述方案中,所述步骤s4具体包括以下步骤:
[0023]
步骤s4.1:服务器开始选取用户,确定一个目标选取数量c;
[0024]
步骤s4.2:根据步骤s1、步骤s2、步骤s3三步调整的概率进行选取,首先根据层概率分布选取到某一层,再在层中,根据客户概率分布选中某个客户;
[0025]
步骤s4.3:如步骤s4.2所述,每次执行完选出一个客户,将(4.2)重复c次,完成本轮次的客户选取;
[0026]
步骤s4.4:被选中的客户执行本地训练,按照服务端规定的本地轮次e进行批量梯度下降训练;
[0027]
步骤s4.5:所有被选中的客户端训练完成后,上传本地模型参数至服务端。
[0028]
上述方案中,所述步骤s5中sim
k,l
通过以下公式计算:
[0029][0030]
其中sim
k,l
表示用户k在模型的第l层与对用全局模型参数层的相似度,ω
l
表示全局模型第l层的参数,ω
k,l
表示用户k模型的第l层参数;
[0031]
归一化后的相似性s
k,l
通过以下公式计算:
[0032][0033]
其中s
k,l
表示归一化后的参数相似度。
[0034]
上述方案中,所述步骤s5中分配的权重α
k,l
通过以下公式计算:
[0035][0036]
其中α
k,l
表示用户k在聚合阶段模型的第l层所占的权重,nk表示用户k的数据量,k为参与模型聚合的用户总量。
[0037]
上述方案中,所述步骤s6中参数聚合通过以下公式计算:
[0038][0039]
其中表示聚合后的第l层全局模型参数。表示用户k的第l层参数。
[0040]
步骤s6.2:聚合完成后,本轮训练结束,重复上述步骤开始下一轮训练。
[0041]
一种基于客户选择和权重分配的联邦学习方法的系统,应用所述基于客户选择和权重分配的联邦学习方法,包括用户分层模块、用户选择模块和注意力机制模块;
[0042]
所述用户分层模块用于根据客户端实时正确率对客户端进行分层,将客户端准确率的降序列表s分割成大小相等的m层,每一层拥有个用户,计算每一层的平均正确率a
l,t
,采取层内用户平均准确率a
l,t
作为依据对步骤s1中每一层的选取概率p
l,t
进行调整,在新的概率分布下倾向于选取表现差的用户层;
[0043]
所述用户选择模块用于采取数据占比pk对选取的层内每一个客户的选取概率进行调整,使选取倾向于数据量较大的用户,对选取的客户训练,所有被选中的客户端训练完成后,上传本地模型参数至服务端;
[0044]
所述注意力机制模块用于使用注意力机制对至服务端的模型权重进行调整,计算每个模型与上一轮服务端全局模型的注意力值,计算出参数后,对所有客户端的相似度sim
k,l
进行归一化处理,利用归一化后的相似性s
k,l
,对每个客户端的权重进行调整,将相似度与数据量相乘后所占总体的比值作为该用户所分配的权重α
k,l
,进行全局模型参数聚合,根据所分配的权重α
k,l
,对所有参与本轮训练的用户分层进行参数聚合
[0045]
一种存储介质,存储有程序,所述程序被处理器执行时,实现所述基于客户选择和权重分配的联邦学习方法。
[0046]
与现有技术相比,本发明的有益效果是:
[0047]
本发明提出注意力机制来重新对客户端分配聚合权重,根据模型相似度来降低相比全局模型差异过大的客户端权重,可以控制全局模型的收敛方向不会偏离,使收敛过程更加平稳。本发明通过对客户端进行分层处理,调整客户端的选取概率,选取出可以对当前模型训练更有利的客户,使全局模型收敛速度加快,并使最终模型在所有客户端的性能表现更加公平。本发明可以在较低的额外计算成本下更加有效的处理non-iid数据。
附图说明
[0048]
图1是经典联邦学习算法流程图。
[0049]
图2是本发明一实施方式的模型架构图。
[0050]
图3是本发明一实施方式的联邦学习算法流程图。
[0051]
图4是本发明一实施方式的mnist数据集和cifar-10数据集示例图,其中,图4(a)为mnist数据集示例图,图4(b)为cifar-10数据集示例图。
[0052]
图5是本发明一实施方式的mnist数据集训练准确率图。
[0053]
图6是本发明一实施方式的cifar-10数据集训练结果图。
[0054]
图7是本发明一实施方式的cifar-10数据集下准确率变化情况图。
[0055]
图8是本发明一实施方式的mnist数据集训练结果图。
[0056]
图9是本发明一实施方式的cifar-10数据集训练结果图。
具体实施方式
[0057]
为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0058]
结合图1所示,经典联邦学习算法流程:
[0059]

由服务端的中央服务器初始化全局模型(神经网络)的参数。
[0060]

每轮训练随机挑选固定比例c的客户端参与本轮训练。
[0061]

参数下发至选中的客户端进行本地训练,每个客户端训练在本地迭代e轮。
[0062]

客户端训练好之后把模型参数上传至服务器,服务器根据客户端的数据量分配权重,再对模型加权聚合。重复上述流程直至达到目标轮次或停止条件。如附图1所示:
[0063]
结合图2和3所示,本发明算法流程:该模型是以传统的横向联邦学习框架服务端-客户端模型结构为基础,增加了三个新的模块:用户分层模块、用户选择模块和注意力机制模块。
[0064]
本发明在用户选择时,提出了一种基于用户准确率的分层策略,实时对用户分层,选取用户时先以层为单位选取,再从层中选择用户。
[0065]
本发明在服务端模型聚合时,引入注意力机制计算每个客户模型与全局模型的相似度,以此为依据调整权重分配。
[0066]
本发明针对随机等概率选择,提出了用户分层模块、用户选择模块,针对基于数据量占比的权重方案,提出了注意力机制模块基于注意力机制的权重分配方案。
[0067]
具体流程如下:训练开始时,中央服务器会初始化全局模型参数,并建立一个以客户端准确率排序的客户列表。在步骤

,由中央服务器把全局参数下发到用户选择模块,然后激发用户分层模块。在步骤

,用户分层模块根据服务器的排序列表对所有用户进行分层,把准确率相近的用户分为同一层,再计算每一层的平均准确率并以此为依据调整层的选择概率。在步骤

,用户选择模块等待分层模块计算结束后,会依赖上一步分配的层概率进行层的选择,选择层后再在层中根据客户的数据量占比选择客户。重复步骤

直至客户数量达到目标值,然后将模型下发至被选中的客户端进行本地训练。在步骤

,所有被选中
的客户把训练完成的数据上传至服务端。在步骤

,注意力机制模块会对所有模型基于注意力机制进行权重的调整后上传至中央服务器,服务器根据新的权重对所有模型参数进行聚合得到本轮最终的全局模型。重复上述几个步骤直至达到终止条件。图1为算法流程图,图2为模型架构图。
[0068]
实施例
[0069]
一种基于客户选择和权重分配的联邦学习方法,包括以下步骤:
[0070]
步骤s1:根据客户端实时正确率对客户端进行分层,将客户端准确率的降序列表s分割成大小相等的m层,每一层拥有个用户;
[0071]
步骤s2:计算步骤s1中每一层的平均正确率a
l,t
,采取层内用户平均准确率a
l,t
作为依据对步骤s1中每一层的选取概率p
l,t
进行调整,在新的概率分布下倾向于选取表现差的用户层;
[0072]
步骤s3:采取数据占比pk对步骤s2选取的层内每一个客户的选取概率进行调整,使选取倾向于数据量较大的用户;
[0073]
步骤s4:选取步骤s3选取的客户训练,所有被选中的客户端训练完成后,上传本地模型参数至服务端;
[0074]
步骤s5:使用注意力机制对至服务端的模型权重进行调整,计算每个模型与上一轮服务端全局模型的注意力值,计算出参数后,对所有客户端的相似度sim
k,l
进行归一化处理,利用归一化后的相似性s
k,l
,对每个客户端的权重进行调整,将相似度与数据量相乘后所占总体的比值作为该用户所分配的权重α
k,l

[0075]
步骤s6:进行全局模型参数聚合,根据步骤s5所分配的权重,对所有参与本轮训练的用户分层进行参数聚合
[0076]
本发明在用户选择时,提出了一种基于用户准确率的分层策略,实时对用户分层,选取用户时先以层为单位选取,再从层中选择用户。在服务端模型聚合时,引入注意力机制计算每个客户模型与全局模型的相似度,以此为依据调整权重分配,解决客户端数据异构型较强的情况下,随机选择算法导致模型收敛慢和收敛方向不可控的问题。
[0077]
所述步骤s1具体包括以下步骤:
[0078]
根据客户端实时正确率对客户端进行分层:
[0079]
所述步骤s1.1、在训练开始时,将所有客户端准确率设定为0,在后续实验中,每一轮参加的用户都实时更新自己本地训练后的准确率到服务端,然后在服务端维持一个所有客户端准确率的降序列表s,每一轮客户端更新了准确率服务端就执行一次插入排序来维持列表的降序排序。
[0080]
所述步骤s1.2、分层方法采用简单的等距切割,将准确率的降序列表s分割成大小相等的m层,每一层拥有个用户。
[0081]
所述步骤s2具体包括以下步骤:
[0082]
对每一层的选取概率进行调整,在新的概率分布下倾向于选取表现差的层:
[0083]
所述步骤s2.1、首先计算每一层的平均正确率,
[0084][0085]
其中,l表示用户层,a
l,t
表示的第t轮全局训练轮次下第l层的平均准确率,an表示层内每个用户的准确率,n表示层内用户数量。
[0086]
所述步骤s2.2、方案的目标是选取对当前模型训练有利的客户端,而长时间未参与训练和准确率较低的用户可以对当前模型的收敛有较大贡献,采取层内用户平均准确率作为依据,对每一层概率做出调整。
[0087][0088]
其中,p
l,t
表示第t轮第l层的选取概率,它与1-a
l,t
的值成正比,也就是平均准确率高的层被分配较低的选取概率,让选取倾向于表现较差的用户层。
[0089]
所述步骤s3具体包括以下步骤:
[0090]
对层内每一个客户的选取概率进行调整:
[0091]
所述步骤s3.1、数据异构型还体现在客户端数据量的不平衡上,每一层内用户的准确率相近,但数据量差异明显,数据量较低的用户对当前模型收敛贡献较小,需要调整每个用户的选取概率,使选取倾向于数据量较大的用户。
[0092]
所述步骤s3.2、采取数据占比pk来调整层内用户被选取的概率:
[0093][0094]
其中,p
k,t
表示用户k在第t轮被选取的概率,此概率等于该用户数据量与其所在层总数据量的比值。
[0095]
所述步骤s4具体包括以下步骤:
[0096]
选取用户训练并上传模型参数:
[0097]
所述步骤s4.1、服务器开始选取用户,确定一个目标选取数量c
[0098]
所述步骤s4.2、根据s1、s2、s3三步调整的概率进行选取,首先根据层概率分布选取到某一层,再在层中,根据客户概率分布选中某个客户。
[0099]
所述步骤s4.3、每次执行完选出一个客户,将步骤s4.2重复c次,完成本轮次的客户选取。
[0100]
所述步骤s4.4、被选中的客户执行本地训练,按照服务端规定的本地轮次e进行批量梯度下降训练。
[0101]
所述步骤s4.5、所有被选中的客户端训练完成后,上传本地模型参数至服务端。
[0102]
所述步骤s5具体包括以下步骤:
[0103]
使用注意力机制对模型权重进行调整:
[0104]
所述步骤s5.1、计算每个模型与上一轮服务端全局模型的注意力值。由于模型参数各层之间长度各不相同,此处对模型的每一层采用分层计算。注意力评分函数采用cosine相似性:
[0105]
[0106]
其中sim
k,l
表示用户k在模型的第l层与对用全局模型参数层的相似度,ω
l
表示全局模型第l层的参数,ω
k,l
表示用户k模型的第l层参数。
[0107]
所述步骤s5.2、计算出参数后,对所有客户端的相似度进行归一化处理,使其映射为0到1区间上的分布。使用softmax函数:
[0108][0109]
其中s
k,l
表示归一化后的参数相似度。
[0110]
(5.3)利用(5.2)归一化后的相似性,对每个客户端的权重进行调整
[0111][0112]
其中α
k,l
表示用户k在聚合阶段模型的第l层所占的权重,nk表示用户k的数据量,k为参与模型聚合的用户总量。将相似度与数据量相乘后所占总体的比值作为该用户所分配的权重。
[0113]
所述步骤s6具体包括以下步骤:
[0114]
进行全局模型参数聚合:
[0115]
步骤s6.1、根据s5所分配的权重,对所有参与本轮训练的用户分层进行参数聚合
[0116][0117]
其中表示聚合后的第l层全局模型参数。表示用户k的第l层参数。
[0118]
步骤s6.2、聚合完成后,本轮训练结束,重复上述步骤开始下一轮训练。
[0119]
为了验证本发明对异构数据处理的有效性,进行了以下实验:
[0120]
对两个图像数据集采用不同的数据异构non-iid策略继续进行了实验。
[0121]
使用了两个对比模型:经典联邦学习算法fedavg和一个联邦学习优化算法fedprox。
[0122]
数据集:mnist、cifar-10。
[0123]
mnist数据集包含了大量人类书写的数字图片,该数据集被广泛用于机器学习领域各种算法的基准测试实验。在本发明的一个实施方式中,mnist数据集包含了60000张手写体样本图片,其中50000张被划分为训练集,另外10000张则被划分为测试集。mnist数据集中每张图片的为28*28像素大小的灰度图像,每张图仅有1个通道,灰度级为256,其中的内容为阿拉伯数字0到9的图片。cifar-10数据集是包含60000张rgb彩色图像的图像数据集,cifar-10通常用于训练机器学习和计算机视觉算法,较为合适的数据集大小使得cifar-10已经是最为通用的图像识别任务的数据集之一。cifar-10数据集中50000张图片数据为训练集,而另外10000张为测试集。cifar10数据集的每张图像大小为32*32像素大小,每张图像有rgb三个通道。两种数据集示例如图4所示,其中图4(a)为mnist数据集,图4(b)为cifar-10数据集示例。
[0124]
参照模型:fedavg、fedprox
[0125]
异构数据分类策略:
[0126]
(1)iid分布。直接对数据进行随机分配,等量分配到所有客户端。这也是常规机器
学习所使用的数据分布策略。
[0127]
(2)标签偏斜(label distribution skew)。这种分配方案下,每个用户都无法获取到全部的标签数据。比如在minst数据集中,共有包含0到9的10个标签,每个用户只分配固定数目的标签,具体来说就是,某个用户数据集只包含一定数量的1、
[0128]
2、3的手写数据。而另一个用户只包含4、5、6的手写数据。
[0129]
(3)数量分配偏斜(quantity skew)。在这种分配方案下,每个用户之间可能存在较大的数据量差异,这也是常见的一种non-iid数据分布情况。采用狄利克雷分布采样各个类别的数据量并划分给各个客户端。
[0130]
实验设定:具体参数设置如表1所示
[0131]
表1实验参数设置
[0132][0133]
实验结果:
[0134]
为了方便表述,将前文制定的三种数据分布方案中的iid分布简写为iid、标签偏斜简写为ls、数据量倾斜简写为qs。本发明的模型简写为fedam。
[0135]
试验1:模型整体性能分析。
[0136]
在表2中给出了fedam模型和其他两个基线模型在两种图像数据集中以及三种不同数据分布下的准确率测试结果。为了更直观的对比数据,在图5和图6中进行了结果展示。
[0137]
表2整体模型训练准确率
[0138][0139]
从表2中的数据可以看出,在两种数据集中,使用iid分布的数据进行测试时,fedam模型和其他两种基线模型在最终的性能上几乎没有差距,三种模型表现基本一致。这与fedprox和fedam两种模型的本质有关,两者都是对fedavg模型处理non-iid数据时做的优化,而对于iid数据,fedavg本身就有非常好的表现。对于两种non-iid分布方案中,在qs(数据量偏斜)分布条件下,三者表现未发现明显差异,而在ls(标签偏斜)情况下,本文提出的fedam模型表现最佳,相比于其他模型有着很大的优势,结合图5所示,在minst数据集下,准确率比基线模型最大者高出0.9%,结合图6所示,在相对复杂的cifar-10数据集中,高出
了6.7%。且相比处理iid数据,fedam模型在处理non-iid数据时,三个模型中性能下降最小,在minst中只下降了0.3%,在cifar-10数据集中只下降了2.8%,相比其他模型10%左右的准确率损失,证明了fedam模型在处理non-iid数据时具有鲁棒性以及较好的收敛性。
[0140]
实验2:注意力机制的聚合算法性能分析。
[0141]
由于minst数据训练任务比较简单,模型差距较小,所以本文选取了训练效果相比较差的cifar-10数据集作为实验2的训练数据。
[0142]
如图7所示,实验选择了在三个模型表现差异较小的qs数据分布下的收敛情况。根据模型训练过程中准确率曲线的震动程度可以看出,fedavg在处理non-iid数据时,模型非常不稳定,而fedam模型中的注意力机制模块可以自动调整模型的收敛方向,在整个训练过程都处于一个稳定的状态。这也证明了注意力机制模块对控制模型方向是有效的。
[0143]
实验3:分层的客户选择方案性能分析
[0144]
表3既定准确率下模型的收敛次数
[0145][0146]
本实验是为了研究分层的客户选择方案是否可以通过选择有价值的客户来加快收敛速度。实验采取的评价标准是,在给定目标准确率的条件下,研究三个模型在达到条件时经历的全局迭代次数,考虑到模型收敛的震动情况,实验中要求模型累计三次达到准确度要求才会作为最终结果被记录。准确率和实验结果如表3所示,为方便展示,将表格数据绘制成图8、图9所示的柱状图。
[0147]
结合图8和9图中数据可以看出,三个模型在任意数据集下,都可以在iid数据下快速收敛达到目标准确率。而在non-iid数据下,无论哪种分布方案,fedam中的分层方案都有着优异的表现,特别是处理cifar-10的ls数据时,fedam模型只用了87轮就达到目标,相比于第二个达到目标的fedavg模型快了97轮。数据证明了分层方案可以主动选择潜在贡献量较大的用户,对于每个用户都只拥有特定标签数量的数据,采用分层方案后,对于某些标签训练少的用户数据会提高被选取概率,经过这种抽样方案可以极大提高模型前期的收敛速度,用较少的训练次数达到目标准确率。而fedavg和fedprox无法识别这些用户,导致收敛速度偏慢。
[0148]
可见,本发明提出注意力机制来重新对客户端分配聚合权重,根据模型相似度来降低相比全局模型差异过大的客户端权重,可以控制全局模型的收敛方向不会偏离,使收敛过程更加平稳。本发明通过对客户端进行分层处理,调整客户端的选取概率,选取出可以对当前模型训练更有利的客户,使全局模型收敛速度加快,并使最终模型在所有客户端的性能表现更加公平。本发明可以在较低的额外计算成本下更加有效的处理non-iid数据。
[0149]
在本发明的另一实施例中,还提供一种基于客户选择和权重分配的联邦学习方法的系统,应用所述基于客户选择和权重分配的联邦学习方法,该系统包括用户分层模块、用
户选择模块和注意力机制模块;
[0150]
所述用户分层模块用于根据客户端实时正确率对客户端进行分层,将客户端准确率的降序列表s分割成大小相等的m层,每一层拥有个用户,计算每一层的平均正确率a
l,t
,采取层内用户平均准确率a
l,t
作为依据对步骤s1中每一层的选取概率p
l,t
进行调整,在新的概率分布下倾向于选取表现差的用户层;
[0151]
所述用户选择模块用于采取数据占比pk对选取的层内每一个客户的选取概率进行调整,使选取倾向于数据量较大的用户,对选取的客户训练,所有被选中的客户端训练完成后,上传本地模型参数至服务端;
[0152]
所述注意力机制模块用于使用注意力机制对至服务端的模型权重进行调整,计算每个模型与上一轮服务端全局模型的注意力值,计算出参数后,对所有客户端的相似度sim
k,l
进行归一化处理,利用归一化后的相似性s
k,l
,对每个客户端的权重进行调整,将相似度与数据量相乘后所占总体的比值作为该用户所分配的权重α
k,l
,进行全局模型参数聚合,根据所分配的权重α
k,l
,对所有参与本轮训练的用户分层进行参数聚合
[0153]
在此需要说明的是,上述实施例提供的系统仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,该系统是应用于上述实施例的一种基于客户选择和权重分配的联邦学习方法。
[0154]
在本发明的另一实施例中,还提供一种存储介质,存储有程序,所述程序被处理器执行时,实现所述基于客户选择和权重分配的联邦学习方法,具体为:
[0155]
步骤s1:根据客户端实时正确率对客户端进行分层,将客户端准确率的降序列表s分割成大小相等的m层,每一层拥有个用户;
[0156]
步骤s2:计算步骤s1中每一层的平均正确率a
l,t
,采取层内用户平均准确率a
l,t
作为依据对步骤s1中每一层的选取概率p
l,t
进行调整,在新的概率分布下倾向于选取表现差的用户层;
[0157]
步骤s3:采取数据占比pk对步骤s2选取的层内每一个客户的选取概率进行调整,使选取倾向于数据量较大的用户;
[0158]
步骤s4:选取步骤s3选取的客户训练,所有被选中的客户端训练完成后,上传本地模型参数至服务端;
[0159]
步骤s5:使用注意力机制对至服务端的模型权重进行调整,计算每个模型与上一轮服务端全局模型的注意力值,计算出参数后,对所有客户端的相似度sim
k,l
进行归一化处理,利用归一化后的相似性s
k,l
,对每个客户端的权重进行调整,将相似度与数据量相乘后所占总体的比值作为该用户所分配的权重α
k,l

[0160]
步骤s6:进行全局模型参数聚合,根据步骤s5所分配的权重,对所有参与本轮训练的用户分层进行参数聚合聚合完成后,本轮训练结束,重复上述步骤开始下一轮训练。
[0161]
应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下
列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0162]
应当理解,虽然本说明书是按照各个实施例描述的,但并非每个实施例仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
[0163]
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施例的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施例或变更均应包含在本发明的保护范围之内。

技术特征:
1.基于客户选择和权重分配的联邦学习方法,其特征在于,包括以下步骤:步骤s1:根据客户端实时正确率对客户端进行分层,将客户端准确率的降序列表s分割成大小相等的m层,每一层拥有个用户;步骤s2:计算步骤s1中每一层的平均正确率a
l,t
,采取层内用户平均准确率a
l,t
作为依据对步骤s1中每一层的选取概率p
l,t
进行调整,在新的概率分布下倾向于选取表现差的用户层;步骤s3:采取数据占比p
k
对步骤s2选取的层内每一个客户的选取概率进行调整,使选取倾向于数据量较大的用户;步骤s4:选取步骤s3选取的客户训练,所有被选中的客户端训练完成后,上传本地模型参数至服务端;步骤s5:使用注意力机制对至服务端的模型权重进行调整,计算每个模型与上一轮服务端全局模型的注意力值,计算出参数后,对所有客户端的相似度sim
k,l
进行归一化处理,利用归一化后的相似性s
k,l
,对每个客户端的权重进行调整,将相似度与数据量相乘后所占总体的比值作为该用户所分配的权重α
k,l
;步骤s6:进行全局模型参数聚合,根据步骤s5所分配的权重,对所有参与本轮训练的用户分层进行参数聚合2.根据权利要求1所述的基于客户选择和权重分配的联邦学习方法,其特征在于,所述步骤s2中计算每一层的平均正确率a
l,t
具体如下式:其中,l表示用户层,a
l,t
表示的第t轮全局训练轮次下第l层的平均准确率,a
n
表示层内每个用户的准确率,n表示层内用户数量。3.根据权利要求1所述的基于客户选择和权重分配的联邦学习方法,其特征在于,所述步骤s2中每一层的选取概率p
l,t
通过下式计算:其中,p
l,t
表示第t轮第l层的选取概率,l表示用户层,a
l,t
表示的第t轮全局训练轮次下第l层的平均准确率。4.根据权利要求1所述的基于客户选择和权重分配的联邦学习方法,其特征在于,所述步骤s3中采取数据占比p
k
来调整层内用户被选取的概率,计算公式如下:其中,p
k,t
表示用户k在第t轮被选取的概率,此概率等于该用户数据量与其所在层总数据量的比值,n
k
表示用户k的数据量。5.根据权利要求1所述的基于客户选择和权重分配的联邦学习方法,其特征在于,所述步骤s4具体包括以下步骤:
步骤s4.1:服务器开始选取用户,确定一个目标选取数量c;步骤s4.2:根据步骤s1、步骤s2、步骤s3三步调整的概率进行选取,首先根据层概率分布选取到某一层,再在层中,根据客户概率分布选中某个客户;步骤s4.3:每次执行完选出一个客户,将步骤s4.2重复c次,完成本轮次的客户选取;步骤s4.4:被选中的客户执行本地训练,按照服务端规定的本地轮次e进行批量梯度下降训练;步骤s4.5:所有被选中的客户端训练完成后,上传本地模型参数至服务端。6.根据权利要求1所述的基于客户选择和权重分配的联邦学习方法,其特征在于,所述步骤s5中sim
k,l
通过以下公式计算:其中sim
k,l
表示用户k在模型的第l层与对用全局模型参数层的相似度,ω
l
表示全局模型第l层的参数,ω
k,l
表示用户k模型的第l层参数;归一化后的相似性s
k,l
通过以下公式计算:其中s
k,l
表示归一化后的参数相似度。7.根据权利要求1所述的基于客户选择和权重分配的联邦学习方法,其特征在于,所述步骤s5中分配的权重α
k,l
通过以下公式计算:其中α
k,l
表示用户k在聚合阶段模型的第l层所占的权重,n
k
表示用户k的数据量,k为参与模型聚合的用户总量。8.根据权利要求1所述的基于客户选择和权重分配的联邦学习方法,其特征在于,所述步骤s6中参数聚合通过以下公式计算:其中表示聚合后的第l层全局模型参数。表示用户k的第l层参数。步骤s6.2:聚合完成后,本轮训练结束,重复上述步骤开始下一轮训练。9.一种基于客户选择和权重分配的联邦学习方法的系统,其特征在于,应用权利要求1-8任意一项所述基于客户选择和权重分配的联邦学习方法,包括用户分层模块、用户选择模块和注意力机制模块;所述用户分层模块用于根据客户端实时正确率对客户端进行分层,将客户端准确率的降序列表s分割成大小相等的m层,每一层拥有个用户,计算每一层的平均正确率a
l,t
,采取层内用户平均准确率a
l,t
作为依据对步骤s1中每一层的选取概率p
l,t
进行调整,在新的概率分布下倾向于选取表现差的用户层;所述用户选择模块用于采取数据占比p
k
对选取的层内每一个客户的选取概率进行调整,使选取倾向于数据量较大的用户,对选取的客户训练,所有被选中的客户端训练完成
后,上传本地模型参数至服务端;所述注意力机制模块用于使用注意力机制对至服务端的模型权重进行调整,计算每个模型与上一轮服务端全局模型的注意力值,计算出参数后,对所有客户端的相似度sim
k,l
进行归一化处理,利用归一化后的相似性s
k,l
,对每个客户端的权重进行调整,将相似度与数据量相乘后所占总体的比值作为该用户所分配的权重α
k,l
,进行全局模型参数聚合,根据所分配的权重α
k,l
,对所有参与本轮训练的用户分层进行参数聚合10.一种存储介质,存储有程序,其特征在于:所述程序被处理器执行时,实现权利要求1-8任意一项所述基于客户选择和权重分配的联邦学习方法。

技术总结
本发明提供了基于客户选择和权重分配的联邦学习、系统及介质,该方法包括以下步骤:根据客户端实时正确率对客户端进行分层;对每一层的选取概率进行调整,在新的概率分布下倾向于选取表现差的层;对层内每一个客户的选取概率进行调整;选取用户训练并上传模型参数;使用注意力机制对模型权重进行调整;进行全局模型参数聚合。本发明在处理Non-IID数据时,控制全局模型的收敛方向,并且在不违背最终模型公平性的前提下选择对模型收敛有利的用户,以及在控制客户端计算成本的条件下提高模型的收敛速度,解决客户端数据异构型较强的情况下,随机选择算法导致模型收敛慢和收敛方向不可控的问题。控的问题。控的问题。


技术研发人员:孙国辉 李星毅
受保护的技术使用者:江苏大学
技术研发日:2023.03.13
技术公布日:2023/9/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐