一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

面向Non-IID场景的联邦学习客户端选择方法

2023-02-06 13:05:06 来源:中国专利 TAG:

面向non-iid场景的联邦学习客户端选择方法
技术领域
1.本发明涉及客户端选择技术领域,具体地说,涉及一种面向non-iid场景的联邦学习客户端选择方法。


背景技术:

2.随着物联网的快速发展,各种移动设备和物联网设备每天产生海量的数据,这为人工智能发展提供了机会。在传统的机器学习方式中,为了训练一个具有数百万个模型参数的复杂模型,用户需要将在设备上生成的数据上传到服务器。但是在实际应用中,由于带宽限制和愈发严格的大数据隐私保护等问题,集中式机器学习将不再适用。
3.为了解决该问题,google提出了一种新兴的机器学习范式,称为联邦学习(federated learning,fl),其目标是在不影响用户隐私的情况下,中央服务器协调参与者利用其本地数据共同训练一个增强的全局模型。联邦平均算法(federated averaging,fedavg)作为一种典型的联邦学习算法,其训练步骤如图2所示:1)在每次迭代中,服务器随机选择客户端的子集,并将当前全局机器学习模型参数发送给选定的客户端;2)客户端根据接收到的模型参数,利用其本地的数据样本对模型进行更新;3)在本地训练完后,客户端将更新后的模型参数上传到服务器;4)服务器根据客户端的数据样本量将各局部模型加权平均融合成一个增强型的全局模型。上述步骤不断迭代,直到达到指定的通信轮次或者模型收敛为止。
4.虽然fl可以在一定程度上解决数据共享与隐私保护需求之间的矛盾问题。但是fl在技术上也存在很多的挑战:一方面,由于移动设备受限于设备状态,带宽,网络连接等限制,通信成本成了fl环境中的一个关键瓶颈,因为模型收敛通常需要多次迭代。另一方面,中央服务器聚合的全局模型虽不涉及原始数据,但是需要对本地数据样本的特征学习来达到更新的目的。然而由于用户使用习惯、行为特征等不同,其设备上的数据样本往往服从非独立同分布规律(non-identically independently distributions,non-iid),且这些数据分布不能代表总体数据分布,这也被称为客户端数据异质性问题。客户端的数据异质性显著降低了联邦学习的性能,这使得模型训练需要训练更多轮次才能收敛,而non-iid数据引起的方差给训练过程带来了很大的不稳定性。这里的方差是指局部模型之间在权值、更新方向或特征表示上的偏差。


技术实现要素:

