摘要
研究背景
近年来,解释性机器学习逐渐成为一个热门的研究领域。解释性机器学习可以帮助我们理解机器学习模型是如何进行预测的,它可以提高模型的可信度和可解释性。Shapley值是一种解释机器学习模型预测结果的方法,它可以计算每个特征对预测结果的贡献程度,从而帮助我们理解模型的预测过程。Shapley值已经在许多领域得到了广泛的应用,比如金融、医疗、自然语言处理等。
研究动机
然而,随着机器学习模型的广泛应用,模型的隐私和安全问题也变得越来越重要。模型的隐私泄露可能会导致个人隐私信息的泄露,从而对个人造成不可挽回的损失。在Shapley值方法中,攻击者可以通过对Shapley值进行反推来推断出模型中使用的特征,从而了解模型的训练数据和训练过程。这种攻击方式可能会导致模型隐私泄露,从而损害模型的安全性和信任度。
论文贡献
为了解决这个问题,研究人员在本文中提出了一种新的隐私保护技术,称为Shapley值加噪技术。该技术可以在一定程度上保护Shapley值的隐私,同时保持解释性能力。研究人员还提出了一种新的攻击方式,称为特征推理攻击,可以通过对Shapley值进行反推来推断出模型中使用的特征。研究人员在多个数据集和模型上进行了实验验证,结果表明论文中提出的特征推理攻击是有效的,并且所提出的Shapley值加噪技术能够有效地防止这种攻击。本文的主要贡献在于提出了一种新的隐私保护技术,可以保护Shapley值的隐私,同时保持解释性能力。
前置知识
机器学习模型基本原理
机器学习是一种使用算法和统计模型来分析和解决复杂问题的方法。机器学习模型通过学习数据集中的模式和规律来进行预测和分类。机器学习模型通常包括一个训练阶段和一个预测阶段。在训练阶段,模型使用标记好的数据集来学习规律和模式;在预测阶段,模型使用学习到的规律和模式来对新的数据进行预测。
Shapley值及其应用
Shapley值是一种用于解释机器学习模型预测结果的方法。Shapley值可以计算每个特征对预测结果的贡献程度,从而帮助我们理解模型的预测过程。Shapley值方法基于合作博弈论中的Shapley值概念,将每个特征视为一个“玩家”,将预测结果视为“支付函数”,并使用Shapley值来分配支付函数中的支付给每个“玩家”。
Shapley Value的计算方式需要考虑所有特征子集的贡献,因此需要使用组合数学中的排列组合方法来进行计算。下面是Shapley Value的计算公式:
对于特征i,它在所有特征子集S中所对应的贡献为:
其中,F 是所有特征的集合, 是特征子集 S 的大小, 是使用特征子集 S 训练出的模型在测试集上的性能指标, 是加入特征 i 后训练出的模型在测试集上的性能指标。
上述公式表示了特征i在所有可能的特征子集中的平均边际贡献,即特征 i 对于所有特征子集的增益平均值。在实际计算中,需要对所有特征进行遍历来计算每个特征的Shapley值。
在实际应用中,Shapley值已经被广泛应用于解释性机器学习,比如特征重要性评估、模型诊断和模型优化等方面。Shapley值还可以用于探索特征之间的相互作用,从而帮助我们理解模型的决策过程和行为。虽然Shapley值已经在很多领域得到了广泛的应用,但其隐私和安全问题也逐渐变得越来越重要。
特征推理攻击
敌手出于恶意目的,将数据去匿名化或者锁定记录的拥有者。
在数据被发布之前,通过删除用户的个人可识别信息(也称为敏感特征)来实现匿名化,是用户保护隐私的一种常用方法。
基于解释报告的攻击框架
①攻击者向ML平台发送虚假查询,并接收带有解释的决策
②攻击者根据模型的输入和解释,设计特征推断算法
③攻击者可能获得目标客户的解释报告
④根据这些解释,攻击者可以通过攻击算法重构相应的私有特征
符号解释
最后是一些符号术语的解释,帮助我们理解论文:
是运行在ML平台上的黑盒模型;
是想要重构出的目标特征样本;
是所包含的特征数量;
是黑盒模型的输出;
输出的class数用字母来表示;
就是样本的Shapley值;
右上标表示第几个样本,右下标表示这个样本的第几个特征。
攻击原理
下面可以步入正题了,也就是论文提出的基于Shapley值的特征推理攻击算法。
具体分为两种类型,一种是使用辅助数据集的特征推理攻击,另一种是具有数据独立性的特征推理攻击。
使用辅助数据集的特征推理攻击
第一种攻击方式,使用辅助数据集的特征推理攻击。
下面就是这种攻击算法的伪代码,相对比较简单,所做的事情简单来说就是基于一个辅助数据集,学习一个具有经验风险最小化的回归模型,然后将解释向量𝒔映射到私有数据中。经过最小化,然后将解释向量𝒔映射到私有特征空间,并相应地获得估计值。
整个攻击的过程和机器学习如出一辙,同样是先训练一个回归模型,再使用这个回归模型进行预测。
整个算法的核心原理就是右边这张双射图:
图中灰色的函数是指特征值作为输入,Shapley值作为输出;橙色的函数则是反过来,Shapley值作为输入,特征值作为输出。
左侧的函数是ML平台所做的,右边的函数是攻击者所做的,通过重新训练一个相反的模型达成特征推理攻击的目的。
因为攻击者拥有了一个辅助数据集,所以这种方式会相对简单一些,成本也会低很多。
具有数据独立性的特征推理攻击
第二种攻击方式,具有数据独立性的特征推理攻击。
顾名思义,这种攻击需要的条件没有刚才讲到的使用辅助数据集的攻击那么严苛,但是攻击成功困难性也会提升,甚至能否攻击成功是一个运气事件。
假设对手没有辅助数据集,对手将不可能学习到刚才的攻击模型,因为目标私有特征的分布是未知的。从𝒔(也就是Shapley值)恢复𝒙(私有样本特征值)的方法是,攻击者生成一个随机数据集,将该数据集中的样本分别发送到ML平台并获得对应的解释。假设随机数据集的大小足够大,则会有你猜测的Shapley值属于目标数据集的Shapley值集合,这样就可以使用与之关联的Xrand作为依据估计𝒙。
想法很好,具体操作中会存在两个问题:
第一,为了提高估计的精度,对手需要随机从可能的特征空间中抽取大量样本,并将其发送到ML平台。对于按查询付费的服务来说,成本可能很高,并且会增加被服务提供者发现和阻止的风险。
第二,双射关系只在x和s之间成立,而不是在你选择的Xrand和Srand之间成立。
基于这些问题,如下图所示,研究人员继续研究了如何才能更准确地从随机数据集中找到符合条件的样本,使用的方法就是结合特征值的相关系数来进行分析,使得误差小于一定的阈值。
具体攻击算法如下图所示:
在算法的第9-12行中,对于目标特征𝑥𝑖,首先,我们计算它的Shapley值𝒔𝑖和随机样本中第i个特征的Shapley值之间的距离distance;
随后在第13行,根据Shapley值距离对随机特征进行排序;
之后的这个for循环也就是相应地选择Shapley值距离小于阈值𝜉的𝑥𝑖的候选估计;
最后在第19行,我们选择只重建那些候选估计值范围小于阈值𝜏的私有特征。
最终算法时间复杂度是O(nmlogm),其中𝑛表示目标特征的数量,𝑚表示随机数据集的大小,在后续实验中,表明随机数据集的大小𝑚=100足以从复杂模型(如神经网络)中重建30%以上的高精度特征。
实验探究
实验环境
实验平台
为了验证所提出的攻击在现实世界应用中的有效性,研究人员在三个领先的ML平台上进行了实验,分别是谷歌云AI平台、微软云AI平台和IBM可信AI平台。
实验数据集
实验使用了多种多样的数据集,涵盖了商业、银行、信用卡、医学等多个领域。
样本的数量在3W到10W不等,其特征的数量也多种多样,保证了实验具有普适性和说服力。
黑盒模型
实验中使用了四种类型的模型:
①神经网络(NN)
②随机森林(RF)
③梯度提升的决策树(GBDT)
④使用径向基函数(RBF)核的支持向量机(SVM)
衡量标准
我们用平均绝对误差(MAE,即损失)来衡量重建的输入𝒙ˆ与真实输入𝒙之间的偏差:
其中,𝑚是验证数据集中的样本数量,𝑛是特征的数量。
此外,我们用成功率(SR)来评估通过攻击2可以成功重建的特征的百分比:
其中,代表在中成功恢复的特征总数。
基线(baseline)
基线(baseline)被用为对比模型表现参考点的简单模型,帮助模型开发者量化模型在特定问题上的预期表现。
对于使用辅助数据集的特征推理攻击,由于攻击者拥有一个辅助数据集,该数据集与私人输入的基础分布相同,我们使用基于经验分布的随机猜测基线(称为RG-E),该基线通过随机抽样一个向量𝒙˜ ∼ 来估计𝒙值。
对于具有数据独立性的特征推理攻击,由于攻击者不知道私人输入的分布,我们使用两个随机猜测基线来估计𝒙的值:均匀分布𝑼(0, 1)(称为RG-U)和高斯分布𝑵(0.5, 0.252)(称为RG-N)。
探究不同查询数量的攻击性能
因为在之前提到的两种攻击中,对手都是以按查询付费的模式向ML平台发送查询。如果需要的查询数量很大,就会导致攻击成本过大,所以需要探究探究不同查询数量的攻击性能。
在我们的设想中,查询数量越多,攻击的成功率就越高,loss值就会越低。
如图所示,实际情况和我们设想的差不多loss值会随着查询数量的增长呈现减少趋势,除了个别数据集例如Credit数据集中出现山谷点的现象。
下图研究的是成功率随不同查询数量的变化:
左边是不同的数据集,分别对应不同黑盒模型,随查询数量从左到右不断增加的成功率变化。
我们可以发现,虽然理论上成功率会随查询数量增加不断提高,但是实际上这种趋势会在查询数量达到一定规模后放缓,例如像Credit数据集中的RF模型。
当然也有像Insurance数据集的GBDT模型,在查询数量很少时就进入了增速缓慢的状态。
探究不同MLaaS平台的攻击性能
我们控制查询数量均为1000,探究不同ML平台的攻击性能,发现在IBM平台和微软平台的攻击性能在不同模型和不同数据集上都是不相上下的,其实原因也很简单,这两个平台使用相同的回归方法计算Shapley值。
Google平台则不同,它使用的是抽样方法计算的Shapley值,所以在大多数数据集和模型上和另外两个平台的攻击性能表现不同。
而且Google平台的攻击成功率在大部分数据集和模型中都比IBM平台和微软平台都要高一些,如下图所示:
探究不同特征重要性的攻击性能
接下来是探究不同特征重要性的攻击性能。
如果一个特征更重要,其值的变化可以对模型输出造成更大的影响,从而对模型解释产生更大的值。
但相应的,它的Shapley值将包含更多的该特征的信息,能够以更大的概率重构。
在实验中,研究人员通过对比相关系数印证了这一点:
探究不同Shapley采样误差下的攻击性能
为了评估论文中所提出的攻击算法的鲁棒性,我们还需要探究不同Shapley采样误差下的攻击性能。
从上图可以看出,随着采样误差的降低,两种攻击所重构出的特征值精度略有提高,这比较容易理解,随机噪声减少意味着Shapley值包含的私有特征信息会增加,这有利于重构特征,然而这种改进幅度并不大,表明所提出的两种攻击即使在较大的采样误差下也具有鲁棒性和高效性。
相关工作
模型的可解释性
在复杂的黑盒模型中,缺乏跟踪数据流的理论技术促进了大量关于模型可解释性的研究,这些研究旨在解释这些模型如何产生预测。模型可解释性度量方法可分为两类:用于计算不同特征的整体重要性的全局可解释性,以及用于估计目标样本中特征重要性的局部可解释性。在本文中,我们主要研究局部方法,它可以进一步分为Shapley基于值的方法和启发式方法。启发式方法旨在线性化目标样本附近的模型决策边界,并使用不同特征的线性权重作为其重要值,例如LIME和基于梯度的方法。尽管启发式方法在计算上是有效的,但很少有理论分析来证明它们的鲁棒性和误差界限。另一方面,Shapley基于值的方法理论上可以为ML解释提供理想的属性,因此被领先的MLaaS平台用于解释表格数据。
机器学习的攻击算法
许多研究揭示了机器学习模型所面临的隐私风险,如隶属度推理、属性推理、模型提取和特征推理。隶属度推断的目的是确定特定样本是否在训练数据集中,属性推断的目的是恢复训练数据集的统计数据。由于这两种类型的攻击都是监督任务,因此需要一个辅助数据集来完成攻击模型的训练。模型提取的目的是根据黑盒模型的预测重建其参数。然而,很少有研究考虑模型可解释性方法的隐私风险。虽然一些最新的研究集中在基于启发式解释性方法产生的局部解释的隶属度推理或神经网络提取上,但它们的设置和任务与我们的完全不同。本文主要研究了基于Shapley值的特征推断攻击,该攻击对实际应用更具有实用性和影响力。据我们所知,这也是第一篇在Shapley价值观中考虑隐私风险的论文。
针对当前攻击的防御机制
由于当前攻击的效率依赖于ML模型的记忆特性,大多数防御机制都侧重于通过噪声注入防止模型记忆敏感数据。例如,使用较低粒度的模型输出可以减少其中包含的私有特征信息,从而降低隶属度推断和模型提取的准确性。神经网络中的dropout和集成学习等正则化方法可以减少模型记忆的训练数据集的信息。差异隐私是目前最流行的防御机制之一,因为它为保护私有模型输入提供了严格的理论保证。然而,这些防御不能应用于提议的攻击,因为我们专注于在预测阶段重构从未被模型看到并因此被模型记住的私人输入。通过减少明文输出和私有数据之间的互信息,提出了一种防御机制,这在精神上与我们的分析相似。但是,在我们的设置中不能直接使用中的方法。首先,在模型训练过程中通过互信息改变学习目标,而模型在Shapley值的计算中被训练和固定。其次,隐私保护中的互信息与主要任务的关系松散,因此可以最小化,而在我们的例子中,最小化Shapley值和特征之间的互信息会损害解释的效用。尽管如此,仍然提供了一些减少拟议攻击的见解。
结论
这篇论文重点研究了Shapley基于价值的模型解释方法所遭受的隐私风险,首先从信息理论的角度分析了私有模型输入与Shapley值之间的关系,并据此提出了两种不同设置下的特征推断攻击,在三个主要的MLaaS平台上进行的大量实验证明了所提出的攻击的有效性和鲁棒性,强调了在未来的研究中开发隐私保护模型可解释性方法的必要性。