Author
Sawsan AbdulRahman, Hanine Tout, Hakima Ould-Slimane, Azzam Mourad, Chamseddine Talhi, Mohsen Guizani
Keywords
AI; DL; distributed intelligence; FL applications; FL; ML; privacy; resource management; security;
Abstract
在隐私问题和深度学习愿景的驱动下,过去四年见证了机器学习适用机制的范式转变,一种称为联邦学习(FL)的新兴模式正在超越集中式系统和on-site分析。这是一种保护隐私的分散方法,它将原始数据保留在本机并训练本地模型,减轻了数据通信的负担,然后在中心服务器上执行学习和共享模型的联合,以在参与者之间聚合和共享构建的知识。本文首先检查和比较不同的基于ML的部署架构,然后对FL进行深入和广泛的调查。与该领域现有的评论相比,我们在全面分析主要技术挑战和当前相关工作的基础上,对FL课题和研究领域进行了新的分类。在此背景下,我们详细阐述了文献中各种具有挑战性的方面、贡献和趋势,包括核心系统模型和设计、应用领域、隐私和安全以及资源管理。此外,我们还讨论了一些重要的挑战和开放性的研究方向,以实现更强大的FL系统。
Year
2020
Publication
INTERNET OF THINGS JOURNAL
DOI
10.1109/jiot.2020.3030072
当今人们通过各种互联设备生产了海量的数据,有了这些数据,AI使我们的生活更高效。随着深度学习的迅速发展,现有的方法继续支持云中心架构,数据被集中储存和处理。除了不可接受的延迟和高代价,数据隐私和安全也是主要问题。
没有严格的隐私考虑,敏感数据很容易遭受泄露、攻击和网络风险。21世纪以来记录在案的最严重的违规行为中,各大公司数以亿计的用户受到影响。在这样的环境下,欧盟出台了GDPR法规( General Data Protection Regulation),它通过设置规则、限制数据共享和储存来保护个人隐私。
为了按照上述规章制度进一步加强数据保护工作,on-site ML和FL已经发展起来代替集中式系统。
尽管on-site ML将原始数据保留在本地,云端下发ML任务给设备,但是每个设备建立自己的模型,不从其他设备的数据和经验中获益。
因此联邦学习(FL)被引入克服这些问题,同时仍然保护了隐私,还减轻了数据收集的负担。它是一种在训练数据和本地计算处理上分散式的方法。在FL中,原始数据被保留在设备本地,在中心服务器上,只有来自设备本地计算的更新和分析结果被接收,并聚合成一个加强的全局模型,新模型接着为各客户机所共享。
与当前工作相关的现有调查文章概览:
但是文献仍然缺乏对FL核心建模、应用、技术和部署方面的综合调查,于是本文根据不同的分类学提出一个新分类和领域内关键挑战,包括核心系统模型和设计、应用领域、隐私和安全、资源管理。本文主要贡献如下:
本部分阐述ML架构的演变,从集中式到分布式on-site到FL。
- 集中式ML:数据上传到云端,在云端训练模型,用户通过请求API的方式使用模型及服务。
- 分布式on-site学习:每个设备在本地用自己的数据训练自己的模型,在第一次云端下发初始模型给设备之后,设备不再需要与云通信。
- 联邦学习:每个设备在本地用自己的数据训练自己的模型,之后将模型参数发给中心服务器做聚合。数据保留在本地,知识通过聚合的模型共享给用户。
在传统方法下,设备产生的数据不断地上传到云端进行分析,在高性能服务器上能够提取更多的特征,模型能够得到更好的训练。Amazon Web Services、Google Cloud、Microsoft Azure都是可用的ML即服务的提供商,模型可以大规模部署和使用。
但是设备产生的数据可能是非常隐私且多样的,当这些数据云上共享的时候,用户隐私很可能为窃听攻击所妥协。这种云集中方式也产生了其他问题:
on-site ML中,服务器下发预训练好的或是通用模型给设备,部署好模型后,每个设备在本地用自己的数据训练自己的模型,然后根据自己的模型做一些预测与推理。
这样的方法隐私上的优势很明显,数据从没离开过本地。皮肤病检测、医疗应用、指挥课堂、神经网络辅助服务等已有应用。
但是这种方法下,设备的模型没有从其他设备的数据中获益,没有发挥群体智慧。
Google在2016年提出了FL。在on-site ML之上,FL也是将训练任务放在设备本地上,但同时将本地模型和学习联合起来。它的主要目标是构建一个面向隐私保护的ML的框架。
本部分介绍FL流程、产品应用及正式问题声明。
FL首先在Gboard(Google为安卓开发的键盘)上测试,FL加强了未来建议功能及与用户的交互,提供了更好的特性(例如下一词预测、词汇补全及修正等)。
FL开源框架有:tensorflow federated(TFF),federated AI technology enabler(FATE),PySyft,PaddleFL,Clara训练框架。
在科研界,图片分类和语言模型是最先广泛应用基于FL框架的领域,为了测试它们的表现,针对手写字符的Modified National Institute of Standards and Technology(MNIST)和针对图片的the Canadian Institute For Advanced Research(CIFAR)是文献实验中最流行的数据集。
FL生命周期分为许多连续的通信往来(round),一旦全局模型达到预期准确度则流程完毕。服务器首先生成一个通用模型,每轮(round)重复以下步骤:
\[\begin{aligned}
& 算法1:Federated\ Averaging算法(FedAvg)。 \\
& K个客户端编号为k;B,E,\eta分别代表本地的minibatch\ size,epochs,学习率learning\ rate \\
& \\
& 服务器执行:\\
& \quad 初始化w_0 \\
& \quad for \ 每轮t=1,2,…,do \\
& \qquad m \leftarrow max(C \cdot K,1) \qquad\qquad //C为比例系数 \\
& \qquad S_t \leftarrow (随机选取m个客户端) \\
& \qquad for \ 每个客户端k \in S_t 同时\ do \\
& \qquad \qquad w^k_{t+1} \leftarrow 客户端更新(k,w_t) \\
& \qquad w_{t+1} \leftarrow \sum^K_{k=1} \frac{n_k}{n} w^k_{t+1} \qquad\qquad //n_k为客户机k上的样本数量,n为所有被选中客户机的总样本数量\\
& \\
& 客户端更新(k,w): \qquad \triangleright 在客户端k上运行 \\
& \quad \beta \leftarrow (将P_k分成若干大小为B的batch) \qquad\qquad //P_k为客户机k上数据点的索引集,P_k大小为n_k \\
& \quad for\ 每个本地的epoch\ i(1\sim E) \ do \\
& \qquad for\ batch\ b \in \beta \ do \\
& \qquad \qquad w \leftarrow w-\eta \triangledown l(w;b) \qquad\qquad //\triangledown 为计算梯度,l(w;b)为损失函数\\
& \quad 返回w给服务器
\end{aligned}
\]
FL关注有监督ML,样本\(i\)特征向量为\(x_i\),标签为\(y_i\),训练目标是通过最小化损失函数\(f_i(w)\)来找到模型参数向量\(w\)。基于ML模型,问题可以是凸的和非凸的。由于FL建立在非凸神经网络上,它的有限和函数优化算法描述如下(整个样本集的平均损失函数值最小):
\[\begin{aligned}
\min f(w), \quad \text { where } \quad f(w) &=\frac{1}{n} \sum_{i=1}^{n} f\left(x_{i}, y_{i}, w\right) \\
f(w) &=\frac{1}{n} \sum_{i=1}^{n} f_{i}(w)
\end{aligned}
\]
在FL里客户机的数据从未被组装,所以上式需要修改一下。设\(K\)个客户机参与学习,每个客户机有\(n_k=|P_k|\)个样本,\(P_k\)是整个数据集\(P\)分配给客户机\(k\)的部分,\(P=\cup_{k=1}^{K} P_{k}\)。因此,代表全局损失的新的损失函数是将每个本地损失\(F_k(w)\)加权平均(根据各自样本数量加权):
\[f(w)=\sum_{k=1}^{K} \frac{n_{k}}{n} F_{k}(w), \quad \text { where } \quad F_{k}(w)=\frac{1}{n_{k}} \sum_{i \in P_{k}} f_{i}(w)
\]
本部分讨论FL技术挑战并对主要研究领域进行新分类。
为什么FL区别于传统分布式学习环境:
FL问题研究主要分为四类:
FL系统模型及设计的努力与贡献可以分为五个主要领域:通信代价、客户机选择、优化与聚合算法、Non-IID、激励措施。
我们天真地以为只要恪守FL协议就能完整地传输模型,然而事实并非如此,通信负担成为了FL的一个瓶颈,连通性成为一个大问题,特别是当上行链路比下行链路网络连通更差的时候。
客户机选择的典型条件是基于设备充电、空闲和连接到未测量网络(例如WIFI)。然而,在处理通信和计算资源方面异构的客户机时,仅依赖这些标准会带来许多缺点,例如训练时间长。
当随机选取参与FL的客户机时,模型训练到部署将会依赖于客户机的表现。
FL里通信比计算代价更大,实现可以在不给主干网络造成负担的情况下以快速收敛的方式最大限度地减少轮数的优化和聚合算法至关重要。
非独立同分布的数据会使模型产生偏差,特别是在使用SGD训练的时候。
在高倾斜Non-IID数据下使用FedAvg时,CNN准确度大大降低。基本上,在FL中部署DNN依赖于SGD。后者训练数据应代表整个样本分布,以免在梯度估计中产生偏差。虽然这种属性基于IID数据分布,但FL遵循非IID方式,因为独立客户机根据自己的行为和使用情况生成数据,因此实现最初的FedAvg算法并没有保证性能。
虽然现存的方法关注优化FL的方方面面,但是很少在意客户机不情愿参与训练或者选择了模型更新质量低的客户机的情况。
经典的FL基于被选中的客户机总是可用的并且随时可以开始学习的假设,然而现实场景并非如此,相当数量的设备极可能在处理过程中掉线,甚至由于资源代价和限制拒绝参与学习。为了更快收敛全局模型,激励有着高质量数据的客户机是非常需要的。
本部分为FL应用领域做一个新的分类。
FL最初在Gboard(Google虚拟键盘)上使用,[4]改善了Gboard的搜索建议。为了验证参与FL的资格,客户机需要满足不同的需求,包括环境需求(设备规格、语言限制)及其他服务器声明的限制(参与学习的客户机的目标数量、每轮学习最小客户机数量、训练频率、等待接收模型更新的时间阈值、为了进行一轮必须报告的客户机比例)。
评估表明,晚上训练样本较多,白天损失较大。对实时部署的观察进一步显示,实际的查询点击率与预期的查询点击率相比有时略有下降。
Gboard也在[5]中使用FL为了训练一个更复杂的神经网络模型,证明了比在集中式数据上训练的模型有更好的表现。
为了限制大规模物联网设备的漏洞,FL被应用在了物联网系统上。由于设备上密集的计算负载,边缘计算被设想去支持和卸载从物联网到边缘节点之间的任务。
尽管FL的首要问题是通过防止数据共享来实现严格的隐私保护,但与隐私和安全相关的新挑战已经出现。最近所做的努力已经清楚地证明,模型更新的传输仍然可以披露有关客户端的敏感信息[19],[97],甚至更糟的是,可能会引发安全问题[98]。在本节中,我们将概述解决这些问题的相关方法。
现有隐私保护算法仍然会使用户隐私遭受风险。如[99]所示,FL中的攻击者可能会从客户机的训练数据中泄露信息。作者表示,恶意客户机能够推断训练集中是否存在确切的数据点,例如特定位置。此外,作者还研究了如何从参与的客户数据中推断属性。因此,保护FL模型需要严格的隐私保障。由于参与者可以在整个过程中自由加入和退出一轮沟通,FL环境会导致许多角色产生各种威胁模型和漏洞。
FL系统中不同的恶意角色(如上图所示):
鉴于这些威胁,最近的提议被推进以防止数据泄露。[98]调查了FL系统中的隐私与安全相关问题,首先,除了在整个FL框架上应用安全性,还讨论了在客户和服务器侧着手的几种保护方案。接着,隐私与安全问题被分类为收敛、数据中毒、拓展规模和模型聚合,对于每种分类,一些实验与可能的方案被提出以构建一个隐私保护的FL系统。另一方面,其他研究人员已经使用了不同的隐私技术(如下图所示),主要属于加密协议和差分隐私(DP)的范畴下。
差分隐私(Differential Privacy,DP):通过注入一些噪声来掩盖客户对模型参数的影响[97]。
安全多方计算(Secure Multiparty Computation,SMC):它是密码学协议的一个子领域,目的是当多方在其私人输入上联合执行任意功能时,只显示输出。
同态加密(Homomorphic Encription,HE):它是一种通过直接在密文上做计算来保护客户机数据的加密形式[105]。
混合协议(Hybrid Protocols):使用组合技术来更好地保护原始数据。
其他技术:
除了针对用户隐私的恶意角色,在其他类型的攻击和可能的漏洞下,FL系统也是很脆弱的。后者通常是用户不经意间造成的,例如训练混乱的数据、嘈杂的标签等。另一方面,对手会有意伤害模型表现。下图描绘的是敌对攻击者可能做的两种攻击类型:数据投毒和模型更新投毒。
数据投毒(Data Poisoning):在FL学习的过程中,一个或多个客户机在正确地参与一或多轮学习之后可能恶意作为,给联合模型投毒。这样的敌人可以通过clean-label和dirty-label攻击操纵训练阶段,其中dirty-label攻击允许用一个不相关命不中的标签替换原有标签,而clean-label攻击看起来无害,因为它注入了有毒数据,导致模型本身在没有攻击者对标签进行任何控制的情况下被干扰。
label-flipping是dirty-label攻击的一个特例,在[115]中已被证明是FL漏洞之一。根据已进行的实验,可以清楚地证明,仅仅两个恶意sybils即可使最终模型受到严重影响。作者还表明,ML中现有的防御不适用于FL环境,尤其是基于sybil的攻击。因此,他们提出了一种基于客户机贡献相似性的新解决方案来防止此类攻击。使用上述DP技术可以缓解此类攻击。
模型更新投毒(Model Update Poisoning):与往训练集中注入恶意数据的方式不同,模型更新投毒攻击试图通过欺骗本地模型直接破坏全局模型。与数据投毒攻击相比,模型更新投毒攻击看起来不那么自然,但更有效。
如[116]和[117]所示,入侵者可以单独行动,也可以与其他共谋参与者一起行动。此外,[116]通过证明参与FL步骤的任何客户机都可以在共享的全局模型中呈现隐藏的后门(backdoor)功能,将秘密后门引入到全局模型中。它们表明,一个攻击者的单次攻击足以在后门任务上实现100%的准确率。在他们对单词预测任务进行的实验中,8万名参与者中有8人被认为是恶意的,与数据中毒攻击中的400名入侵者相比,他们能够在后门上实现50%的准确率。
防御投毒攻击:为了保护系统免受投毒攻击,已经提出一些方法。
FL的主要思想是将ML模型引入数据源,以避免将数据引入模型,从而保证数据隐私。目前关于FL安全和隐私的工作提出了无损方法,并证明了它们的有效性,同时保留了原始的准确性。然而,其中一些技术带来了巨大的额外通信成本,而其他方法包含了一系列超参数,这些超参数不仅会影响准确性,还会影响通信。此外,压缩技术和DP之间的融合将带来更大的好处。此外,安全和隐私约束可能会从一个设备转移到另一个设备,甚至可能跨越单个设备上的数据片段,这是一个挑战。因此,从这样的角度来看,可以解决各种特定样本数据和特定设备边界的新技术看起来很有希望。
FL应用于动态环境中,在动态环境中,客户端拥有受限的资源设备,并通过带宽受限的网络进行通信,其中一些设备可以共享相同的链路。因此,许多贡献一直以来关注资源管理以做出有关客户机选择、超参数学习、训练轮的次数与持续时间、聚合策略的最佳决定。在这样的环境下,假设以下指标(如下图所示)子集的可用性/可预测性,各种优化问题被定义和解决。
文献针对各种目标提出了优化方法,包括全局模型(准确度、损失)收敛时间、客户机消耗资源、无线连接使用。在这方面,我们提供了下表所示的FL资源管理方法的分类。
主要的优化方法:
无线网络相关方法:
从所研究的贡献中,我们可以看到,在移动和无线网络环境下,FL管理的主要挑战是在参与的客户端之间最佳地共享带宽。至于管理能量完善,其基础是:1)减少模型参数更新的传输,2)优化局部模型训练。前一种策略是有效的,后一种策略受到无线设备及其其他计算任务的异构性的限制。
覆盖客户模型参数的方法:最近,一些研究人员开始研究在FL通信轮(round)中由模型改进机会指导的调度技术。
虽然考虑到客户机模型更新的质量对于提高FL管理技术的效率非常有希望,但这些方法面临着许多挑战。首先,通信的模型参数和实际的本地训练活动之间没有可追溯性。第二,识别(Non-IID)数据的情况非常困难。最后,不能保证在前几轮中提供良好参数的客户在未来几轮中会提供相同质量的参数。
基于卸载(Offloading-Based)的方法:一个有趣的方向是卸载到边缘结点与分层组织。
此”卸载“非彼”卸载“,这里offload是指将任务”卸货“到某些地方,并非是指将应用程序卸载。
虽然呼吁FL计算卸载,但这些方法在移动设备(主要是智能手机)环境中的适用性有限,在移动设备中几乎不可能组织设备。然而,在无线传感器网络中,这些方法预计会对FL的采用产生重大影响,在无线传感器网络中,大多数传感器设备都有严重的资源限制,并且通常围绕更强大的边缘设备组织在一个层次中。
总结:现有方法的主要目标是在优化资源消耗的同时达到最好的全局学习效果(最小化损失并/或最大化准确度)。然而,这些方法的效率取决于客户机在通信所需的指标(CPU,时间等)时是否诚信,或者取决于预测算法的可靠性。另外,一个中心服务器没有对于用于训练客户机本地模型的数据的数量和质量的核查机会,这解释了为什么少有方法([127] [129])考虑客户机模型参数的质量。事实上,中央服务器无法控制相关客户端的资源监控工具。无线网络带宽是唯一动态分配给客户端并由现有方法管理的资源,前提是调度实体位于网络节点(如基站)处。
本部分给出一些挑战与未来方向。
该类别涵盖FL的不同技术方面,包括使用的ML算法、优化和聚合机制、模型通信技术、部署模型和数据分布,以及采用的框架等。在这方面,基线聚合算法、联邦平均算法都已发展到了只考虑数据集大小去做聚合和加权更新的模型。然而,这种算法的收敛性取决于应用,更复杂的方法值得研究。新方法可以在减少通信次数的情况下达到预期的精度,从而降低通信成本。此外,在FL实现中高度鼓励使用神经网络以外的算法。这种模型尺寸较小的算法也有助于最小化通信和计算成本。尽管在这方面提出了一些令人鼓舞的方法,但仍有很大的工作空间。更进一步的,FL另一基本方面是客户机的选择,通常,从一轮到另一轮(round),不同客户机集被选择。当选择涉及资源有限的一些客户机时,例如物联网设备,客户机不仅需要更长的处理时间,而且可能无法完成训练任务,从而影响模型的准确性。因此,随机选择客户端会导致客户端发送的更新数量减少,因此一些FL轮将被丢弃[31]。因此,需要更多的努力来优化FL客户机选择,同时考虑网络特性和为训练模型而选择的设备的生存能力。
更广泛的努力和贡献是针对应用领域的,其中医疗保健和物联网系统是最广泛的目标领域。在另一个方向上,在边缘FL中,以最小的学习开销证明了良好的性能效率,但在这方面仍需要考虑一些挑战。首先,为优化学习计算任务而制定定制技术仍然是一项挑战。此外,无论是在边缘节点还是移动设备上,都需要协作人工智能任务的调度方法。
此外,自主车辆和无人机(UAV)是很有前景的领域,可能有很多有用的应用,例如出租车、食品配送、医疗配送、虚拟现实应用、检查、公共安全、事故报告、交通监控等。无人机应用分为三类[134]:1)配送系统;2) 实时多媒体流媒体;3)智能交通系统,每个系统都面临许多无线和安全挑战。为了解决后者,[134]在没有提供完整框架的情况下,为第一类和第三类引入了基于FL的解决方案。因此,研究适用于自动驾驶车辆和无人机系统的FL方法可能是一个有希望的投资方向。
此外,[135]提出了FL环境下智能家居的一个用例。在他们的解决方案中,共享同一智能设备的不同用户可以受益于经过训练的模型,智能家居中的不同设备可以受益于其他设备的数据和模型。在这种情况下,当智能家居设备受到攻击时,可以实施基于IDS的体系结构,我们可以假设:1)所有连接的设备都有足够的资源来执行训练任务;2) 这些设备都没有所需的资源,监护人可以负责训练;3)一些设备能够训练模型。对于所描述的体系结构,[135]为其实现提供了一个完整的模拟试验台。智能家庭环境可能是研究FL部署的一个极好的匹配。
另一方面,大多数现有解决方案考虑FL应用的标记数据。然而,在实际场景中,有标记的数据集,甚至高质量的标记数据集都是一个挑战。因此,迫切需要新的解决方案来解决这种限制。
虽然隐私和安全性是采用FL作为相关解决方案的最初目标之一,但分布式方面提出了其他需要解决的问题,例如泄露用户的敏感信息或毒害本地数据和共享模型。尽管最近的努力采用了不同的基于隐私的解决方案,但仍存在一些挑战。当使用DP时,会注入不同级别的噪声,这会导致一些缺点。首先,噪声会损害已建立的模型,导致精度损失。只有少数设备参与,才能保持可接受的精度。此外,这种做法不能保护数据隐私免受恶意服务器攻击。另一方面,即使密码方法被认为是无损的,也会带来密集的通信开销,有些方法甚至没有强大到可以检测中毒攻击的程度。因此,迫切需要设计强大的隐私保护和安全系统,在这种情况下,隐私和安全需要正式的保证,并且精确性会受到严重损失。
由于ML训练和学习通常需要大量计算,因此资源管理对于实现相关、可持续和高效的基于FL的解决方案起着重要作用。在这方面,很少有研究开始将边缘计算集成到FL[8]、[73]、[74]中,以支持具有额外计算资源的终端设备。然而,在两个主要方向上仍然需要鲁棒系统。首先,由于FL的关键瓶颈在于通信带宽,边缘节点之间的一些协作可以决定向云发送的最佳客户端更新、发送更新的频率,以及有助于减少通信周期的其他标准。其次,由于FL不仅包括移动电话,还包括范围更广的设备,如物联网、车辆等,因此训练任务可以移动或卸载到边缘节点,以释放资源受限设备的密集计算[136],[137]。
FL已成为一种新兴的学习范式,它可以应对智能手机、可穿戴设备和自动驾驶车辆等设备不断增长的计算能力,同时还可以保护私人数据。在减少数据通信开销的同时,本地存储数据和将ML计算推送到终端设备的需求不断增加,这促使研究人员做出了许多努力,将这种FL训练设置应用于许多学科。在这种背景下,本文对FL体系结构、设计和部署进行了深入和广泛的研究,并将其与基于ML的集中式和分布式现场系统进行了比较。此外,在全面文献综述的基础上,对FL主题和研究领域进行了新的分类,并对其关键技术和新兴方面进行了分类,包括核心系统模型和设计、应用领域、隐私和安全以及资源管理。最后,讨论了为外语教学的未来前景量身定制的一些挑战和新的研究方向。我们相信,我们调查FL的拟议方法可以为未来的研究进展和领域进展提供基本见解。
手机扫一扫
移动阅读更方便
你可能感兴趣的文章