联邦学习 (FL) 是一种分布式机器学习范例,使大量客户端能够在不共享数据的情况下协作训练模型。
一、简介
深度学习技术在物联网(IoT)中的应用非常普遍,在智慧医疗、智慧交通、智慧城市等领域均有应用[
1 ]。然而,物联网中的海量数据在网络资源、数据隐私等方面给传统的中心化机器学习带来了限制。联邦学习(FL)的提出为涉及数据隐私问题的深度学习问题提供了有效的解决方案。客户可以与其他客户协作训练全局模型,而无需共享本地数据[
2 ]。FL已
成功应用于许多领域
[ 3,4,5,6,7 ]。
_ 然而,客户端之间数据异构性的存在会对 FL 的模型收敛性和训练准确性产生不利影响。
在现实场景中,不同客户端之间的本地数据集表现出异质性,这表明它们的本地数据分布与整个联邦学习(FL)系统内的全局数据分布不同。多项研究表明,客户之间数据的异质性会显着影响 FL 方法的有效性,导致模型精度大幅降低 [
8 ,
9 ]。具体来说,客户之间的异质性可能会导致其本地培训的收敛目标不一致。将具有有偏差的收敛目标的局部模型进行聚合自然会产生具有有偏差的收敛目标的全局模型。因此,与 IID 数据集相比,从非 IID 数据集获得的全局模型的分歧持续增长,这可能导致收敛速度较慢和学习性能较差 [
10 ]。有效减轻数据异构性对FL系统模型的不利影响仍然是当前联邦学习优化的核心挑战之一。本研究将主要关注水平联邦学习领域的数据异构性问题。
一些研究人员只考虑单一类别的非独立同分布环境,并且没有在不同类别的非独立同
分布环境
中提供
稳定的
性能改进
[ 11、12、13、14、15、16
]。
此外,[ 17 ]中的作者通过引入各种近端项来限制局部模型更新并减轻“客户端漂移”的程度。他们引入近端项的方法是有效的,但也本质上限制了本地模型收敛的潜力,同时在客户端上产生大量的通信、计算和存储开销,这对于现实世界的分布式系统来说是无法容忍的。此外,大多数先前的工作[
11,12,13,14,15,16,17,18,19 ]假设FL系统中的
所有客户端都可以
参与每轮迭代
。当所有客户都参与时,客户数量通常会较少,而在实践中,客户数量通常会较多。由于通信或计算能力等因素的差异,所有客户都参与每一轮 FL 的大量参与者的场景是不可行的。在常见的方法中,服务器通常采用随机选择策略来选择参与者,并使用模型聚合算法来更新全局模型的权重。随机选择参与模型聚合过程的客户端会增加全局模型的偏差,加剧数据异构性的负面影响。因此,设计一个对 FL 来说稳健的最佳客户选择策略至关重要。
许多研究侧重于设计客户选择策略以缓解 FL 中的数据异质性问题。
一些作者利用局部和全局模型参数之间的差异来衡量局部数据集的偏差程度,以制定客户选择策略[
20,21,22 ]。这些方法要么依赖于全球共享数据集,要么造成巨大的资源浪费。本地训练过程中产生的训练损失自然反映了不同客户端之间本地数据分布和训练进度的倾斜程度。除此之外,损失值的计算和上传不会产生新的计算或存储负担。一些研究使用基于客户端本地训练损失值的偏差选择并取得了良好的
结果[
23,24,25 ]。他们认为,偏向具有较高本地损失值的客户可以加速异构环境中 FL 的收敛。直观上,在FL的早期阶段,具有高损失值的客户将有助于全局模型更快地收敛。然而,当全局模型接近收敛时,选择具有高损失值的客户可能会对准确性提高产生负面影响。论文[
26 ]指出,总是选择优先的客户端往往会导致性能次优;在选择优先客户和选择更多样化的客户之间需要权衡。设计一个平衡开发和探索的 FL 客户端选择机制具有挑战性。
深度强化学习(DRL)擅长在复杂的动态环境中处理最优决策,其中代理反复观察环境,执行行动以最大化其目标,并从环境中获得奖励。在FL中为服务器构建一个代理,代理通过设计合适的奖励函数自适应地选择损失值高或低的客户端参与全局模型聚合过程,从而缓解动态环境下客户端选择策略难以制定的问题。
2. 基于数据的方法
一些研究试图缓解客户中的非独立同分布问题。赵等人。[
28 ]通过为所有客户端构建一个小型的、全球共享的、均匀分布的数据子集,改进了非独立同分布数据的训练。同样,Seo 等人。[
29 ]通过数据共享缓解了FL中的质量下降问题,使用拍卖方法有效降低成本,同时满足最大化模型质量和资源效率的系统要求。在[
30 ]中,作者假设一小部分客户端愿意共享他们的数据集,并且服务器以集中的方式从这些客户端收集数据以帮助更新全局模型。虽然此类基于数据共享的方法获得了显着的性能提升,但它们违背了 FL 的初衷,并对隐私构成威胁。并且在没有客户端原始数据的情况下,服务器无法获取全局数据分布信息并利用其构建全局共享的IID数据集。
3. 基于算法的方法
另一个研究方面侧重于通过设计算法来增强本地训练阶段或改进全局聚合过程来解决异构数据的负面影响。在[
11 ]中,作者介绍了一种称为 SCAFFOLD 的新算法。该算法使用控制变量来纠正本地更新,防止“客户端漂移”,并利用客户端数据的相似性来加速 FL 的收敛。李等人。[
12 ]使用正则化项平衡全局目标和局部目标之间的优化差异。此外,作者[
13 ]引入了一种称为FedNove的归一化平均算法。该算法通过每个客户端的本地训练迭代次数来标准化本地更新。它确保错误快速收敛,同时保持客观一致性。
[ 14 ]的作者提出了FedRS方法,该方法通过神经网络中的分类层在本地训练期间限制缺失类别权重的更新。MOON [
15 ]被提出作为模型对比联邦学习。它为客户端引入了对比损失,利用全局模型和历史本地模型的表示进行学习,以纠正每个客户端的本地模型更新。
同样,[ 16 ]的作者提出了FedProc,一种典型的对比联邦学习方法。作者为本地网络训练设计了一个全局原型对比损失,并使用原型作为全局知识来纠正每个客户的本地训练。
[ 18 ]的作者展示了一种依赖于贡献的权重设计,名为FedAdp。它根据训练过程中的梯度信息计算客户端的局部目标与整个FL系统的全局目标之间的关联,为每个参与的客户端分配不同的权重。张等人。[
19 ]通过无数据蒸馏将知识从局部模型转移到全局模型,解决了直接模型聚合的挑战。龙等人。[
31 ]提出FedCD,通过引入分层原型比较学习、全局信息蒸馏等方法来了解客户的类别分布,从而消除非独立同分布数据中的分类器偏差。
4. 基于系统的方法
此外,一些研究尝试设计服务器的客户端选择策略。在[
20 ]中,作者通过分析本地模型权重的差异来确定客户端之间的 IID 数据水平。他们为非 IID 程度较低的客户分配了更高的选择概率,确保他们更频繁地参与 FL 培训。但 IID 公共数据可访问的假设在现实世界中很难满足。吴等人。[
21 ]使用局部模型梯度和全局模型梯度的内积作为衡量标准来确定参与模型聚合的客户端子集,确保对减少全局损失贡献更大的客户端有更高的被选择概率。一些研究通过考虑本地训练损失值来设计客户选择策略。戈茨等人。[
25 ]根据局部损失值评估不同客户端数据在每个FL轮中的贡献,计算相应的评估分数,并根据评估值选择优化的客户端子集。曹等人。[
23 ]从理论上证明,与随机客户端选择相比,有利于具有较大局部损失值的客户端选择可以提高收敛速度。其他研究采用强化学习来选择服务器的客户端。陈等人。[
32 ]使用UCB方法在每轮优化期间启发式选择参与客户,利用历史全局模型和当前局部模型的余弦距离权重(CDW)来衡量客户的贡献并分配奖励。
此外,[ 22 ]的作者提出了一种经验驱动的控制框架,该框架使用深度强化学习算法,通过降低客户端本地模型权重的维度并将其用作状态,在每轮联邦学习(FL)中智能地选择客户端提高全球模型的性能。肖等人。[
33 ]提出了一种基于聚类和双层抽样的客户选择策略。首先,使用MD采样构建候选客户端的子集,然后提出WPCS机制来收集客户端的加权每标签平均类别分数以进行聚类并选择最终客户端。
This entry is adapted from the peer-reviewed paper 10.3390/s23229226