梯度提升技术中的隐私保护挑战与方案
Dimitar Jetchev (左),Inpher联合创始人兼首席技术官,和 Joan Feigenbaum,耶鲁大学 Grace Murray Hopper 计算机科学教授,同时也是某中心学者,描述了使用隐私保护机器学习来解决 XGBoost 训练和预测中的隐私挑战。
机器学习(ML)在广泛的应用中变得越来越重要,包括市场预测、服务个性化、语音和面部识别、自动驾驶、健康诊断、教育和安全分析。由于 ML 触及我们生活的许多方面,至关重要的是 ML 系统要保护用于训练它们的数据的隐私、提交给它们的机密查询以及它们返回的机密预测。
隐私保护——以及组织知识产权的保护——推动了隐私保护机器学习(PPML)的研究。从本质上讲,PPML 的目标是以不泄露关于训练数据集、查询和预测的任何不必要信息的方式来执行机器学习。
例如,假设学校向教育研究人员提供加密的学生记录,研究人员使用这些记录来训练 ML 模型。进一步假设学生、家长、教师和其他研究人员可以向模型提供加密查询并接收加密预测作为回报。通过以这种方式利用 PPML 技术,所有参与者都可以挖掘教育记录数据库中包含的知识,而不会损害数据主体或数据用户的隐私。
PPML 是一个非常活跃的领域,有一个同名的年度研讨会,并且在通用 ML 和安全会议上发表了许多高质量的论文。已经为多种 ML 模型类型开发了隐私保护的训练和预测技术,例如,神经网络、决策树和逻辑回归公式。
在下面的章节中,我们将描述用于极端梯度提升(XGBoost)训练和预测的 PPML 方法。
训练
梯度提升是一种用于回归和分类问题的 ML 方法,它产生一组预测树,通常是分类和回归树(CART),它们共同构成一个模型。CART 是二叉树的一种概括;二叉树产生二进制输出,将每个输入查询分类为“是”或“否”,而 CART 为每个输入查询分配一个(实)数值分数。
分数的解释取决于具体的应用。如果 v 是一个查询,那么模型中的每个 CART 都会为 v 分配一个分数,模型在输入 v 上的最终预测是这些分数的总和。在某些应用中,可以使用 softmax 函数代替总和来生成预测输出类别的概率分布。
极端梯度提升(XGBoost)是一个优化的、分布式的梯度提升框架,它高效、可移植且灵活。在本节中,我们考虑在创建用于疾病预测——特别是多发性硬化症(MS)预测——的 XGBoost 模型时训练数据的机密性。
MS 的早期诊断和治疗对于预防疾病的退行性进展和患者残疾至关重要。最近的一篇论文提出了一种早期诊断方法,该方法将 XGBoost 应用于电子健康记录,并使用三种类型的特征:诊断特征、流行病学特征和实验室特征。
加密计算如何加速云计算的采用
在先前的一篇某中心科学文章中,Joan Feigenbaum 回顾了安全多方计算和隐私保护机器学习——这两种用于解决云计算隐私问题并加速企业云采用的加密技术。
存在另一种神经系统疾病(例如,急性播散性脑脊髓炎(ADEM))是诊断特征的一个例子。流行病学特征包括年龄、性别和去医院就诊的总次数。模型中使用的另外两个通过实验室测试发现的特征被称为实验室特征:高脂血症(任何或所有脂质水平异常升高)和高血糖(血糖升高)。提出的 XGBoost 模型在早期诊断 MS 方面显著优于其他已提出的 ML 技术(包括朴素贝叶斯方法、k-最近邻和支持向量机)。
收集足够数量的高质量数据样本和特征来训练这样的诊断模型是相当具有挑战性的,因为数据驻留在不同的私有位置。训练数据可以通过不同的方式在这些位置之间分割:水平分割、垂直分割或两者兼有。
如果私有数据源包含具有相同特征集的样本(例如,从不同医院驻留的健康记录中提取相同特征的情况),则称数据集是水平分割的。另一个极端——垂直分割数据——发生在私有数据源为所有训练样本贡献一个新特征时。例如,健康保险公司可以提供过去药物的报销收据(新特征)来补充临床健康记录中的特征。在这些场景中,将训练数据聚合到中央服务器上违反了 GDPR 法规。
下图说明了训练后模型中一个可能的 CART。叶节点上的权重可能表示从根节点到叶节点的不同路径导致 MS 的概率。
对 MS 预测的 XGBoost 模型进行隐私保护训练的研究使用了两种不同的技术:安全多方计算(SMPC)和隐私保护联邦学习(PPFL)。我们在此简要描述这两种技术。
SMPC 协议使多个参与者(每个参与者持有一个私有输入)能够联合评估这些输入上的一个公开已知函数,而除了函数输出所隐含的信息外,不泄露任何关于输入的信息。私有输入在参与者之间秘密共享,例如,通过加法秘密共享,即每个私有输入 v 的所有者生成随机“份额”,这些份额加起来等于 v。
例如,假设 Alice 的私有输入是 v = 5。她可以通过生成两个随机整数 SBob =125621 和 SCharlie = 56872,将 Bob 的份额发送给他,将 Charlie 的份额发送给他,并保留 SAlice = v - SBob - SCharlie = -182488,从而在她自己、Bob 和 Charlie 之间秘密共享。除非对手控制所有三方,否则他无法得知关于 Alice 私有输入 v 的任何信息。
在执行 SMPC 协议时,每个基本操作(加法或乘法)的输入都是秘密共享的,操作的输出是结果的秘密共享份额集合。我们说一个秘密共享的值 y(可能是计算的最终输出)被揭示给参与方 P,如果所有参与方都将它们的份额发送给 P,从而使 P 能够重建 y。关于 SMPC 及其与云计算相关性的进一步讨论可以在此处以及 Inpher 的 Secret Computing Explainer Series 中找到。
Inpher 的研究人员最近发表的一篇论文提出了一种名为 XORBoost 的 SMPC 协议,用于 XGBoost 模型的隐私保护训练。它将现有技术水平提高了几个数量级,并确保:
- 协议计算的 CART 在训练数据所有者之间秘密共享,并且仅揭示给指定的参与方,即数据分析师。
- 训练算法不仅保护输入数据,而且不泄露任何关于训练样本在 CART 中经过的路径的信息。
XORBoost 支持数值和类别特征,从而提供了足够的灵活性和通用性来支持上述模型。
XORBoost 对于合理大小的训练数据集——数十万样本和数百个特征——效果良好。然而,许多现实世界的应用需要对超过一百万个样本进行训练。为了达到这种规模,可以使用联邦学习(FL),这是一种 ML 技术,用于在由多个分散的边缘设备本地持有的数据样本上训练模型,而无需设备之间交换样本。
FL 与 XORBoost 的主要区别在于,FL 并非在整个训练过程中都对秘密共享的值进行操作。相反,每个设备在其本地数据样本上训练一个本地模型,并将其本地模型发送到一个或多个服务器进行聚合。聚合协议通常使用简单的操作,如求和、平均和遗忘比较,而不进行复杂的优化。
如果服务器从所有设备接收明文本地模型更新,理论上它可以使用模型反演攻击恢复本地训练数据样本。SMPC 和其他隐私保护计算技术可以应用于聚合本地模型而不将其泄露给服务器。整体架构如下图所示。
预测
PPXGBoost 是 XGBoost 预测的隐私保护版本。更准确地说,它是一个支持对加密的 XGBoost 模型进行加密查询的系统。PPXGBoost 专为以下应用设计:首先在合适的训练数据集上训练一个明文模型 Ω,然后为每个用户 U 创建一个个性化的、加密版本的模型 ΩU,U 将向该模型提交加密查询并从中接收加密结果。
PPXGBoost 系统架构如上图所示。在客户端,有一个应用程序,用户用它来加密查询和解密结果。在服务器端,有一个名为 Proxy 的模块,它运行在可信环境中,负责设置(即为每个授权用户创建个性化的加密模型和一组加密密钥)和一个执行加密查询的 ML 模块。PPXGBoost 使用两种专门的加密方案(对称密钥、保序加密和公钥、加法同态加密)来加密模型和评估加密查询。每个用户在设置阶段都会获得这两种方案的密钥。
请注意,PPXGBoost 对于希望随着患者情况变化而重复进行疾病预测的研究人员、临床医生和患者来说是一个自然的选择。可能相关的变化包括接触新的环境因素、对另一种病症的实验性治疗,或者仅仅是衰老。个体患者可以创建个性化的、加密的疾病预测模型,并将其存储在他接受治疗的医疗中心拥有的服务器上。然后,患者和医生可以使用它以隐私保护的方式监测患者患病的可能性变化。
结论
我们描述了使用 PPML 来解决 XGBoost 训练和预测中的隐私挑战。在未来的文章中,我们将详细阐述隐私保护联邦学习如何使研究人员能够在存储于数十万台设备上的数百万个样本上训练更复杂的 ML 模型。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
50

被折叠的 条评论
为什么被折叠?



