题目:A survey on federated learning
期刊:Knowledge-Based Systems 2021
论文地址:https://www.sciencedirect.com/science/article/abs/pii/S0950705121000381
在前面的学习中,首先通过联邦学习原始论文解读来大概了解了什么是联邦学习。然后在IEEE ICIP 2019 | 更快更好的联邦学习:一种特征融合方法一文中介绍了一种以更少通信成本实现更高精度的方法:特征融合机制。最后对联邦学习的基本算法FedAVG进行了实现。
不过前面的学习是不成体系的,为了更好地了解联邦学习,特对2021年发表在KBS上的一篇联邦学习综述进行了解读。
本文需要掌握的有以下几点:
1. 从数据划分方面来讲,联邦学习可以分为横向联邦学习、纵向联邦学习和联邦迁移学习。
2. 联邦学习中常见的隐私保护机制有:模型聚合、同态加密和差分隐私。
3. 联邦学习中解决异质性的方法:异步通信、设备采样、容错机制和模型异质性。
4. 未来的主要研究方向:隐私的限制、通信成本和计算成本间的权衡、多中心联邦学习、可靠客户端的选择。
由于是综述,本文对于上述4点也只是进行了大致介绍,不过好在可以为初学者提供一个好的指导作用。
摘要
本文从数据划分、隐私机制、机器学习模型、通信体系结构和系统异构五个方面系统地介绍了联邦学习的现有工作,为该领域的研究提供了一个全面的综述。然后,梳理了联邦学习目前面临的挑战和未来的研究方向。最后,总结了现有联邦学习的特点,并分析了当前联邦学习的实际应用。
1. 引言
1.1 联邦学习背景
随着大数据的发展,我们不再关注数据量的问题,而是开始关心数据的隐私和安全问题,许多国家和地区都开始颁布法律来保护用户数据隐私。
在AI领域,数据是基础。目前流行的数据处理方法为:集中采集、统一处理、清理和建模。但是在大多数情况下,数据会在收集和处理过程中泄露。
随着人工智能芯片组的出现,客户端设备的计算资源变得更加强大,人工智能模型训练也逐渐从中央服务器向终端设备转移。联邦学习提供了一种隐私保护机制,可以有效地利用终端设备的计算资源对模型进行训练,防止隐私信息在数据传输过程中被泄露。
1.2 联邦学习面临的挑战
1. 隐私保护:必须保证联邦学习中的模型训练不会泄露用户的隐私信息。
2. 数据量不足:在传统机器学习中,如果想要得到一个较好的模型,往往需要大量的数据,但在分布式环境中,每个移动设备上的数据量不足。另一方面,以集中的方式收集所有的数据可能导致巨大的费用。因此,联邦学习要求每个设备使用本地数据来训练本地模型,然后将所有本地模型上传到服务器上聚合成全局模型。
3. 异质性:联邦环境中存在大量边缘设备,这些设备所持有的数据可能是非独立同分布的。
2. 相关工作
2.1 联邦学习定义
个用户
拥有各自的数据集
,每个人都不能通过直接访问其他人的数据来扩展自己的数据。
基本步骤:
1. 服务器发送初始模型到各个客户端设备。
2. 客户端设备
不需要共享自己的数据,直接在本地利用
训练出
。
3. 服务器聚合本地模型
形成
,然后用其替换每个客户端的本地模型。
3. 联邦学习的分类
本节从数据分区、隐私机制、适用的机器学习模型、通信体系结构和解决异质问题的方法五个方面总结了联邦学习的分类。表1给出了这些类别的优点和应用:
3.1 数据划分
根据数据的样本空间和特征空间的不同分布模式,联邦学习可以分为三大类:横向联邦学习、纵向联邦学习和联邦迁移学习。
3.1.1 横向联邦学习
横向联邦学习适用于两个数据集的用户特征重叠较多而用户重叠较少的情况。
比如在两个不同的地区,两个当地电力局提供的服务类似,因此对用户产生了类似的数据,比如月用电量,因此两个电力局的数据集特征重叠较多。但是,这两个地区的用户分别受各自电力局的管辖,两个电力局的数据集用户重叠较少。
如下所示:
中间部分即为两个数据集的特征一致部分。横向联邦学习是将数据集水平分割(按用户维度),然后取出用户特征相同但用户不完全相同的部分进行训练,因此,横向联邦学习可以增加样本数量。简而言之,横向联邦学习中,每个用户都选取具有相同特征的多行数据来进行训练,即用户1选取具有特征1到n的样本进行训练,用户2同样如此。
3.1.2 纵向联邦学习
纵向联邦学习适用于两个数据集用户特征重叠较少,但用户重叠较多的情况。
例如同一个地区有两个机构:银行和电力局。银行产生用户的收入和支出行为等数据,电力局产生用户用电数据,两个数据集的特征几乎没有重叠,但两个数据集中的用户却几乎是同一批用户(有较大重叠)。如下所示:
中间部分即为两个数据集中用户一致的部分。纵向联邦学习是将数据集垂直划分(按用户特征维度),然后取出用户相同但用户特征不完全相同的部分数据进行训练。换句话说,不同列中的数据具有相同的用户(按用户对齐)。因此,纵向联邦学习可以增加训练数据的特征维数。简而言之,数据集1中选取用户1到n的特征1到n进行训练,数据集2中选取用户1到n的特征n到2n进行训练。
对于数据的纵向划分,有很多机器学习算法,如分类,统计分析,梯度下降,安全线性回归,数据挖掘。
3.1.3 联邦学迁移习
联邦迁移学习适用于两个数据集的用户特征和用户都重叠较少的情况。在这种情况下,我们不分割数据,但可以使用迁移学习克服数据或标签的缺乏。
比如地区1的银行和地区2的电力局,用户重叠较少(2个地区),用户特征重叠也较少(银行数据和电力数据)。如下所示:
迁移学习最适合的情况是当你试图优化任务的性能,但没有足够的相关数据用于训练。例如,医院放射科很难收集大量的X线扫描片来建立良好的放射诊断系统。此时,迁移学习将帮助我们学习其他相关但不同的任务,如图像识别任务,学习一个放射诊断系统。通过联邦迁移学习,既可以保证数据的私密性,又可以将辅助任务的模型迁移到指导者学习中,解决了数据量小的问题。
3.2 隐私保护机制
联邦学习最重要的特点是各个客户端可以将自己的数据保存在本地,只是需要共享模型信息来训练目标模型。但是,模型信息也会泄露一些私有信息。保护联邦隐私的常用方法是模型聚合、同态加密和差分隐私。
3.2.1 模型聚合
模型聚合通过总结各方的模型参数来训练全局模型,从而避免在训练过程中传输原始数据。这一点在联邦学习的提出 | 从分散数据通信高效学习深度网络中有所体现。
McMahan等人提出了一种基于迭代模型平均的深度网络联邦学习框架,该框架在每一轮更新中通过总结局部模型来训练全局模型。PATE方法基于知识的聚合,从由分离数据训练的Teacher模型转移到可以公开其属性的Student模型。PATE以黑盒的方式将多个训练过的模型与离散数据集结合在一起,这为训练数据的私密性提供了保证。Yurochkin等人开发了神经网络联邦学习的贝叶斯非参数框架,该框架通过匹配局部模型中的神经元建立全局模型。
此外,联邦学习和多任务的结合允许多个用户局部训练不同任务的模型,这也是典型的模型聚合方法。在一些论文中,联邦学习和区块链相结合,基于区块链交换和更新每个设备的模型数据,最后,在区块链协议的保证下,对模型参数进行安全聚合。
3.2.2 同态加密
一般的加密方案关注的是数据存储的安全性,没有密钥的用户不可能从加密结果中获得原始数据的任何信息,也不能对加密后的数据进行任何计算操作。与一般加密不同,同态加密最重要的特点是用户可以对加密后的数据进行计算和处理,但在处理过程中不会泄露原始数据,最后,用户用密钥对处理后的数据进行解密。
在使用联邦学习时,用户与服务器之间的梯度交换可能会泄露用户的隐私信息。同态加密可以很好地解决这一问题,它可以在不影响模型训练结果的前提下对加密模型进行处理。
3.2.3 差分隐私
在差分隐私定义下,数据库的计算结果对特定记录的变化不敏感,数据集中是否存在一条记录对计算结果的影响很小。因此,向数据集添加一条记录所导致的隐私泄露风险被控制在一个非常小的可接受的范围内,攻击者无法通过观察计算结果来获得准确的个人信息。
在传统的机器学习和深度学习的模型训练过程中,流行的做法是在输出中加入噪声,然后在梯度迭代的过程中应用差分隐私,从而达到保护用户隐私的目的。在实际应用中,通常采用拉普拉斯机制和指数机制来实现差异化隐私保护。然而,添加更多的噪声将不可避免地影响有效性,因此如何在隐私和有效性之间取得平衡是目前较为热门的研究方向。差分隐私分为全局差分隐私和局部差分隐私,两种不同的隐私都能保证单个用户的不同需求,但应用场景略有不同。
3.3 可应用的机器学习模型
联邦学习逐渐渗透到当前流行的机器学习模型中,其目的是保证模型的私密性和效率。我们主要考虑联邦学习支持的三种模型:线性模型、决策树和神经网络。
3.3.1 线性模型
线性模型主要分为三类:线性回归、岭回归和Lasso回归。Du等人提出了联邦环境下线性模型的训练,解决了实体解析的安全性问题,最终达到了与非私有解决方案相同的精度。Nikolaenko等人设计了一个具有同态加密和姚氏协议的岭回归系统,取得了最好的性能。与其他模型相比,线性模型简单,易于实现,是实现联邦学习的有效模型。
3.3.2 树模型
联邦学习可用于训练单个或多个决策树,如梯度增强决策树和随机森林。梯度增强决策树(Gradient Boosting Decision Tree, GBDT)算法是近年来被广泛提及的一种算法,主要原因是它在许多分类和回归任务中都具有良好的性能。Zhao等人首次在回归和二元分类任务中实现了GBDT隐私保护系统。该系统安全地将不同数据所有者训练的回归树聚合成一个集合,以防止用户数据隐私的泄露。Cheng等人提出了一个名为SecureBoost的框架,该框架对横向和纵向分区数据进行梯度提升决策树模型的训练,使用户能够建立联邦学习系统。
3.3.3 神经网络模型
无人机群通常通过深度学习对模型进行训练,但由于无人机群与地面基站之间缺乏持续的连接,集中式训练方式无法发挥无人机的实时性。Zeng等人首先在无人机群上实现分布式联邦学习算法。该算法的主要步骤是由领先无人机将其余无人机训练的局部飞行模型汇总生成全局飞行模型,并通过群内网络转发给其余无人机。Bonawitz等人基于TensorFlow构建了一个可扩展的移动设备联邦学习系统,可以训练大量的分布式数据模型。Yang等人建立了基于数据分区的联邦深度学习框架,实现了企业数据中的优先级应用。Liu等人将交通流预测的GRU (Gated Recurrent Unit)神经网络与联邦学习相结合,提出了一种融合全局最优模型的聚类FedGRU算法,更准确地捕捉交通流数据的时空相关性。
3.4 通信体系结构
在分布式训练设计中,所有远程设备都可以与中心服务器通信,参与全局模型的更新。在联邦环境下,本地更新的灵活性和客户参与影响了整个模型的训练有效性。
1. 一些论文提出了一个名为FedProx的模型,该模型结合边缘设备数据进行分布式训练,并使用联邦平均模型优化方法来保证目标任务的鲁棒性和稳定性。
2. 联邦平均(FedAvg)是联邦学习中最常用的模型优化方法。该方法对本地上传的梯度数据进行平均,然后更新并分发回本地。在多任务学习中,证明了FedAvg模型优化方法具有良好的性能。
3. 为了解决联邦学习中模型更新的通信代价过高的关键问题,Konecny等人通过量化、随机旋转、二次采样等方法对模型数据进行压缩,以降低中心服务器与所有用户之间的通信压力。
4. Caldas等人采用有损压缩和Federated Dropout来减少服务器到设备的通信。
5. Sattler等人提出了一种稀疏三元压缩协议,该协议在对非独立同分布数据进行联邦训练时收敛速度比联邦平均算法快。
6. 为了解决NonIID数据的不平衡问题,Yang等人提出了一种新的联邦平均算法,该算法通过计算不同设备的模型加权平均来聚合全局模型。
3.5 异质性
在联邦学习的应用场景中,设备的差异会使整个训练过程的效率低下。为了解决系统异质问题,有四种方式:异步通信、设备采样、容错机制和模型异质。
3.5.1 异步通信
在传统的数据中心建设中,基于并行迭代优化算法有两种常见的方案:同步通信和异步通信。但是,面对设备的多样性,同步方案容易受到干扰,所以在联邦学习多设备环境中,异步通信方案可以更好地解决设备分散的问题。
3.5.2 设备采样
在联邦学习中,并不是每个设备都需要参与到每个迭代训练过程中。
1. Nishio等人提出了一种新的协议FedCS,解决了资源受限的客户端的选择问题,在训练过程中增加了更多的客户端,提高了模型的性能。
2. Kang等人基于契约理论设计了一种激励机制,鼓励拥有高质量数据的本地设备积极参与有效的联邦学习过程,提高学习的准确性。
3. Qi等人设计了一种基于联邦学习的新闻推荐模型,该模型也随机选择用户的局部梯度上传到服务器上,以训练全局模型。
4. Wang等人提出了一种新的基于联邦学习的带局部补偿的PRLC方法来实现端到端通信。PRLC的主要思想是:在每次迭代中,只有部分设备参与模型更新,没有参与的设备通过PRLC方法进行局部更新,以缩小与全局模型的差距。最后证明,在强凸性和非凸性情况下,PRLC方法的收敛速度与未压缩方法相同,具有更好的可扩展性。
3.5.3 容错机制
在不稳定的网络环境中,容错机制可以防止系统崩溃。特别是在分布式环境中,当多台设备同时工作时,一旦其中一台设备出现故障,将会影响到其他设备。
1. Wang等人提出了一种确定局部更新和全局参数聚合的最佳权衡的控制算法,以适应设备资源的限制。
2. Yu等人通过减少通信,改善了分布式随机梯度下降算法的线性加速特性。
3. 也有一些研究直接忽略了设备的参与,在多任务学习中不影响联邦学习的效率。
4. 容忍设备故障的另一种方法是通过编码计算引入算法冗余。移动设备上不正确的数据可能导致联邦学习欺诈。Kang等人通过引入声誉作为度量,引入区块链作为声誉管理方案,提出了一种基于可靠员工选择的联邦学习方案,可以有效防止恶意攻击和篡改。
3.5.4 模型异质性
当从多方设备中收集分布不均匀的数据来训练联邦模型时,会严重影响模型的最终效率。合理处理来自不同设备的数据对联邦学习有着至关重要的影响。为了解决统计数据异质的问题,联邦学习网络主要分为三种建模方法:单个设备有自己的模型;培训适用于所有设备的全局模型;为任务训练相关的学习模式。
1. Yu等人提出了一种仅使用正标签进行训练的通用框架,即FedAwS(Federated Averaging with Spreadout)。在该框架中,服务器在每次迭代后添加一个几何正则化器,以促进类在嵌入空间中展开,这大大提高了训练效率,保证了分类任务的准确性。
2. Zhao等人通过训练边缘设备之间的一小部分数据来建立全局模型,提高Non-IID数据的训练精度。
3. Khodak等人在统计学习设置中设计并实现了一种自适应学习方法,提高了小样本学习和联邦学习的性能。
4. Eichner等人考虑了全局模型与特定设备之间的快速数据自适应训练,以解决联邦训练时数据异质的问题。
5. Corinzia等人提出了一种名为VIRTUAL的联邦学习算法,该算法将中央服务器和客户端的联邦网络视为贝叶斯网络,并采用近似变分推理在网络上进行训练,在联邦学习真实数据集上表现出了最先进的性能。
6. Liang等人提出了一种将局部表示学习与全局模型联邦训练相结合的局部全局联邦平均(Local Global Federated Averaging, LG-FEDAVG)算法。理论分析表明,局部和全局模型的结合减少了数据的方差,减少了设备的方差,提高了模型在处理异质数据时的灵活性。实验表明,LG-FEDAVG能够降低通信成本,处理异质数据,有效学习模糊保护属性的公平表示。
4. 应用
4.1 服务建议
谷歌键盘
谷歌于2016年开始了一个项目,在Android移动用户中建立联邦学习,以提高键盘输入预测的质量,同时保证用户的安全性和隐私性。
智能医疗诊断系统
由于对患者隐私的保护,分散在各个医院的医疗数据收集变得非常困难,现有的联邦迁移学习可以解决这些问题。Lee等人利用互联医疗系统整理健康结果数据和纵向真实数据,设计并实现基于APOLLO网络的综合多联邦学习网络,将真实世界数据转化为医学诊断证据,辅助医生对患者的前瞻性诊断。
5. 挑战与未来研究方向
5.1 挑战
主要有以下四个方面的挑战。
隐私保护
虽然目前有一些提高数据私密性的方法,但这些方法都增加了计算复杂度。为了进一步有效地保护私有数据的安全,我们需要寻找新的方法来防止私有数据在模型传输过程中被泄露。
通信成本
联邦网络可能由许多设备组成,例如数百万个远程移动设备,这意味着联邦学习模型的训练可能涉及大量的通信。此外,网络中的通信速度无法得到保证,因此联邦学习的通信代价是非常值得考虑的。
系统异质性
由于硬件和网络连接的不同,联邦网络中每个设备的计算和通信能力可能不同,网络中同时处于活动状态的设备通常只占很小的一部分。例如,数百万个设备的网络有时只能同时拥有数百个活动设备。同时,每个设备也可能是不可靠的,这些系统的异质性极大地加剧了容错的挑战。因此联邦学习方法必须能够容忍异质硬件,并且对网络中的离线设备具有鲁棒性。
不可靠的模型上传
在联邦学习中,移动节点可能会有意或无意地误导服务器聚合全局模型。对于故意的行为,攻击者可以发送恶意的模型参数来影响全局模型的聚合,从而造成模型训练的错误。另一方面,不稳定的移动网络环境可能会导致移动设备出现一些意想不到的行为,比如上传一些低质量的模型,这些都会对联邦学习产生不利影响。因此,抵抗这种不可靠的本地模型上传至关重要。
5.2 未来研究方向
为了解决上述挑战,未来有一些可能的工作方向值得研究。
隐私的限制
由于网络中各种设备的异质性,它们的隐私限制都有自己的不同的特点,因此有必要定义更详细级别的批处理设备的隐私限制。基于特定设备隐私限制的隐私保护方法的开发是未来工作的一个有趣且持续的方向。
通信成本和计算成本间的权衡
提高通信效率主要可以考虑两个方面:迭代发送小消息,或者减少沟通的总轮数。例如我们可以使用模型压缩技术来减少联邦学习中通信的数据大小。在减少沟通次数方面,可以根据需要沟通的模型的重要性进行筛选。我们还可以将这两种方法结合起来,这样可以大大降低移动设备和服务器之间的通信成本,但这样也增加了一些计算压力。寻找通信成本与计算压力之间的平衡是未来工作的主要方向。
多中心联邦学习
最近的一些研究表明,如果能够提前获得系统中设备的异质性,则可以根据异质性对所有移动设备进行分组,并为每组分配一个本地中心服务器。我们可以首先聚合一组类似的异质设备模型,然后将它们发送到服务器以聚合成一个全局模型。
可靠客户端的选择
在联邦学习中,移动设备可能会上传不可靠的数据,从而导致服务器无法聚合全局模型。因此,如何在联邦学习任务中找到值得信赖和可靠的客户端是至关重要的。一些论文中引入了声誉的概念,作为衡量客户可靠性的指标。
6. 总结
联邦学习作为一种可以实际应用的模型,在强调数据隐私和数据安全的同时,也被越来越多的研究者和企业所接受。一方面,当数据不足导致用户无法训练出满意的模型时,联邦学习可以聚合多方用户模型,在不暴露原始数据的情况下对集成的模型进行更新。另一方面,当用户没有足够的数据标签学习时,联邦学习不仅可以为用户提供安全的模型共享机制,还可以将模型迁移到特定的任务中,解决数据标签不足的问题。本文介绍了联邦学习的基本定义、相关技术和具体分类,然后讨论了联邦学习的实际应用场景,梳理了联邦学习目前面临的挑战和未来的研究方向。相信在不久的将来,联邦学习可以为更多的应用提供安全、共享的安全服务,促进人工智能的稳定发展。