5.本发明的内容是提供一种面向non-iid场景的联邦学习客户端选择方法,其能够克服fedavg算法在non-iid数据场景下性能降低的问题。
6.根据本发明的一种面向non-iid场景的联邦学习客户端选择方法,其包括以下步骤:
7.一、中央服务器初始化全局模型w0,从所有可用的客户端中随机挑选一个客户端的子集s
t
,将w0广播给s
t
中的客户端;
8.二、每个客户端从服务器接收全局模型,并使用本地原始数据训练本地模型,得到局部更新并计算平均损失
[0009][0010]dk
表示本地数据集,ξi表示数据样本,i表示第i个样本,t表示第t轮通信轮次,k表示第k个客户端;
[0011]
三、客户端将局部更新和损失发送给服务器,服务器基于从客户端获取的信息选择客户端。
[0012]
作为优选,步骤三中,具体包括以下步骤:
[0013]
服务器首先对客户端训练损失值进行排序,选取训练损失排名top-ρ的局部更新对应的客户端子集c
t
;接下来使用上一轮通信的全局模型w
t-1
和客户端上传的局部更新来计算余弦相似度以判断客户端的优化趋势是否有利于增强全局模型;计算公式如下:
[0014][0015]
接下来服务器将基于局部模型和全局模型之间的余弦相似度来衡量客户端数据异质性,并自适应根据数据异质性为客户端分配聚合权重,加权聚合公式如下:
[0016][0017]
k表示客户端的个数;w
t
为新的全局模型;
[0018]
重复以上步骤,直至全局模型收敛或者达到指定的迭代次数为止。
[0019]
为了克服fedavg算法在non-iid数据场景下性能降低的问题,本发明提出了两阶段客户端选择方案,通过过滤低性能和与全局优化趋势偏差较大的客户端更新来提高fl的性能。具体来说,在每一轮全局模型聚合前,为了提高联邦学习的收敛速度,首先通过性能评估过滤掉训练损失较大的客户端。接下来,为了平衡non-iid数据的客户端对fl全局模型引入的偏差,本发明提出利用余弦相似度来衡量各局部更新与全局更新的优化趋势是否一致,进一步筛选出对增强全局模型有利的局部更新,并根据余弦相似度衡量数据异质性程度,以此来动态调整客户端在全局聚合步骤中的权重。该算法通过选择合适的客户端和调整聚合策略,提高联邦学习在图像分类任务的分类精度,同时加快了模型的收敛速度。
[0020]
本发明具有如下有益效果:
[0021]
1)本发明提出了一种新颖的客户端选择算法,称为feddcs,以优化fl全局模型的精度和收敛速度。具体来说,在聚合全局模型之前,利用客户端与全局模型的余弦相似度和训练损失衡量客户端优化方向和性能,以此来过滤掉低质量的客户端。
[0022]
2)由于各客户端的数据异质性程度不同,本发明提出将余弦相似度作为衡量客户端异质性程度的指标作为客户端在全局聚合步骤中的聚合权重,设计了一种简单有效的自
适应加权聚合策略,达到在non-iid数据存在的情况下减少fl训练的通信轮数的目的。
[0023]
3)与基线算法相比,使用feddcs算法进行联邦学习训练可以大大减少通信轮数和提高模型精度。
附图说明
[0024]
图1为实施例中;
[0025]
图2为背景技术中fedavg算法示意图;
[0026]
图3为实施例中使用iid和non-iid数据进行联邦学习的优化趋势分歧说明示意图。
具体实施方式
[0027]
为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。应当理解的是,实施例仅仅是对本发明进行解释而并非限定。
[0028]
实施例
[0029]
首先简要介绍预备知识
[0030]
一般来说,联邦学习的目标是在一个中央服务器协调下,多个客户端使用本地数据协作训练共享的全局模型。考虑一共有k个客户端,客户端k(k∈{1,2,

,k)拥有一个本地数据集dk(数据集大小dk=|dk|)。客户端与中央服务器相连,并寻求合作找到一个最优的全局模型参数w
*
,以最小化所有客户端的加权平均损失:
[0031][0032]
其中pk是客户端k的权重,pk≥0并且fk(w)表示的局部优化目标:
[0033][0034]
其中l(w;ξi)是损失函数,表示模型w对数据样本ξi的推理损失,i表示第i个样本。
[0035]
为了优化这一目标,提出了fedavg算法,这是一种迭代算法,包含多个通信轮次。定义第t轮中客户端k的模型为全局模型为w
t
。服务器从客户端中选择一个子集然后将全局模型w
t-1
发送给所选客户端。然后客户端同步其本地模型并执行随机梯度下降(sgd)以优化其局部目标,训练得到
[0036][0037]
其中是第t轮中的学习率,ξk是客户端k上的本地数据样本。
[0038]
然后,服务器将从客户端接收的本地模型聚合为新的全局模型w
t

[0039][0040]
其中是客户端k的聚合权重。fedavg算法已被证明能够有效地以低通信成本最小化目标,同时保护隐私。然而,如果不同客户端之间的数据分布不一致,则可能会导致联邦学习的性能下降。
[0041]
non-iid数据如何影响联邦学习性能
[0042]
在联邦学习中,当客户端数据分布服从独立同分布规律(identically independently distributions,iid)时,fedavg算法能够较好的逼近集中式训练的模型。然而在实践中,由于用户偏好和使用模式不同,不同的客户端有自己的数据特征,因此可能有不同的数据分布和数量,即客户端数据异质性问题。此时fedavg算法收敛不稳定,甚至可能发散。该问题是由客户端局部目标与全局目标之间的不一致引起的。由于局部目标fk(w)与数据分布密切相关,因此大量的局部更新会导致模型朝着局部目标fi(w)的最优方向发展,而不是朝着全局目标f(w)优化。随着迭代的进行,局部模型的模型fk(w)和全局目标f(w)之间的优化趋势分歧不断累积,需要更多的通信轮次才能达到收敛,降低了联邦学习的性能。因此,具有多个局部更新的局部训练可能会损害收敛性,甚至存在non-iid数据时导致发散。全局模型w和局部模型wk之间的优化趋势分歧可以用图3来理解。在第t轮训练中,当数据是iid设置时,对于客户端k,局部模型和全局模型w
t
的优化趋势基本一致,它们的差异很小。当数据是non-iid设置时,对于客户端k,由于数据分布之间的距离,和w
t
的优化趋势出现分歧,并随着迭代次数不断累积,分歧逐渐增大。因此在non-iid设置下,设计有效的联邦学习优化算法是一项具有挑战性的工作。
[0043]
feddcs算法
[0044]
feddcs算法旨在过滤掉性能较差,与全局优化趋势大相径庭的客户端更新,以提高fl的全局分类模型的精度和收敛速度。具体来说,假设有一个中央服务器和k个客户端。每个客户端都有自己生成的原始数据,客户端不需要将私有数据发送给服务器。feddcs算法遵循fedavg的框架,其伪代码在表1中给出。
[0045]
表1 feddcs算法伪代码
[0046][0047]
首先,中央服务器初始化全局模型w0,从所有可用的客户端中随机挑选一个客户端的子集将w0广播给s
t
中的客户端。然后,每个客户端从服务器接收全局模型,并使用本地原始数据训练本地模型,得到局部更新并计算平均损失
[0048][0049]
接下来,客户端将局部更新和损失发送给服务器。服务器基于从客户端获取的信息选择客户端。具体来说,服务器首先对客户端训练损失值进行排序,选取训练损失排名top-ρ的局部更新对应的客户端子集接下来使用上一轮通信的全局模型w
t-1
和客户端上传的局部更新来计算余弦相似度,以判断客户端的优化趋势是否有利于增强全局模型。由于模型的优化通常是平滑的,因此认为相邻两轮的模型参数顺序差异较小,可以用上一轮的全局模型做参考。计算公式如下:
[0050][0051]
在模型聚合阶段,一些训练效果不理想的局部模型不仅不能加快模型的收敛速
度,而且还会占用大量的网络传输资源。因此,最好过滤掉不必要的客户端更新,以减少额外的通信成本,增强全局模型。这里优先选择余弦相似度为正值、训练损失大的客户端,以减轻高数据异质性客户端带来的模型偏差,同时提高收敛速度。
[0052]
由于non-iid数据加剧了参与客户端上模型参数的差异,并大幅增加了fl的通信轮数,通过已有研究证明,模型权重和模型所训练的数据分布之间的隐含联系。并且通过分析,在高数据异质性情况下,随着训练的迭代进行,局部模型与全局模型优化趋势分歧较大。接下来服务器将基于局部模型和全局模型之间的余弦相似度来衡量客户端数据异质性,并自适应根据数据异质性为客户端分配聚合权重,加权聚合公式如下:
[0053][0054]
重复以上步骤,直至全局模型收敛或者达到指定的迭代次数为止。
[0055]
实验设置
[0056]
硬件环境:实验在intel(r)core(tm)i7-9750h cpu@2.60ghz处理器,16gb内存和geforce ctx 1650 gpu的windows 10笔记本上使用pytorch1.10模拟了联邦学习环境,并研究了图像分类任务,对算法进行了仿真验证。
[0057]
基线算法:为了更全面评估提出的feddcs算法,选择与经典的fedavg算法、最先进的处理数据异质性的fedprox算法和power-of-choice算法,在同等实验条件下,使用全局测试集上的测试精度和达到目标测试精度所需通信轮数作为性能度量来评估4种算法性能表现。
[0058]
数据集与数据分布:这里分别在minist,fashion-mnist和cifar-10数据集上训练卷积神经网络(convolutional neural network,cnn)。并且对100个参与的客户端模拟了三种数据异质性情况:对于iid设置,数据样本被随机打乱,然后将样本随机均匀地分给所有的客户端。对于non-iid设置,在此情况下客户端只持有来自少数有限类的数据:针对mnist和fashion-mnsit,按照数字标签对数据进行排序并划分为两种极端情况。case1:每个客户端的数据只属于一个标签;case2:每个客户端的数据只属于两个标签。由于在cifar-10数据集上的图像分类任务相对复杂一点,这里采用dirichlet分布来模拟non-iid设置。β是浓度参数(β》0),可以调整β的值来控制客户端数据异质性程度,其中β越小表示数据异质性越高,case1:β=0.5,case2:β=5。
[0059]
超参数:为了模拟通信资源有限的真实场景,这里假设一共有100个客户端,每一轮训练中参与客户端的比例为0.2,η=0.01,e=5,b=10,学习衰减率为0.995。对于fedprox算法,将超参数μ设置为0.01,以控制正则项权重。对于power-of-choice算法,设置d=10。
[0060]
实验结果
[0061]
数据非独立同分布对fl的影响
[0062]
为了阐明non-iid数据对联邦学习性能的影响,这里探究了在iid和non-iid设置下fedavg算法在三个数据集上训练cnn模型的模型性能情况。随着数据异质性的程度增大(case2-》case1),fedavg算法在精度和收敛速度大幅度下降,甚至出现不收敛的情况,尤其是在case1设置下,与iid设置相比,训练100轮后fedavg在三个数据集上测试精度分别下降23.11%,32.35%,28.17%。实验结果表明,联邦学习框架下客户端数据异质性问题会严重
影响模型的收敛性,使得模型性能下降,从而导致模型的退化。通过实验也进一步说明了在联邦学习中考虑数据non-iid的重要性。
[0063]
在不同non-iid设置下比较不同fl方法的收敛性
[0064]
表2展示了在不同数据异质性情况下,四种联邦学习算法在三个数据集上训练100轮后的测试精度。为了公平比较,所有的实验都用不同的随机种子重复5次,这里计算了最后10轮的平均结果。从表2中可以发现,在不同的数据异质性设置下,feddcs算法均优于基线算法,精度有较大的提升。以cifar-10数据集上的图像分类任务为例,在case1设置时,feddcs算法的精度分别比fedavg,fedprox和power-of-choice算法提升16.45%,6.45%,10.25%。在case2设置时,feddcs算法的精度分别比fedavg,fedprox和power-of-choice算法提升17.98%,6.67%,10.91%。在iid设置时,feddcs算法精度分别比fedavg,fedprox和power-of-choice算法提升9.39%,3.67%,5.14%。实验结果表明,无论数据的异质性程度如何,feddcs算法在图像分类任务上的性能都优于基线算法。
[0065]
表2:在不同non-iid情况下的fl算法准确度
[0066][0067]
通信开销比较
[0068]
为了评估feddcs的有效性,这里计算了四种fl算法在三个数据集上的达到目标精度所需的通信轮数。如表3所示,实验结果表明,在三个数据集上,在达到相同目标精度的情况下,feddcs算法所需总体通信轮数最少,加快了全局模型的收敛并提高了稳定性。与其他基线算法相比,feddcs算法在mnist,fashion-mnist和cifar-10数据集上分别最多能减少74%,89.4%,73.3%的通信轮数。这证实了在non-iid情况下,feddcs算法具有更高的通信效率,并且对于不同数据异质性情况具有较好的鲁棒性。
[0069]
表3不同联邦学习算法运行300轮达到目标精度所需通信轮数
[0070][0071]
结论
[0072]
为了优化联邦学习在non-iid场景下的全局分类模型的精度和收敛速度,本发明提出了一种兼顾性能和优化趋势感知的fl算法,称为feddcs。该算法优先选择训练损失大,与全局优化趋势一致的客户端更新来聚合模型,以提高fl全局模型的质量。由于non-iid数据加剧了客户端模型参数的差异,并大幅增加了fl的通信轮数。为此本发明还提出了一种自适应加权聚合策略。该策略根据局部和全局模型的余弦相似度为客户端更新分配权重,从而平衡客户端上non-iid数据对全局模型引入的偏差,达到在non-iid数据存在的情况下减少fl训练的通信轮数的目的。实验结果表明,与基线算法相比,使用feddcs的fl训练减少了多达89.4%的通信轮数,提高了最多16.45%的精度。
[0073]
以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献