隐私挑战与保护需求
机器学习(ML)在市场预测、服务个性化、语音人脸识别、自动驾驶、健康诊断、教育和安全分析等广泛应用中日益重要。由于ML触及生活的诸多方面,保护训练数据隐私、机密查询和预测结果变得至关重要。隐私保护及机构知识产权保护推动了隐私保护机器学习(PPML)的研究。PPML的核心目标是在不泄露训练数据集、查询和预测任何不必要信息的情况下执行机器学习。
例如,假设学校向教育研究人员提供加密的学生记录用于训练ML模型,学生、家长、教师和其他研究人员可以向模型提交加密查询并接收加密预测。通过利用PPML技术,所有参与者都可以挖掘教育记录数据库中的知识,而不损害数据主体或数据用户的隐私。
PPML是一个活跃的研究领域,拥有同名的年度研讨会和在通用ML及安全场所发表的众多强力论文。技术已发展为多种ML模型类型提供隐私保护训练和预测,例如神经网络、决策树和逻辑回归公式。
极端梯度提升中的训练
梯度提升是一种用于回归和分类问题的ML方法,产生一组预测树,通常是分类和回归树(CARTs),共同构成一个模型。CART是二进制决策树的泛化;二进制树产生二进制输出,将每个输入查询分类为“是”或“否”,而CART为每个输入查询分配一个(实数)数值分数。分数的解释取决于应用。如果v是一个查询,则模型中的每个CART为v分配一个分数,模型在输入v上的最终预测是这些分数的总和。在某些应用中,可以使用softmax函数代替总和,以在预测输出类上产生概率分布。
极端梯度提升(XGBoost)是一个优化的、分布式的梯度提升框架,高效、便携且灵活。本节考虑在疾病预测(特别是多发性硬化症(MS)预测)中创建XGBoost模型时训练数据的机密性。
MS的早期诊断和治疗对于预防疾病退化进展和患者残疾至关重要。最近一篇论文提出了一种早期诊断方法,该方法将XGBoost应用于电子健康记录,并使用三种类型的特征:诊断性、流行病学和实验室特征。
另一种神经系统疾病(例如急性播散性脑脊髓炎(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的秘密计算解释器系列中找到。
Inpher研究人员最近的一篇论文提出了一个名为XORBoost的SMPC协议,用于XGBoost模型的隐私保护训练。它通过几个数量级改进了现有技术,并确保:
- 协议计算的CART在训练数据所有者之间秘密共享,并且仅透露给指定方,即数据分析师。
- 训练算法不仅保护输入数据,而且不泄露任何训练样本在CART中所走路径的信息。
- XORBoost支持数值和分类特征,从而提供足够的灵活性和通用性来支持上述模型。
XORBoost适用于合理大小的训练数据集——数十万个样本和数百个特征。然而,许多现实世界的应用需要训练超过一百万个样本。为了实现这种规模,可以使用联邦学习(FL),这是一种ML技术,用于在由多个分散边缘设备本地持有的数据样本上训练模型,而不需要设备交换样本。
FL与XORBoost的主要区别在于,FL不在秘密共享值上执行整个训练练习。相反,每个设备在其本地数据样本上训练一个本地模型,并将其本地模型发送到一个或多个服务器进行聚合。聚合协议通常使用简单操作,如求和、平均和 oblivious 比较,但不使用复杂优化。
如果服务器从所有设备接收明文本地模型更新,原则上,它可以使用模型反转攻击恢复本地训练数据样本。SMPC和其他隐私保护计算技术可以应用于聚合本地模型而不向服务器泄露它们。整体架构见下图。
隐私保护预测
PPXGBoost是XGBoost预测的隐私保护版本。更准确地说,它是一个支持加密查询加密XGBoost模型的系统。PPXGBoost设计用于从在合适的训练数据集上训练明文模型Ω开始的应用,然后为每个用户U创建个性化加密版本ΩU的模型,U将向其提交加密查询并从中接收加密结果。
PPXGBoost系统架构如上图所示。在客户端,有一个应用程序,用户用它加密查询和解密结果。在服务器端,有一个名为Proxy的模块在可信环境中运行,负责设置(即为每个授权用户创建个性化加密模型和一组加密密钥)和一个执行加密查询的ML模块。PPXGBoost使用两种特殊类型的加密方案(对称密钥、保序加密和公钥、加法同态加密)来加密模型和评估加密查询。每个用户在设置阶段被颁发两种方案的密钥。
注意,PPXGBoost是研究人员、临床医生和患者的自然选择,他们希望随着患者情况的变化反复进行疾病预测。潜在的相关变化包括暴露于新的环境因素、另一种情况的实验治疗或简单地衰老。个体患者可以创建疾病预测模型的个性化加密版本,并将其存储在他接受治疗的医疗中心拥有的服务器上。患者和医生然后可以使用它以隐私保护的方式监测患者患病的可能性变化。
结论
我们描述了使用PPML解决XGBoost训练和预测中的隐私挑战。在未来的文章中,我们将详细说明隐私保护联邦学习如何使研究人员能够在存储在数十万台设备上的数百万个样本上训练更复杂的ML模型。