机器学习在众多应用中日益重要,包括市场预测、服务个性化、语音和面部识别、自动驾驶、健康诊断、教育和安全分析。由于机器学习触及我们生活的诸多方面,保护训练数据隐私、提交的机密查询以及返回的机密预测变得至关重要。隐私保护及组织知识产权保护推动了隐私保护机器学习的研究。本质上,PPML的目标是以不泄露训练数据集、查询和预测任何不必要信息的方式执行机器学习。
例如,假设学校向教育研究人员提供加密的学生记录,用于训练机器学习模型。进一步假设学生、家长、教师和其他研究人员可以向模型提交加密查询并接收加密预测。通过以这种方式利用PPML技术,所有参与者都可以挖掘教育记录数据库中的知识,而不会损害数据主体或数据用户的隐私。
PPML是一个非常活跃的领域,设有同名年度研讨会,并在通用机器学习和安全场所发表了许多有力论文。已经开发出用于在各种机器学习模型类型上进行隐私保护训练和预测的技术,例如神经网络、决策树和逻辑回归公式。
在以下部分中,我们将介绍用于极端梯度提升训练和预测的PPML方法。
梯度提升是一种用于回归和分类问题的机器学习方法,它产生一组预测树,通常是分类和回归树,它们共同构成一个模型。CART是二叉决策树的泛化;虽然二叉树产生二进制输出,将每个输入查询分类为"是"或"否",但CART为每个输入查询分配一个(实数)数值分数。分数的解释取决于应用。如果v是一个查询,则模型中的每个CART都会为v分配一个分数,模型在输入v上的最终预测是这些分数的总和。在某些应用中,可以使用softmax函数代替求和,以在预测输出类上产生概率分布。
极端梯度提升是一个优化的、分布式的梯度提升框架,高效、便携且灵活。在本节中,我们考虑在创建用于疾病预测的XGBoost模型时训练数据的机密性——具体来说,是多发性硬化症的预测。
MS的早期诊断和治疗对于预防疾病退化进展和患者残疾至关重要。最近的一篇论文提出了一种早期诊断方法,该方法将XGBoost应用于电子健康记录,并使用三种类型的特征:诊断特征、流行病学特征和实验室特征。
例如,存在另一种神经系统疾病是诊断特征的一个例子。流行病学特征包括年龄、性别和去医院就诊的总次数。模型中使用的另外两个通过实验室测试发现的特征被称为实验室特征:高脂血症和血糖过高。提出的XGBoost模型显著优于其他已提出的用于MS早期诊断的机器学习技术。
收集足够数量的高质量数据样本和特征来训练这样的诊断模型非常具有挑战性,因为数据驻留在不同的私有位置。训练数据可以以不同方式在这些位置之间分割:水平分割、垂直分割或两者兼有。
如果私有数据源包含具有相同特征集的样本,则数据集被称为水平分割。另一个极端——垂直分割数据——发生在私有数据源为所有训练样本贡献新特征时。例如,健康保险公司可以提供过去药物的报销收据来补充临床健康记录中的特征。在这些场景中,将训练数据聚合到中央服务器上违反了GDPR法规。
下图说明了训练模型中一个可能的CART。叶子的权重可能表示从根到叶的各种路径导致MS的概率。
关于MS预测的XGBoost模型隐私保护训练的研究使用了两种不同的技术:安全多方计算和隐私保护联邦学习。我们在此简要描述这两种技术。
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模型的隐私保护训练。它比现有技术提高了几个数量级,并确保:
XORBoost支持数值和分类特征,从而提供了足够的灵活性和通用性来支持上述模型。
XORBoost适用于合理大小的训练数据集——数十万个样本和数百个特征。然而,许多实际应用需要训练超过一百万个样本。为了实现这种规模,可以使用联邦学习,这是一种用于在由多个分散的边缘设备本地持有的数据样本上训练模型的机器学习技术,而不需要设备交换样本。
FL与XORBoost的主要区别在于,FL不在秘密共享值上执行整个训练过程。相反,每个设备在其本地数据样本上训练一个本地模型,并将其本地模型发送到一个或多个服务器进行聚合。聚合协议通常使用简单的操作,如求和、平均和遗忘比较,但不进行复杂的优化。
如果服务器从所有设备接收明文本地模型更新,原则上,它可以使用模型反转攻击恢复本地训练数据样本。SMPC和其他隐私保护计算技术可以应用于聚合本地模型而不向服务器泄露它们。整体架构见下图。
PPXGBoost是XGBoost预测的隐私保护版本。更准确地说,它是一个支持加密查询到加密XGBoost模型的系统。PPXGBoost设计用于从在合适的训练数据集上训练明文模型Ω开始的应用,然后为每个用户U创建模型的个性化加密版本ΩU,U将向该模型提交加密查询并从中接收加密结果。
PPXGBoost系统架构如上图所示。在客户端,有一个应用程序,用户用它来加密查询和解密结果。在服务器端,有一个名为Proxy的模块在可信环境中运行,负责设置以及一个执行加密查询的机器学习模块。PPXGBoost使用两种特殊类型的加密方案来加密模型和评估加密查询。每个用户在设置阶段都会获得这两种方案的密钥。
请注意,PPXGBoost是研究人员、临床医生和患者的自然选择,他们希望在患者情况变化时重复进行疾病预测。潜在的相关变化包括暴露于新的环境因素、针对另一种情况的实验性治疗,或者仅仅是衰老。个体患者可以创建疾病预测模型的个性化加密版本,并将其存储在他接受治疗的医疗中心拥有的服务器上。然后,患者和医生可以使用它以隐私保护的方式监测患者患病可能性的变化。
我们描述了使用PPML应对XGBoost训练和预测中的隐私挑战。在未来的文章中,我们将详细阐述隐私保护联邦学习如何使研究人员能够在存储在数十万台设备上的数百万个样本上训练更复杂的机器学习模型。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。