论文题目:《Challenges and future directions of secure federated learning: a survey》
论文地址:https://doi.org/10.1007/s11704-021-0598-z
大数据时代,敏感信息暴露,人们对隐私安全日益关注 —> 联邦学习应运而生
联邦学习:
优点:不收集用户的原始数据,而是聚合每个客户端的模型参数 —> 保护用户的隐私
缺点:分布式特性 —> 更容易受到攻击
例如:用户上传恶意数据 —> 破坏联邦学习服务器;攻击者从参数中恢复信息
因此,目前的联邦学习框架仍有很大的改进空间。
在本调查中,简要回顾了最先进的联邦学习技术,并讨论了联邦学习中的几个开放问题和现有解决方案,指出了联邦学习的未来研究方向。
人工智能 ↑ —> 深度学习(深度学习算法+海量数据) ↑ —> 收集大量数据 —> 数据隐私问题(数据包含敏感信息) ↑ —> 差分隐私、同态加密、联邦学习
联邦学习核心思想:分布式深度学习
尽管联邦学习已用于大多数场景,但仍有许多挑战需要解决:
在许多实际场景中比传统的深度学习框架更容易受到恶意节点的攻击。
由于联邦学习服务器只收集不显示客户端身份的参数,匿名客户端可能包含向服务器上传恶意数据的攻击者。
尽管已有研究,但仍有挑战:
本文集中于这些挑战,旨在提出在不同场景中具有隐私保护联邦学习的新应用。
联邦学习诞生的原因:
数据隐私日益重要。随着安全意识的提高,人们将更不愿意贡献自己的私人数据,这严重阻碍了深度学习的发展。
大多数企业只有数量不足、质量有限的数据,不足以支持数据密集型人工智能服务的部署。数据通常以孤岛的形式。[20]
联邦学习本质上是:深度学习的分布式框架。可以在确保数据隐私安全的基础上,通过多个客户端的模型聚合来提高模型的有效性。[21]
基于多个参与者之间的不同数据分布,联邦学习可分为三类:横向联邦学习、纵向联邦学习和联邦转移学习。[20]
横向联邦学习:参与者提供的数据分布相似,但数据提供者不重叠。
在训练过程中,每台机器训练的模型都是相同和完整的,并且在进行预测时可以独立预测。因此,该过程可以被视为基于样本的分布式训练。
由于每个用户的原始数据都是在本地训练的,并且只共享和上传本地梯度参数,因此用户的隐私也受到了保护,但会有一些模型丢失。
纵向联邦学习:用户集都是相同的,但不同的数据集具有来自这些用户的不同类型的数据。
纵向联邦学习需要样本对齐和模型加密。[22]
在训练过程中,纵向联邦学习确保其他参与者不知道对方的数据和特征。通过这种方式,全局模型可以获得所有参与者的数据信息,并且不会丢失模型。
联邦转移学习:具有有限数量的相同用户,以及具有相同功能的非常小的数据集。
许多应用程序利用了联邦学习,其概念已经在许多地方应用。例如,一些应用程序允许用户在手机上训练模型,而无需上传原始数据。[24]
然而,尽管现有的应用程序多种多样且成功,但联邦学习技术仍需要改进。
分布式学习和在本地保存数据的思想使恶意节点更容易攻击联邦学习框架。
许多异构用户和数据本身也给算法带来了更多的处理难度。
其中一些挑战与正常的深度学习相同,有些则是新的挑战。此外,其他经典算法中存在的挑战甚至可能对联邦学习框架产生更严重的影响。
联邦学习过程涉及多个客户端上传本地的参数,中央服务器接收这些本地参数进行全局聚合,最后将更新的参数返回给每个客户端。
因此,一旦涉及到恶意节点,它们就会以高度的可信度对输入进行错误分类,从而导致模型中毒。[27]
此外,即使每个客户端上传本地梯度而不是原始数据,恶意节点仍有办法从梯度中恢复原始数据的内容。[28]
同时,在某些情况下,不同客户端的数据不是独立的,也不是相同的分布(即非IID),客户端的设备也非常不同。
发送原始数据 —> 导致隐私问题 —> 每个设备上生成的数据必须保存在本地 —> 通信成为联邦学习的瓶颈
在现实世界场景中:设备众多 —> 每个设备在本地训练模型的时间可能远少于网络通信[29] —> 模型质量会因为更多的数据而提高,通信开销也会增加
载体是手机时:本地模型需要定期上传到服务器,而对于大型模型,由于无线网络的带宽有限,这一步骤可能成为瓶颈。
此外,连接速度是不对称的:上行链路通常比下行链路慢,因此降低上行链路通信成本非常重要。[30]
为了降低通信成本,应该关注两个方面:
设备、网络状态、设备的存储和处理能力的多样性 —> 计算和通信能力的训练过程将有所不同 —> 系统异质性的存在加剧了延迟缓解和容错[31]
Bonawitz等人[32]提出了一种解决方案:从设备集群中过滤有效设备的子集。通常需要确认设备是否空闲、设备的电源状态以及是否为计费网络。
甚至可能存在设备离线的情况。[33]
设备和网络的异构性,以及活动成员的突然丢失,将使人们考虑延迟和容错问题。
解决联邦学习中的系统异构问题:
除了上述系统的异质性之外,数据本身也存在异质性。
不同的生成和收集方法 —> 来自不同用户的数据很容易是异构的,即非IID —> 非IID数据增加了建模和评估的复杂性
联邦学习通常采用随机梯度下降 —> IID训练数据可以更好地确保随机梯度是无偏的[34]
现有处理异构数据的方法:
元学习,支持个性化建模。[18]
Sattler等人[35]声称,顶部稀疏化在非IID联邦学习环境中表现非常好。在他们的工作中,他们采用了顶部稀疏化,设计了服务器端使用的缓存机制,并将压缩扩展到了下游。他们的结果表明,在最坏的情况下,他们的算法仍然可以达到至少50%的精度,而联邦平均算法甚至不收敛。
Li等人[36]证明了在没有假设约束的情况下联邦平均的收敛速度。他们还声称,如果采用联邦平均算法处理非IID数据,学习率肯定会下降。与之前的分析不同,他们没有假设每个客户端中的数据都是IID,在实践中很难满足这一假设。
隐私是联邦学习的首要问题。
大多数模型攻击的研究都假设攻击者几乎无法访问模型输入,因为训练模型的数据在内部是保密的。[37]
然而,考虑现实世界的情况时,发现大多数服务提供商要求用户上传私人数据进行训练。一旦上传结束,用户将失去对数据的控制:他们无法知道数据是如何使用的,也无法主动删除数据。
联邦学习通过向每个用户提供本地梯度信息而不是原始数据,在保护隐私方面取得了巨大进步。
然而,仅仅在训练期间保持数据的本地化并不能提供足够的隐私保障。仅仅传递梯度信息仍然会将隐私泄露给第三方或中央服务器。[38]
从服务提供商的角度来看,即使他们很好地保护了用户的原始数据集,模型本身也会泄露隐私信息。
模型反演攻击是利用模型隐含用户信息的一种方法,该模型通过操纵未知输入和相应输出之间的关系与目标连接。[39]
Zhu等人[28]提出了一种算法,通过获得中央服务器返回给每个客户端的聚集梯度来恢复从用户输入的原始图像。在他们的算法中,恶意攻击者将参与学习过程,并初始化一个无意义的随机图。攻击者将训练其随机输入,使其自身的局部梯度尽可能接近服务器返回的全局梯度。通过这种方式,他们可以恢复其他用户的原始图像输入。
Geiping等人[40]证明,即使是经过训练的联邦学习网络,而不是训练期间的网络,也可以忠实地利用梯度参数重建高分辨率图像。
Shokri等人[7]提出了一种隐私保护的深度学习系统,允许多个用户参与。使用本地数据,参与者首先计算神经网络的梯度。然后,必须向参数云服务器发送部分梯度(例如,5%)。他们认为服务器是诚实但好奇的。该系统指出,隐私可以在不共享局部梯度的情况下得到完美保护,但该模型完全不准确。另一方面,共享所有的局部梯度会破坏一些隐私,但它会提供良好的准确性。为了平衡权衡,它们共享局部梯度的一部分,这是保持尽可能少的精度降低的主要解决方案。分布式选择性SGD是他们思想的核心。有两种方法可以选择上载到服务器的参数。第一种是根据绝对值从最大到最小对所有梯度进行排序,并选择第一个要上传的梯度。第二种是随机选择绝对值大于阈值的参数梯度的一部分进行上传。其他用户可以下载用户上传的梯度来更新其本地参数。用户上传和下载的顺序可以是循环、随机顺序和异步。
Aono等人[22]进一步证明,在[7]的系统中,即使是存储在云服务器上的小梯度也可以用来推断用户的信息,因为可以从这些梯度中提取本地数据,结果也不令人满意。因此,他们更进一步,提出了一种新的学习系统,该系统额外使用同态加密来保护诚实但好奇的云服务器上的梯度。上传的所有梯度都将在存储到云服务器之前进行加密。参与学习过程的用户共同设置公钥和密钥,以实现加同态加密方案。关键是云服务器的秘密,但所有学习参与者都知道。参与者之间将建立单独的TLS/SSL安全通道,以进行通信并保护同态密文的完整性。由于同态加密的添加操作,云服务器是递归更新加密权重参数的地方。该系统可以在不损害深度学习模型的准确性的情况下发挥隐私保护的作用。
但不可否认的是,同态加密会在一定程度上增加通信成本。当然,除了同态加密之外,还有其他加密方法可以应用。
Bonawitz等人[17]采用了秘密共享和双屏蔽协议来解决联邦学习的挑战。在他们的论文中,他们还考虑了网络波动的可能性,提出了一种支持用户在训练过程中退出的机制。用户还可以验证云服务器是否正常运行。在秘密外共享协议中,一个秘密会被分割成不相交的碎片,如果有人得到了碎片,他/她就可以恢复原来的秘密。因此,在该系统中,一个受信任的授权机构将随机地为每个用户创建密钥对和随机噪声。当一个用户想要上传他/她的本地梯度时,他/她会添加一些由其他用户的公钥加密的他/她的密钥片段和一些。所有这些额外的信息将通过秘密共享协议恢复,或者在它们相加时被取消。然后,服务器端接收消息。服务器将根据秘密共享协议计算这些信息,最后计算聚合梯度。
差分隐私作为一种经典的密码学方法,也可以应用于联邦学习。
Geyer等人[41]在他们的研究中利用了不同隐私的想法。他们认为,客户参与也可以隐藏在联邦学习中,同时保持高模型性能。他们提出的算法设置了一个阈值。如果一段数据是否是训练集的一部分的概率超过了给定的阈值,训练就会停止。参与客户的数量对实现的模型的性能有明显的影响。当参与者的数量很大时,信息更容易隐藏。
同样,Wei等人[42]也应用了差分隐私。他们提出的算法通过添加噪声来减小从两个相同长度的不同数据集计算的梯度参数之间的汉明距离。因此,不同用户的梯度参数无法追溯到其所有者,因为服务器和恶意用户都无法区分它们。
除了上述困难,还应强调联邦学习的安全性。
尽管安全性和隐私性在直觉上通常被认为是等同的,但两者实际上是存在区别的:
隐私保护:一般指非公开披露敏感个人信息。可以是用户的健康信息、旅行轨迹、工资水平等。
虽然它可能不会直接暴露用户的身份,但它可以使其他人间接识别特定的个人,从而暴露用户的敏感信息。
安全保护:需要考虑机密性、完整性和可用性。
安全面临的挑战通常是缺乏对数据的访问控制和来自恶意节点的攻击,这些攻击通常是由黑客针对系统或模型本身发起的。
例如,模型中毒是对联邦学习最常见的攻击之一。由于可能有数百个客户端参与联邦学习网络,因此无法保证这些参与者中不会有恶意参与者。此外,一般来说,防御中毒攻击需要将数据上传到服务器进行异常检测,这可能会损害用户隐私。例如,假标签攻击[43]和后门攻击[44],如果中毒数据的数量很大,这些攻击可能会导致严重损害。
规范裁剪技术和差异隐私可以防止模型中毒,而整体性能不会受到影响[45]。由于攻击者通常希望对模型产生更大的影响,因此他们倾向于使用更大的规范进行更新。因此,当服务器选择性地忽略那些较大的更新,可能是那些超过阈值M的更新时,可以有效地防御恶意节点的攻击。同时,它们只添加少量高斯噪声来防御后门攻击。这种“弱”差异隐私可以在确保性能的同时限制攻击。
为了增强隐私,Bittau等人[46]首先提出了基于差异隐私的PROCHLO实现。他们引入了一个值得信赖的第三方来经营一家洗牌机。洗牌器删除了包含用户隐私的部分数据,如时间戳、IP地址等,从而实现了匿名过程。然而,简单地删除一些元数据并不能阻止攻击者访问数据所有者。恶意节点可以通过监视网络流量和其他方法来发现数据和用户之间的链接。因此,混洗器将与混洗一起进行阈值处理。如果某些物品类的数据太少,洗牌者将对其进行变卦。目前,具有差异隐私的洗牌模型已引起更多关注,并被应用于防止合谋攻击和中毒攻击[47,48]。
Ma等人[49]指出,联邦学习的安全性也需要特别注意。他们在著名的分类数据集MNIST上进行了一系列实验,讨论可能的有效解决方案。根据实验结果,我们可以得出许多结论。如果在每次聚合之后,服务器可以基于客户端上载的学习参数的质量来调整每个客户端的聚合权重,则客户端将显示更好的收敛速度和学习性能。在每个学习时期,服务器在执行下一轮学习之前收集固定数量的所需客户端参数。这就是通过减少用户来减轻网络波动,这可能会对整个系统产生重大影响。一旦等待时间超过阈值时间,且数据未完全收集,则当前学习轮将被放弃。
此外,参数聚合步骤还有改进的空间。例如,可以在服务器端添加参数测试,并根据不同的测试性能结果为客户端上载的每个参数个性化聚合权重。某个用户带来的性能越好,用户参数的权重系数就越高。同时,实验结果还表明,增加每个客户的本地生成量也有助于提高模型精度。
本文认为学习如何更好地保护用户隐私将是联邦学习未来发展中最重要的一点。
联邦学习将有更大的发展空间,未来将有更多的应用场景。
在联邦学习中,由于网络延迟和通信开销,数据所有者可能会对参与学习系统失去兴趣,不再提供数据[57,58]。
同时,要求所有用户频繁上传其本地模型参数时,对全局模型的改进可能与通信成本不成正比。
因此,用户上传参数的激励机制需要平衡[59]。
此外,根据用户提供的数据质量参差不齐,还需要激励高质量用户参与,同时忽略或拒绝不可信的用户[60,61]。
个性化服务是用户迫切需要的,具有广阔的前景。
一方面,许多用户更喜欢联邦学习,因为他们希望获得更个性化的本地模型,以便更好地为自己获得更好的服务[62]。
个性化联邦学习的例子:谷歌键盘。用户可以训练更符合他们语言习惯的预测模型,同时确保数据保存在本地。
通常的模型聚合方法自然不再适用于此类问题。许多研究人员为个性化联邦学习设计了各种模型聚合算法[63-65]。
另一方面,在物联网的背景下,个性化联邦学习可以更好地减轻由于用户数据的异质性而产生的影响。
Mansour等人[66]提出,可以对相似的用户进行聚类,然后可以为每个聚类定制模型。
联邦迁移学习的思想也有助于个性化,不同的用户从自己的本地数据中重新学习全局模型返回的参数[67]。
这篇综述着重于联邦学习模型出现的动机、最初的概念,以及在最近的研究工作中发现的挑战性问题和可能的解决方案。
联邦学习出现的一个原因是:人们发现传统深度学习的现有假设过于理想,在现实世界中,数据碎片化和隔离的问题相当严重。
数据提供商越来越不愿意暴露其原始数据并放弃对其的所有控制。
个人用户不想完全暴露他们的原始数据,因为它包含大量敏感信息。
—> 于是提出了联邦学习来解决这些问题。
从理论上讲,联邦学习极大地统一了来自不同的被隔离的数据,并打破了障碍。
同时,通过联邦学习,用户可以参与深度学习,而无需暴露原始数据,有助于训练高质量的模型,同时保护隐私。
然而,该算法仍有进一步改进的空间:由于其分布式框架和极高的参与自由度,可能会吸引更多的恶意攻击和其他类型的隐私泄露。
—> 因此,希望最大限度地发挥联邦学习的优势,保护用户的隐私,同时训练更准确的模型。
未来的研究还将侧重于隐私和安全保护、激励机制和个性化联邦学习。