隐私计算中的联邦学习
Posted 半吊子全栈工匠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了隐私计算中的联邦学习相关的知识,希望对你有一定的参考价值。
数据资产已经成为产品和服务设计的关键工具,但是集中采集用户数据会使个人隐私面临风险,进而使组织面临法律风险。从2016年开始,人们开始探索如何在用户隐私保护下使用数据的所有权和来源,这使得联邦学习和联邦分析成为关注的热点。随着研究范围的不断扩大,联邦学习已经开始应用到物联网等更广泛的领域。
那么,什么是联邦学习呢?
联邦学习是在中心服务器或服务提供商的协调下,多个实体协作解决机器学习问题的一种机器学习设置。每个客户端的原始数据存储在本地,不进行交换或者传输; 相反,使用用于即时聚合的重点数据更新来实现学习的目标。
类似地,从分散数据集的组合信息中产生分析的洞察力,称为联邦分析,在联邦学习中遇到的场景同样适用于 联邦分析。
本文简要介绍了联合学习和分析中的关键概念,重点介绍了如何将隐私技术与现实世界的系统相结合,以及如何利用这些技术在新的领域通过汇总统计数据获得社会效益,并将个人和数据保管机构的风险降至最低。
1. 隐私保护与联邦学习
隐私本质上是一个多元概念,有三个关键的组成部分: 透明度和用户许可; 数据最小化; 以及数据的匿名化。
透明度和用户许可是隐私保护的基础:,它们是用户理解和认可其数据使用的方式。隐私保护技术不能取代透明度和用户许可,但是更容易推断哪种类型的数据可以被使用或者被设计排除在外 ,从而使隐私声明更容易理解、验证和执行。数据使用的目标主要是产生联邦学习的模型和计算用户数据的度量或其他聚合统计(如联邦分析)。
应用于聚合的数据最小化包括仅收集特定计算所需的数据,限制在所有阶段都能对该数据进行访问,尽早处理个人数据 ,并最小保留数据。也就是说,数据最小化意味着将对所有数据的访问限制在尽可能小的人群中,通常通过安全机制来实现,例如加密,访问控制,以及安全多方计算和可信执行环境等。
数据匿名化是指计算的最终输出不会显示任何个人独有的东西。当用于匿名聚合时,任何个体用户提供给计算的数据对最终聚合输出的影响很小。例如,当向公众发布聚合统计数据时,包括模型参数在内的聚合统计数据不应因聚合中是否包含特定用户的数据而有显著差异。
也就是说,数据最小化涉及计算的执行和数据的处理,而数据匿名化涉及计算和发布的内容。
联邦学习在结构上体现了数据最小化。需要注意的是,数据收集和聚合在联邦方法中是不可分割的,客户端数据被转换收集以便立即聚合,而分析人员无法访问每个客户端的消息。联邦学习和联邦分析是体现数据最小化实践的一般联邦计算模式的实例。传统的方法是集中处理,即用数据收集取代设备上的预处理和聚合,在处理日志数据期间,数据的最小化发生在服务器上。
联邦学习和联邦分析的目标是与匿名聚合的目标一致的。使用机器学习,目标是训练一个能够准确预测所有用户的模型,而不会过度拟合。同样,对于统计查询,目标是估计统计数据,这也不应该受到任何一个用户数据的太大影响。
联邦学习与差分隐私等隐私保护技术相结合,可以确保发布的聚合具有足够的匿名性。在很多情况下,数据匿名可能不适用,服务提供者直接访问个人的敏感数据是不可避免的,但是在这些交互中,服务提供者应该只为预期目的来使用数据。
2. 联邦学习要点
联邦学习的特点是保持了原始数据去中心化和通过聚合进行学习。本地生成的数据在分布和数量上都是异构的,这使得联邦学习与传统的基于数据中心的分布式学习环境区别开来,后者的数据可以任意分布和清洗,计算中的任何节点都可以访问任何数据。实际上,控制中心的作用是显著的,并且通常是必要的,例如对于缺乏固定 IP 地址并且需要中心服务器来通信的移动设备。
2.1 典型场景和应用
有两个联邦场景得到了特别的关注:
跨设备联邦学习,客户端是大量的移动设备或物联网设备。
跨组织的联邦学习,客户端通常是一个较小的组织、机构或其他数据孤岛。
表1,改编自 Kairouz 等人,10总结了 FL 设置的关键特征,并强调了跨设备和跨竖井设置之间的一些关键差异,以及与数据中心分布式学习的对比。
跨设备的联邦学习已经被分别用于 android 和 ios 手机,用于许多应用程序,例如键盘预测。跨组织的联邦学习被用于健康研究等问题。另一个正在兴起的应用是金融,来自 WeBank、瑞士信贷(Credit Suisse)、英特尔(Intel)等公司的投资。
联邦学习典型场景的特征对比如下表所示:
项目 | 数据中心分布式学习 | 跨组织的联邦学习 | 跨设备的联邦学习 |
---|---|---|---|
配置 | 在大型扁平数据集上训练模型,客户端是一个集群或一个数据中心上的节点 | 跨越数据孤岛训练模型,客户端是不同的组织或者不同地域的数据中心 | 客户端是海量的移动设备或者IoT设备 |
数据分布 | 数据是中心存储的,可以跨客户端清洗和均衡。任一客户端可以访问数据集的任一部分。 | 数据本地产生并存储,保持了去中心化。每一客户端不能访问其他客户端的数据,数据不是独立的或同质分布的 | 数据本地产生并存储,保持了去中心化。每一客户端不能访问其他客户端的数据,数据不是独立的或同质分布的 |
编排 | 集中编排 | 集中编排服务但原始数据不可见 | 集中编排服务但原始数据不可见 |
分布规模 | 1~1000 | 2~100 | 成万上亿 |
客户端属性 | 客户端真实可信,总是参与计算,并在计算中保持状态。 | 客户端真实可信,总是参与计算,并在计算中保持状态。 | 并非所有客户端可用,通常从可用设备中随机抽样。大量客户端在一次计算着只参与一次。 |
2.2 联邦学习算法
机器学习尤其是深度学习,一般都是数据饥饿和计算密集型的,因此联合训练质量模型的可行性还远远没有达到预定的结论。联邦学习算法建立在经典的随机梯度下降算法的基础上,该随机梯度下降算法被广泛用于传统环境下训练机器学习模型。该模型是一个从训练样本到预测的函数,由模型权重向量参数化,以及一个测量预测与真实输出之间误差的损失函数组成。通过采样一批训练样本(通常从数万到数千) ,计算损失函数相对于模型权重的平均梯度,然后在梯度的相反方向调整模型权重。通过适当调整每次迭代的步长,即使对于非凸函数,也可以得到具有令人满意的收敛性。
扩展到联邦学习,是将当前的模型权重广播给一组随机的客户端,让它们各自计算本地数据上的损失梯度,在服务器上的客户端上平均这些梯度,然后更新全局模型权重。然而, 通常需要更多多次迭代才能产生高精度的模型。粗略的计算表明,在联邦学习环境下,一次迭代可能需要几分钟,这意味着联邦训练可能需要一个月到一年的时间,超出了实用性的范围。
联邦学习的关键思想是直观的,通过在每个设备上本地执行随机梯度下降的多个步骤来降低通信和启动成本,然后减少模型更新的平均次数。如果模型在每个局部步骤之后取平均值,那么可能太慢了; 如果模型取平均值太少,就可能会发散,而取平均值可能会产生更差的模型。
模型训练可以简化为联邦聚合的应用程序,即模型梯度或更新的平均值。
2.3 典型工作流程
拥有一个可行的联邦算法是一个必要的起点,但是,如果要使跨设备联邦学习成为驱动产品团队的一个有效方法,则需要更多的东西。对于跨设备联邦学习而言,典型的工作流程通常如下:
1. 识别问题
通常这意味着需要一个中等大小(1-50MB)设备上的模型; 设备上可用的潜在训练数据比数据中心可用的数据更丰富或更具代表性; 有隐私或其他原因倾向于不集中数据; 训练模型所需的反馈信号在设备上很容易获得。
2. 模型开发和评估
与任何机器学习任务一样,选择正确的模型结构和超参数(学习率、批量大小、正则化)对于机器学习的成功至关重要。在联邦学习中,挑战可能更大,它引入了许多新的超参数,例如,每轮参与的客户端数量,需要执行多少本地步骤等。通常的起点是使用基于数据中心中可用代理数据的联邦学习来模拟,并进行粗模型选择和调优。最终的调整和评估必须使用真实设备上的联邦训练来进行。评估还必须以联合方式进行: 独立于训练过程,候选全局模型被发送到设备,以便准确度指标可以在这些设备的本地数据集上计算并由服务器汇总,例如每个客户端性能的简单平均值和直方图都很重要。这些需求产生了两个关键的基础设施需求: (1)提供高性能的联邦学习模拟基础设施,允许平稳过渡到在真实设备上运行; (2)跨设备基础设施,使其易于管理多个同时进行的训练和评估任务。
3. 部署
一旦在步骤2中选择了一个高质量的候选模型,该模型的部署通常遵循与数据中心训练模型相同的程序,包括额外的验证和测试(可能包括手动质量保证) ,与以前的生产模型进行比较的现场 A/B 测试,以及分阶段推出到整个设备群(可能比实际参与模型训练的设备多出几个数量级)。
值得注意的是,步骤2中的所有工作对参与训练和评估的设备用户体验没有影响; 使用联邦学习进行训练的模型不会让用户看到预测,除非他们完成了部署步骤。确保这种处理不会对设备造成负面影响是一个关键的基础设施挑战。例如,密集计算可能只在设备空闲、网络空闲上时执行。
这些工作流程为构建可伸缩的基础设施和 API 是一个重大挑战。
3. 联邦计算中的隐私保护
联邦学习提供了各种开箱即用的隐私优势。本着数据最小化的原则,原始数据保留在设备上,发送到服务器的更新集中在一个特定的目标上,且尽可能快地聚合。特别地,没有非聚合数据保存在服务器上,端对端加密保护传输中的数据,解密密钥和解密值都只是暂时保存在 RAM 中。与系统交互的机器学习工程师和分析师只能访问聚合数据。聚合是在联邦方法中的基本作用,使得限制任何单个客户对输出的影响成为自然而然的事情,但如果目标是提供更正式的保证,比如差分隐私,那么算法就需要仔细设计。
虽然基本的联邦学习方法已经被证明是可行的,并得到了大量的采用,但是仍然远远不能默认使用,与公平性、准确性、开发速度和计算成本之间的内在紧张关系可能会阻碍数据最小化和匿名化方法。因此,我们需要可组合的隐私增强技术。最终,关于隐私技术部署的决定是由产品或服务团队在与特定领域的隐私、政策和法律专家协商后做出的。产品能够通过可用的联邦学习系统提供更多的隐私保护,或许更重要的是,随着时间的推移,帮助政策专家加强隐私定义和要求。
在考虑联邦系统的隐私特性时,考虑访问点和威胁模型是有用的。参与者可以访问物理设备或网络吗?通过 root 或物理访问提供 FL 服务的服务器?发布给机器学习工程师的模型和度量?最终部署的模型?当信息流经这个系统时,潜在的恶意方的数量变化很大。因此,隐私声明必须评估为一个完整的端到端系统。如果没有采取适当的安全措施来保护设备上的原始数据或传输中的中间计算状态,那么最终部署的模型是否存储用户数据的保证可能无关紧要。
数据最小化通过提高安全性和最小化数据和中间结果的保留来解决设备、网络和服务器的潜在威胁。当模型和度量被发布给模型工程师或部署到生产环境中时,匿名聚合将保护个人数据不受访问这些已发布输出的各方的影响。
3.1 聚合数据最小化
在联邦计算的几个点上,参与者期望彼此采取适当的操作,而且只能采取那些操作。例如,服务器期望客户端准确地执行他们的预处理步骤; 客户端期望服务器将他们的个人更新保密,直到它们被聚合; 客户端和服务器都期望数据分析师和已部署的机器学习模型用户都不能提取个人数据; 等等。
保护隐私的技术支持这些跨组成部分的结构性执行,防止参与者偏离。事实上,联邦系统本身可以被视为一种保护隐私的技术,从结构上防止服务器访问客户端提交的更新中没有包含的任何客户端数据。
以聚合阶段为例。一个理想化的系统可以想象一个完全可信的第三方聚合客户端的更新,并且只向服务器显示最终的聚合。实际上,通常不存在这种相互信任的第三方来扮演这个角色,但是各种技术允许 联邦学习系统在各种条件下模拟这样的第三方。
例如,服务器可以在一个安全区域内运行聚合过程,这个安全区域是一个特殊构造的硬件,它不仅可以向客户机证明它正在运行什么代码,还可以确保没有人可以观察或篡改代码的执行。然而,目前,安全环境的可用性是有限的,无论是在云端还是在消费者设备上,可用的安全环境可能只实现一些指定的属性领域。此外,即使在可用和功能齐全的情况下,安全环境也可能带来额外的限制,包括非常有限的内存或速度; 容易受到通过副通道暴露的数据(例如,缓存定时攻击) ; 难以验证的正确性; 依赖于制造商提供的认证服务(如密钥保密) 等等。
用于多方安全计算的分布式加密协议可以协同使用来模拟可信的第三方,而不需要专门的硬件,只要参与者的足够诚实。虽然任意函数的多方安全计算在大多数情况下仍然是计算上的障碍,但是已经开发了联邦环境中向量求和的专门聚合算法,即使对观察服务器并控制大部分客户端的对手也可以保护隐私,同时保持对客户端退出计算的鲁棒性:
通信效率——每个客户端的 O (log n + l)通信,其中 n 表示用户数量,l 表示向量长度,在广泛的应用中,小常数产生的通信量不到聚合通信量的两倍;
计算效率——每个客户端的 O (log2n + llogn)计算
密码安全聚合协议已经在商业联邦计算系统中部署了很多。除了私有聚合之外,隐私保护技术还可以用于保护 联邦系统的其他部分。例如,安全环境或加密技术(例如,零知识证明)可以确保服务器可以信任客户端已经如实地进行了预处理。甚至模型广播阶段也可以受益: 对于许多学习任务,一个单独的客户端可能只有与模型的一小部分相关的数据,在这种情况下,客户端可以私下检索模型的那一部分用于训练,再次使用安全环境或加密技术,以确保服务器不会了解与客户端有相关训练数据的模型的任何部分。
3.2 计算和验证的匿名聚合
虽然安全环境和隐私聚合技术可以加强数据最小化,但它们并非专门用于生成匿名聚合的。例如,限制用户对正在训练模型的影响。事实上,学习的模型在某些情况下是会泄露敏感信息的。
数据匿名的标准方法是差分隐私。对于一个聚合数据库中记录的通用过程,差分隐私需要将任何记录的贡献限定在聚合上,然后添加一个适当比例的随机扰动。例如,在差分隐私随机梯度下降算法中,剪切了梯度的范数,聚合了剪切后的梯度,并在每个训练回合中添加高斯噪声。
差分隐私算法必然是随机的,因此可以考虑由算法产生的模型在特定数据集上的分布。直观地说,当差分隐私算法运行在单个记录不同的输入数据集上时,这种模型之间的分布是相似的。形式上,差分隐私由隐私损失参数(ε,δ)量化,其中较小的(ε,δ)对应于增加的隐私。这不仅仅是简单地将模型的灵敏度限制在每个记录上,通过添加与任何记录的影响成比例的噪声,从而确保足够的随机性来掩盖任何一个记录对输出的贡献。
在跨设备联邦学习的场景中,记录被定义为单个用户/客户端的所有训练实例。差分隐私可以是用户级的,也可以是比例级。即使在中心化的配置中,联邦学习算法也非常适合用户级隐私保证的训练,因为它们从一个用户的所有数据中计算出一个单一的模型更新,使得更容易绑定每个用户对模型更新的总影响。
在跨设备联邦学习系统的背景下提供形式(ε,δ)保证可能特别具有挑战性,因为所有合格用户的集合是动态的,并且事先不知道,参与的用户可能在训练阶段中的任何点退出,构建一个适用于生产型联邦学习系统的端到端协议仍然是一个需要解决的重要问题。
在跨组织联邦学习的场景中,隐私单元可以具有不同的含义。例如,如果参与机构希望确保能够访问模型迭代或最终模型无法确定某个特定机构的数据集是否用于该模型的训练,则可以将记录定义为数据孤岛中的所有示例。用户级差分隐私在跨组织设置中仍然有意义。然而,如果多个机构拥有来自同一个用户的记录,实施用户级隐私可能会更具挑战性。
过去的差分隐私数据分析主要是用于中央或可信聚合器,其中原始数据由实现差分隐私算法的可信服务提供商收集。本地差分隐私避免了对完全可信的聚合器的需要,但是会导致精确度的急剧下降。
为了恢复中心化差分隐私的效用而不必依赖于一个完全可信的中央服务器,可以使用一些新兴的方法,通常称为分布式差分隐私。目标是在服务器看到输出之前(以明文形式)使输出具有不同的隐私性。在分布式差分隐私下,客户端首先计算特定于应用程序的最小数据,用随机噪声轻微干扰这些数据,并执行隐私聚合协议。然后,服务器只能访问隐私聚合协议的输出。单个客户添加的噪音通常不足以为本地差分提供有意义的担保。然而,在隐私聚合之后,隐私聚合协议的输出基于所有客户端的噪声总和提供了更强的 DP 保证。根据隐私聚合协议所需的安全假设,这甚至适用于具有服务器访问权限的人。
对于一个提供正式用户级隐私保证的算法,不仅必须将模型的灵敏度与每个用户的数据绑定在一起,而且还必须添加与该灵敏度成比例的噪声。虽然需要添加足够的随机噪声来确保差分隐私定义具有足够小的 ε 来提供强有力的保证,但是即使使用小噪声限制灵敏度也可以显著降低破译。因为差分隐私假设了一个“最坏情况的对手”,具有无限的计算和访问任意侧的信息。这些假设在实践中往往是不切实际的。因此,使用限制每个用户影响的差分隐私算法进行训练具有实质性的优势。然而,设计实用的联邦学习和联邦分析算法来实现小 ε 的保证是一个重要的研究领域。
模型审计技术可以用来进一步量化用差分隐私进行训练的优势。它们包括量化模型过度学习或罕见训练例子的程度,以及量化在何种程度上可以推断用户是否在训练期间使用该技术。这些审计技术甚至在使用大 ε 时也很有用,它们可以量化差分隐私最坏情况下的对手与计算能力和侧面信息有限的现实对手之间的差距。它们还可以作为压力测试的补充技术: 与差分隐私的正式数学声明不同,这些审计技术适用于完整的端到端系统,可能捕获软件错误或错误的参数选择。
4. 联邦分析
除了学习机器学习模型之外,数据分析师通常对将数据科学方法应用于分析本地用户设备上的原始数据感兴趣。例如,分析师可能对聚合模型度量、流行趋势和活动或地理空间位置热力图感兴趣。所有这些都可以通过使用联邦分析来完成。与联邦学习类似,联邦分析的工作方式是对每个设备的数据运行本地计算,并且只提供聚合的结果。然而,与联邦学习不同的是,联邦分析旨在支持基本的数据科学需求,如计数、平均值、直方图、分位数和其他类似 SQL 的查询。
对于一个应用程序,其中分析人员希望使用联邦分析来学习许多用户共享的音乐库中最常播放的10首歌曲。可以使用上面讨论的联邦技术和隐私技术来执行此任务。例如,客户端可以将他们听过的歌曲编码成一个长度等于库大小的二进制向量,并使用分布式差分隐私来确保服务器只能看到这些向量的一个值,给出每首歌曲有多少用户播放的 差分隐私直方图。
然而,联邦分析任务与联邦学习任务在几个方面有所不同:
联邦分析算法通常是非交互式的,并且涉及大量客户端。换句话说,与联邦学习应用不同,在一轮中拥有更多的客户是没有收益递减的。因此,在联邦分析中应用差分隐私的挑战性较小,因为每一轮可以包含大量的客户,并且需要的轮数较少。
相同的客户没有必要再次参与以后的轮次。事实上,再次参与的客户可能还会使算法的结果产生偏差。因此,一个限制任何个体可以参与的次数的基础结构可以最好地服务联邦分析任务。
联邦分析任务通常是稀疏的,这使得有效的隐私稀疏聚合成为一个特别重要的主题。
值得注意的是,尽管限制客户参与和稀疏聚合与联邦分析特别相关,但它们也可以应用于联邦学习问题。
5. 小结
联邦学习正在应用到更多类型的数据和问题领域,甚至已经被认为是隐私计算的重要方式,即面向AI的隐私保护手段,个人精力所限,本文没有涉及联邦学习中个性化、健壮性、公平性和系统实现的挑战。关于联邦学习的实践,TensorFlow Federated 或许是一个不错的起点。
【关联阅读】
以上是关于隐私计算中的联邦学习的主要内容,如果未能解决你的问题,请参考以下文章