人大学等《联邦学习隐私保护》隐私保护技术
联邦学习是顺应大数据时代和人工智能技术发展而兴起的一种协调多个参与方共同训练模型的机制.它允许各个参与方将数据保留在本地,在打破数据孤岛的同时保证参与方对数据的控制权.然而联邦学习引入了大量参数交换过程,不仅和集中式训练一样受到模型使用者的威胁,还可能受到来自不可信的参与设备的攻击,因此亟需更强的隐私手段保护各方持有的数据. 本文分析并展望了联邦学习中的隐私保护技术的研究进展和趋势.简要介绍联邦学习的架构和类型,分析联邦学习过程中面临的隐私风险,总结重建、推断两种攻击策略,然后依据联邦学习中的隐私保护机制归纳隐私保护技术,并深入调研应用上述技术的隐私保护算法,从中心、本地、中心与本地结合这3个层面总结现有的保护策略. 最后讨论联邦学习隐私保护面临的挑战并展望未来的发展方向.
http://jos.org.cn/html/2022/3/6446.htm
1. 引言
近年来, 大数据驱动的人工智能迸发出巨大潜力, 在金融、医疗、城市规划、自动驾驶等多个领域完成了大规模复杂任务学习. 机器学习作为人工智能的核心技术, 其性能和隐私性也广受关注. 传统的机器学习需要由服务商收集用户的数据后集中训练, 但是用户的数据与用户个体紧密相关, 可能直接包含敏感信息, 如个人年龄、种族、患病信息等; 也可能间接携带隐含的敏感信息, 如个人网页浏览记录、内容偏好所隐含的用户政治倾向. 如果这些敏感信息在收集过程中被服务商泄露或者利用, 将直接威胁用户的人身安全、个人名誉和财产安全. 即便服务商没有直接公开用户数据, 集中训练后发布的模型也可能因为受到隐私攻击而泄露参与训练的数据. 随着隐私问题受到的关注程度日益提高, 用户分享数据的意愿越来越低. 与之矛盾的是, 人工智能技术却必须依靠大量数据收集和融合, 如果不能获取完整丰富的信息来训练模型并发展技术, 人工智能应用的发展将受到严重限制.
在数据孤岛现象与数据融合需求的矛盾逐渐凸显的背景下, 联邦学习(federated learning, FL)应运而生. 2017年, Google公司首次提出了联邦学习的概念[1], 这是一种由多个数据持有方(如手机、物联网设备, 或者金融、医疗机构等)协同训练模型而不分享数据, 仅在中间阶段交换训练参数的学习机制. 理想状况下, 联邦学习得到的共享模型与数据集中在中心服务器上训练所得模型相比, 效果相近或更好[2]. 由此, 企业能够通过合法且高效的方式融合数据提取信息, 个人或其他持有数据的机构依然能够在享受企业提供的人工智能服务的同时, 保有数据的控制权.
尽管联邦学习避免了将数据直接暴露给第三方, 对于数据隐私有天然的保护作用, 但是其中依然存在大量隐私泄露的风险.
首先, 联邦学习需要交换中间参数协同训练, 可能泄露隐私. 与集中式学习不同, 联邦学习训练过程需要交换大量中间参数, 其所携带原始数据会暴露在所有参与训练的角色面前, 带来泄露的风险. 例如, 已有研究表明, 可以通过梯度还原部分原始数据[3], 或根据中间参数推断掌握的记录内容是否来自某个特定参与者[4].
其次, 不可靠的参与方加剧了隐私泄露的风险. 联邦学习中, 各个参与方由于地理、设备等条件不同, 通信内容的有效性和身份的真实性都难以确认, 因此一旦出现不可靠的参与方攻击, 极易泄露隐私.例如, 半诚实的参与方能够根据合法获取的中间参数推断出其他参与方的标签或数据; 而恶意的参与方更进一步, 能够通过上传精心设计的有害信息诱导其他参与方暴露更多自身数据, 或者不遵守隐私协议进而影响全局的隐私性.
此外, 训练完成的模型也面临着隐私泄露的风险. 即便联邦学习的过程中参数没有泄露, 直接发布训练所得的模型依然存在极大风险. 这种风险来自机器学习自身的脆弱性. 在训练中, 模型提高准确性依赖于对数据样本的规律挖掘. 但是研究者[4]注意到, 追求模型在训练样本上的准确度, 可能导致模型的参数乃至结构“记住”训练样本的细节, 使得模型携带训练集的敏感信息. 根据这一特性, 攻击者可以通过反复查询模型的预测接口来推测某条记录是否存在于训练集、推测模型的具体参数, 而根据模型发布的参数能够进一步推测训练集成员或训练集具体样本.
由此可见, 不加保护的进行联邦学习, 训练中涉及的众多参与者的数据都将面临泄露的风险. 而数据一旦泄露, 不仅隐私泄露者面临严重损失, 参与者间彼此信任合作的联合训练模式也将难以为继.
解决联邦学习信息泄露问题迫在眉睫. 然而, 联邦学习中数据分布复杂、应用场景丰富且需要多次数据交换, 这些因素为隐私保护带来一系列挑战.
第一, 联邦学习的训练场景多样且需求复杂, 现有的隐私保护方法无法通用. 已有的集中式机器学习隐私保护研究以中心服务器诚实为前提, 仅考虑模型发布后可能受到的攻击, 没有针对内部攻击者的解决方案. 而且现有算法大多针对单一的集中式训练场景, 没有考虑多个参与方、多种架构、多种数据分布方式下的数据交换和模型协同训练的情况. 因此, 设计适应不同场景和不同需求的隐私保护算法, 同时抵御外部和内部攻击, 是联邦学习隐私保护的重要挑战.
** 第二, 联邦学习中参与方的可信程度低, 潜在的攻击角度多, 对隐私保护算法的鲁棒性要求更高**. 这里, 鲁棒性指模型容忍恶意攻击稳定运行的能力. 联邦学习中, 参与者一旦发起攻击, 能够观察到更多的中间参数, 甚至能够篡改参数影响训练过程, 隐私防御的难度远高于外部出现的攻击. 而参与者之间如果共谋, 可能获取更多敏感信息. 因此, 提高隐私保护算法的鲁棒性, 减少隐私算法中对参与者的可信程度的假设, 是联邦学习隐私保护面临的难题.
** 第三, 联邦学习本身通信不稳定, 模型计算代价高, 因而对隐私保护机制的通信量和复杂度要求严格**. 现实场景下的联邦学习所面临的复杂松散的网络结构导致终端通信不稳定, 在此基础上的隐私保护算法难以简化. 而复杂的隐私保护算法将带来更高的计算量、更大通信代价, 进一步制约联邦学习的训练效率. 研究高效率、轻量级的联邦学习隐私保护算法, 降低额外开销, 是联邦学习隐私保护必须面对的挑战.
第四, 联邦学习中参数维度高、数据分布不均, 难以在提供隐私保护的同时保持模型的可用性. 联邦学习中间参数的维度与模型结构和输入数据维度相关, 参数维度往往极高, 造成了极大的隐私开销.此外, 联邦学习的用户数量不定且数据集大小不一, 如何在平衡不同数据集的同时保护隐私, 也是一个巨大挑战.
综上所述, 更加精细的隐私策略设计、更加精确的隐私预算分配、更加适应数据交换的隐私协议构建, 是联邦学习隐私保护进一步发展必须面对的议题. 而明确现有的隐私问题和保护手段, 是技术发展的基础. 联邦学习的基础——机器学习的隐私攻击和防御已经被充分调研[5]. 机器学习面临的外部攻击同样威胁着联邦学习的发布模型, 但是机器学习的隐私保护手段却远远不足以为联邦学习提供保护. 这是由于联邦学习同时面临着传统的外部攻击和其独有的内部攻击, 因此联邦学习的隐私保护方案必须同时为内部训练过程和外部模型发布提供双重保护.
另外, 已有学者调研了联邦学习隐私保护的现状, 但由于思路与本文不同, 侧重的方法和文献也不相同. Lyv等人[6]和Wang等人[7]对联邦学习可能受到的攻击作了详细的阐述, 但是在安全攻击和隐私攻击的区分上没有进一步调研. 本文明确两种攻击的概念范围: 以窃取数据、破坏模型隐私性和机密性为目的的攻击为隐私攻击, 以干扰模型训练结果、破坏模型可用性和完整性的攻击为安全攻击. 此外, 本文还依据现有的隐私攻击技术的原理归纳了主要策略分类. 现有文献[7−10]均从技术或训练阶段的角度分析了目前的联邦学习隐私保护算法, 而本文根据联邦学习自身特性分析其特有的隐私泄露内容和泄露位置, 从隐私保护的对象的角度出发建立分类框架, 并归纳每个类别中主要的保护机制, 进而分析采用不同技术的算法的共性并探究机制本身的优势和不足. 进一步地, 本文建立了攻击策略与保护机制之间的联系, 并在此基础上尝试为联邦学习隐私保护的发展提出建议.
本文第1节介绍联邦学习的架构和类型, 以及相应场景下的训练方式. 第2节分析联邦学习面对的隐私泄露风险来源, 总结具体的攻击策略. 第3节介绍多种隐私保护技术原理, 并将其归纳为信息模糊、过程加密两种隐私保护机制. 第4节调研隐私保护技术在联邦学习中的应用, 涵盖本地保护、中心保护、中心与本地结合这3种保护策略, 并对每种策略展开更加详细的阐述. 第5节讨论现有不足并展望未来方向.
2. 联邦学习**
**联邦学习的一般定义为[11]: N个参与方{F1, …, FN}各自持有训练集{D1, …, DN}. 联邦学习中, 各个参与方在不将本地数据Di暴露给第三方的情况下, 协作训练模型MFED. 为了给联邦学习模型一个衡量标准, 设传统的集中式机器学习将各个数据集收集合并为D=D1∪…∪DN以训练模型MSUM. 令VFED为联邦学习模型MFED精度(performance), VSUM为传统机器学习模型MSUM精度. 存在非负实数δ, 使得: |VFED−VSUM|<δ, 则称此联邦学习模型具有δ的精度损失. 可见, 使各个数据集留在本地协同训练所得模型的精度, 理想状况下应当接近于将数据集集中后训练所得模型的精度. 区别于传统的分布式机器学习, 联邦学习具有如下特点. (1) 各个参与方的训练集非独立同分布. 各个参与方仅掌握局部信息, 其分布与全局不一定相同; 各个参与方仅掌握整个数据集的部分属性及标签信息, 且各方之间属性和标签可能不完全重叠. (2) 各个参与方的训练集大小可能不平衡. 某些参与方可能由于其规模、影响力等因素掌握更多数据. (3) 参与方数量不定. 参与者数量可能很少, 例如只有几个企业交换数据集; 也可能极多, 如训练涉及数以万计的App使用者. (4) 通信受限. 与分布式相比, 联邦学习的架构更为松散, 参与的设备可能存在频繁掉线、通信缓慢等情况, 因此联邦学习的通信代价同样受到极大关注. 根据这些特点, 学者为联邦学习设计了不同的架构方式和学习类型.
联邦学习架构
常见的联邦学习架构为客户-服务器. 典型的客户-服务器架构由一个中心服务器和多个持有数据的客户端组成. 被广泛采用的联邦平均FedAvg[1]即是基于客户-服务器架构设计的算法. 在训练中, 中心服务器将随机初始化的模型结构和参数分发给客户端, 客户端根据本地数据训练并更新模型后将参数上传. 中心服务器收到各方参数后聚合计算, 更新模型参数再次下发. 该过程循环, 直至模型收敛或训练终止. 除了常见的模型参数交换以外, 也存在梯度交换、数据特征的嵌入式表示交换等方式. 在此架构下, 原始数据不需要传输, 但是本地中间参数暴露给了中心服务器, 全局中间参数则会被每个客户端获取, 数据交换过程中, 巨大的通信量也会影响训练效率. 而当参与训练的客户端数量过多时, 中心服务器的聚合计算甚至可能成为全局训练效率的瓶颈.
当没有中心服务器时, 联邦学习采用另一种常见架构: 端对端的网络架构[12]. 这种架构仅由持有数据的终端组成. 参与训练的终端Fi直接将训练参数发送给下一个(或多个)终端Fi+1, 下一个(或多个)终端Fi+1在收集到的一个(或多个)参数基础上继续训练, 直到模型收敛或者训练终止. 端对端网络架构不依赖中心服务器这样的第三方机构, 本地中间参数直接在参与方之间传送. 因此需要考虑参与方如何协商使用相同的模型、算法、初始化参数等基本信息, 协调各方参与训练的顺序.
为了下文中概念统一、表述清晰, 本文将客户-服务器中的服务器称为中心服务器; 将客户-服务器中的客户端和端对端架构中的参与训练终端统称为终端; 所有参与训练的服务器、终端统称为参与方. 训练过程中发送的梯度、模型参数、嵌入式表示等, 统称为中间参数. 上述两种典型架构如图 1所示.
联邦学习类型根据参与方的样本分布情况, 联邦学习按照数据的划分情况可以分为3种类型: 横向联邦学习、纵向联邦学习、迁移联邦学习. 不同的数据的划分方式需要的训练方式和中间参数不同, 也为隐私泄露的风险和保护方式带来影响.
横向联邦学习中, 各个参与方持有的数据特征相同, 但掌握的样本不同. 例如, 几个不同城市的医院可能掌握着不同病人的情况, 但是由于具备相似的医疗手段, 医院获取属性的属性相同. 横向联邦学习中典型的方式之一是第1.1节所描述的联邦平均算法FedAvg, 包括梯度平均和模型平均两种类型[13], 多由客户-服务器架构实现. 梯度平均是指终端交换和聚合模型梯度, 而模型平均指聚合模型参数. 在端对端架构中, 各个参与方训练本地模型, 通过循环发送给下一个(或多个)训练方或者随机传输某个(或多个)终端[14]实现模型参数的共享.
而纵向联邦学习则针对相反的情形, 即各个参与方持有的数据特征不同, 但掌握的样本相同. 例如, 同一个城市中的医院和银行都接待过同一个市民, 保留着该市民的就诊记录或资金状况. 显然, 医院和银行获取的数据属性完全不同, 但是所持有的样本ID是重叠的. 纵向联邦学习首先需要参与方对齐相同ID的样本, 然后, 各个参与方在对齐的样本上分别训练本地模型并分享参数. 不同架构同样都适用于纵向联邦学习, 但由于数据的纵向分布, 参与方之间的依赖程度更高, 模型需要更加精细地设计. 纵向联邦学习已应用于线性回归[11]、提升树[15]、梯度下降[16]等多种模型上. 以纵向联邦学习线性回归算法[11]为例, 该算法在样本对齐后, 将损失函数的梯度拆分, 使得两个参与方能够使用各自的本地数据分别计算梯度的一部分, 而需要共同计算的部分则通过双方交换参数协同完成. 纵向分布的数据之间紧密的相关性, 为纵向学习的效率和容错性带来挑战.
上述两种类型都是比较理想的情况, 现实生活中, 大部分参与方所持有的数据, 在特征和样本ID上的重叠都比较少且数据集分布不平衡. 针对这样的情形, 迁移学习被应用到联邦学习中来. 迁移学习作为一种有效的学习思想, 能够将相关领域中的知识迁移到目标领域中, 使得各个参与方共同学习得到迁移知识. 以两方迁移学习为例[17], 假设一方A掌握样本的部分特征和全部标签, 另一方B掌握部分特征, 双方特征和样本ID之间都有少量重叠. 联邦迁移学习首先对齐样本并共同训练模型, 然后预测B方样本的标签. 为了达到预期效果, 训练的目标函数包含两个部分: 一部分是根据已有的标签预测B方样本, 使预测误差最小化; 另一部分是A与B对齐的样本之间的嵌入式表示的区别最小化. 各方根据目标函数在本地训练, 并交换中间参数更新模型, 直至模型收敛.
目前, 纵向和迁移联邦学习的隐私保护算法研究还不成熟, 且保护方式与横向联邦学习场景类似. 为了表述简洁, 下文中调研的隐私保护算法若无特别说明, 即为横向联邦学习场景.
3. 联邦学习中的隐私泄露风险
尽管联邦学习不直接交换数据, 比传统的集中式机器学习训练有了更高的隐私保障, 但联邦学习本身并没有提供全面充分的隐私保护, 依然面临着信息泄露的威胁. 模型面临的隐私泄露风险来自模型训练自身的脆弱性和攻击者的强大能力: 模型训练过程中, 独特架构和训练阶段决定了隐私泄露的位置和时机; 攻击者的角色和能力, 决定了隐私泄露的内容和程度. 而攻击者依据自身特性所采取的攻击策略, 则进一步影响攻击者的能力, 从而影响模型隐私泄露的风险. 理清隐私泄露的风险, 才能为联邦学习隐私防御找到总体方向.
4 隐私保护机制和技术
**隐私保护技术是防御敏感信息泄露的技术, 能为信息的隐私提供严格的可量化的保护. 隐私保护的技术多种多样, 但总体分为两大方向: 信息模糊机制和过程加密机制. 信息模糊机制面向数据内容本身, 通过处理数据或参数使数据内容不易被关联到用户身份上; 过程加密机制面向数据传输的过程, 通过改变数据交换的形式使得传输过程中的数据不被识别. 两类机制使用的场景不同, 但都能在一定程度上抵御上述隐私攻击.
5 联邦学习中的隐私保护算法
基于上述隐私保护机制和技术, 学者们为联邦学习设计了多种保护措施. 尽管这些保护措施设置在训练的不同阶段, 但隐私保护的对象是明确且清晰的: 中心或本地. 中心是指中心服务器所掌握的中间参数和训练完成的模型; 本地则包括终端所掌握的数据和本地模型参数. 二者是联邦学习主要的隐私泄露位置. 因此, 本节以隐私保护的对象为线索, 将联邦学习隐私保护算法分为3种主要类型: 中心保护、本地保护、中心与本地同时保护策略. 中心保护策略以保护中心服务器所掌握的参数为目标, 考虑模型的使用者带来的威胁; 本地保护策略以保护本地所掌握的参数为目标, 考虑中心服务器带来的威胁; 中心和本地同时保护策略以保护所有参数为目标, 同时考虑模型使用者和中心服务器所带来的威胁. 3种保护策略的区别如图 4所示. 需要说明的是, 本地保护策略提供的保护有时也能起到防御模型使用者(外部攻击者)的效果, 但防御使用者并非本地保护策略的核心任务, 所以该防御范围在图中用虚线表示.
6 未来展望
不同于传统的集中式机器学习, 联邦学习由于自身架构和训练方式的独特性, 面临着更多样的隐私攻击手段和更迫切隐私保护需求. 现有的联邦学习隐私保护算法在技术、平衡性、隐私保护成本和实际应用中还存在诸多不足之处. 明确这些问题和挑战, 才能展望联邦学习隐私保护未来发展的机遇和方向: