Membership Inference Attacks Against Machine Learning Models论文阅读笔记

**

Membership Inference Attacks Against Machine Learning Models.2017

目标模型类型:分类模型,神经网络,监督学习
敌手知识:黑盒访问
攻击方式:影子模型
模型:Amazon ML、Google预测API

摘要

成员推理攻击:给定数据记录和黑盒访问,确定数据是否在模型训练集中。使用机器学习进行对抗性使用,训练自己的推理模型去辨别目标模型训练集或不在训练集输入数据的预测差异。
在商业“机器学习即服务”提供商(如谷歌和亚马逊)培训的分类模型上对攻击进行了评估。最后调查影响泄漏的因素,并评估缓解策略。
开发了一个新的影子模型技术,只需要最少的目标模型和训练集知识。最终,量化了成员推理攻击和过拟合的联系。

背景

模型训练算法旨在最小化模型训练集的预测错误,因此可能会出现过拟合现象,导致模型对于训练集数据比非训练集数据有更好的预测效果。
本文的攻击者获得了对目标模型的数据记录和黑盒查询访问权。如果正确判断了数据记录是否在训练数据集中,则攻击成功。攻击准确的标准度量是精度precision(推断为成员的记录中有多少部分确实是训练数据集的成员)和召回率recall(攻击者正确推断出训练数据集的哪些部分成员为成员)。

成员推理实现

方法

为了训练攻击模型,建立多个影子模型去模拟目标模型。不同与目标模型,我们知道每个影子模型的ground truth,如知道每个给定的数据记录是否在训练集中。因此,我们可以对影子模型的输入和相应输出(标记为“in”或“out”)进行监督训练,教会攻击模型怎样从非成员输出中识别影子模型的数据集成员输出。
端到端攻击过程
攻击主要的挑战是如何在没有任何目标模型内部参数,技能通过开放API有限制的访问目标模型时训练攻击模型。解决方法就是使用影子模型技术,在代理目标上训练攻击模型,代理目标已知训练集,因此可以进行监督训练。

影子模型

创建k个影子模型,每个影子模型在一个与目标模型相同分布的训练集上训练。假设影子模型的训练集与目标模型不相交,如果训练数据重叠,攻击表现会更好。
影子模型必须以目标模型相同的方式训练,机器学习即服务中,模型类型和结构都是未知的,但是攻击者可以使用相同的服务训练影子模型。
影子模型越多,攻击准确率越高。以影子模型在数据集中的输入和非数据集中的输入上操作,对攻击模型进行训练辨别行为的差异,影子模型越多,会提供更多的训练素材。

生成影子模型训练数据

文章给出了三种生成数据方法。

基于模型合成

攻击者没有真实的训练数据,也没有关于其分布的任何统计数据,可以用目标模型生成合成训练数据。
合成分为两步:
(1)hill-climbing搜索可能的数据记录空间寻找目标模型高置信度分类的输入。
(2)从这些记录中抽取合成数据样本。此过程合成记录后,攻击者可以重复该过程,直到阴影模型的训练数据集已满。
合成算法
生成类 c c c为攻击者想要合成的数据。第一阶段迭代,从随机初始化数据记录 x x x开始。假设攻击者只知道数据记录的语法格式,从每个特征的所有可能值中随机均匀地采样每个特征的值。在每次迭代中,提出一个新数据,仅当它增加了爬山目标(被目标模型分为 c c c类的概率)时接受它。
每次迭代改变上个接受的记录 x x x k k k个随机选择的特征提出新的候选记录,通过翻转二进制特征或为其他类型的特征重新采样来完成。将 k k k初始化为 k m a x k_{max} kmax,如果连续未通过值超过 r e j m a x rej_{max} rejmax后将其除以2。控制接受记录周围的搜索直径。设置 k k k的最小值为 k m i n k_{min} kmin,控制搜索速度。
当目标模型分至类 c c c的概率 y c y_c yc大于分到其他类的概率且大于阈值 c o n f m i n conf_{min} confmin时开始取样,这确保预测标签是 c c c,且目标模型对它的标签预测极度自信。为合成数据集选择这类概率为 y c ∗ y_c^* yc的记录。如果失败了,重复直到一个记录被选中。

基于统计的合成

攻击者可能有一些目标模型训练数据的统计信息。如攻击者可能事先知道不同特征的边缘分布。在实验中,我们通过从阴影模型自身的边缘分布中独立抽取每个特征的值来生成阴影模型的合成训练记录。由此产生的攻击模型非常有效。

有噪的真实数据

攻击者可以访问一些与目标模型训练数据相似的数据作为噪声版本,在本地数据集实验中通过翻转10%或20%随机选择特征值模拟这一方法。在最终的噪声数据集上训练影子模型。该场景模拟了目标和阴影模型的训练数据不是从完全相同的总体中采样,或者不是以非均匀方式采样的情况。

训练攻击模型

使用自己的训练数据集和相同大小的不相交测试集查询每个影子模型。攻击者有了记录数据集,影子模型的输出结果,和in/out的标签。攻击模型的目标是从记录和相应的输出推断标签。
训练攻击模型
将影子模型数据集中的数据在经过预测后的向量和标签以及“in”一同送入攻击模型训练集。影子模型预测集与训练集不相交,将预测集预测的向量和标签及“out”送入攻击模型训练集。最后,将 D a t t a c k t r a i n D_{attack}^{train} Dattacktrain分割成 c t a r g e t c_{target} ctarget分区,每个分区与不同的类标签相关联。对于每个标签 y y y,训练一个单独的模型,给定 y y y,该模型预测 x x x的输入或输出成员状态。
如果使用基于模型的合成,则攻击模型的所有原始训练数据都是从目标模型以高置信度提取的。然而,对于影子模型训练数据集中使用的记录和这些数据集中遗漏的测试记录来说,这都是正确的。因此,攻击模型并不是简单地学习识别高置信度分类的输入。它需要识别成员与非成员的高置信度输入。

评价

数据集

CIFAR,Purchase,Locations,Texas hospital stays,MNIST,UCI Adult。
实验中使用简易的Purchase数据集,每个记录有600个二进制特征,每个特征对应一个产品以及是否购买。将记录分为多个类,每个类代表一个购买风格。实验中使用5个不同的分类任务和不同数量的类{2,10,20,50,100}。分类任务预测给定600个特征向量用户的购买风格。用10000个随机选择的记录训练目标模型,剩余的为测试集和影子模型的训练集。
其余数据集使用与Purchase类似。

目标模型

在三类目标模型上实施成员推理攻击:两个基于云构造的的机器学习即服务平台,一个本地模型。攻击都是在完全黑盒情况下进行。
第一个基于云的机器学习服务是Google Prediction API,用户只可以调用API预测结果,不能对模型有任何更改。
另一个是Amazon ML,设置maximum number of passes和L2 regularization amount为 ( 10 , 1 e − 6 ) (10,1e-6) (10,1e6) ( 100 , 1 e − 4 ) (100,1e-4) (100,1e4)。前者决定了训练次数,控制了模型训练的收敛性;默认值是10。后者调整了模型参数的正则化程度,避免过拟合。
神经网络使用Torch7构建。
在CIFAR数据集上,训练一个标准卷积神经网络(CNN),它有两个卷积和最大池层,外加一个大小为128的完全连接层和一个SoftMax层。使用Tanh作为激活函数,设置学习率为 0.001 0.001 0.001,学习率衰减为 1 e − 07 1e− 07 1e07,最高训练次数 100 100 100次。
在Purchase数据集上,训练完全连接神经网络,有一个大小128的隐藏层和一个SoftMax层,使用Tanh作为激活函数,设置学习率为 0.001 0.001 0.001,学习率衰减为 1 e − 07 1e-07 1e07,最高训练次数为 200 200 200

实验设置

目标模型和影子模型的训练和测试数据集都从各自的数据集中随机选择,大小相同不相交。目标模型和影子模型数据集也不重叠,影子模型之间数据集可重叠。
CIFAR数据库的实验在本地运行。其他数据库实验用Google和Amazon服务训练,无法看到模型类型的选择和结构并不能控制训练过程。
Purchase数据集在所有平台上建立了目标模型,可以去比较不同模型的不足。不同平台的攻击模型使用相同的训练结构:一个带有ReLU(整流器线性单元)激活函数和SoftMax层的大小为64的隐藏层的全连接神经网络,或谷歌训练的黑盒模型。
CIFAR数据集影子模型数量为100。Purchase为20,Texas hospital-stay为10,本地数据集60,Adult为20,MNIST为50,增加影子模型数量会增加攻击精确度但也会增加花销。

攻击精确度

通过对目标的训练和测试数据集中随机重组的记录执行攻击来评估此攻击。在攻击评估中,用相同大小的集合(成员非成员数量相同),最大化推断的不确定性,因此基线精度为 0.5 0.5 0.5
用标准precision和recall度量评估攻击,按类别报告,不同类别的攻击准确度可能会有很大差异。这是由于属于每个类的训练数据的大小和组成不同,并且高度依赖于数据集。
有最大训练数据集的目标神经网络模型的测试集精确度是0.6,CIFAR-10和CIFAR-100分别为0.2。精确度很低,表明模型严重过拟合。
CIFAR模型攻击结果
CIFAR模型攻击结果
Purchase数据集在不同机器学习平台模型结构的训练和测试精确度
Purchase数据集在不同机器学习平台模型结构的训练和测试精确度,二者有很大差异,测试精度高表明通用性和预测能力更好。
Texas数据集在Google模型上的攻击精度,大多在0.6以上,有一半的类的精度在0.7以上。超过20个类的精度在0.85以上。对于本地数据集,我们评估了针对Google培训模型的攻击。目标模型的训练精度为1,测试精度为0.66。攻击精确度在0.6到0.8之间,召回率几乎为1。

影子训练数据的影响

基于本地训练集的攻击
在使用噪声数据集做影子训练集时,随着噪声增长,攻击精确度会降低,但仍旧比基线高。表明就算攻击者对目标模型训练集数据分布假设不是特别精确,攻击也是鲁棒的。
攻击者没有真实数据时,使用之前的方法合成数据,基于模型的合成数据小部分类精度非常低。一些类攻击精度低的原因是目标分类器不能自信的建模这些类中数据记录的分布,因为没有见过足够的实例。这些类在目标模型训练数据集的代表性不足,使得算法在搜索时很难合成这些类的代表。
对于大部分目标模型类,攻击是高精度的。表明成员推理共i可以在仅黑盒访问目标模型时训练,如果攻击者能够高效地生成被目标模型高置信度分类的输入,则无需知道任何目标模型训练数据的分布。

类的数量和每类训练数据的影响

目标模型的输出类的数量决定了模型泄漏的程度。类越多,攻击者就可以获得更多关于模型内部状态的信息。对于每个类相同数量的训练记录,攻击对CIFAR-100的性能优于对CIFAR-10的性能。例如,将训练数据集大小为2000时的CIFAR-10与训练数据集大小为20000时的CIFAR-100进行比较。在这两种情况下,每个类的平均数据记录数都是200,但CIFAR-100的攻击准确度要高(接近1)。类别数增加,模型需要从数据中提取更多不同的特征,以便能够高精度地对输入进行分类。也就是说,具有更多输出类的模型需要记住更多关于其训练数据的信息,因此它们会泄漏更多信息。
训练数据集给定的类中关联数据越多,对这个类攻击精确度越低。

过拟合的影响

在同一类型中,越过拟合的模型越危险。例如Amazon ( 100 , 1 e − 4 ) (100,1e−4) (100,1e4) 模型比 ( 10 , 1 e − 6 ) (10,1e−6) (10,1e6)更过拟合。然而,它们的泄漏量都小于Google模型,尽管Google没有Amazon模型过拟合严重,并且比两个Amazon模型具有更好的预测能力。**因此,过拟合不是唯一的导致模型遭受成员推理攻击的因素。**模型结构和类型也是一部分原因。
攻击精度与精度差的关系

为什么攻击有效

攻击关注模型预测正确标签的准确性和预测不确定性。预测不确定性指模型预测向量的归一化熵: − 1 l o g ( n ) Σ i p i l o g ( p i ) \frac{-1}{log(n)}Σ_ip_ilog(p_i) log(n)1Σipilog(pi) p i p_i pi是输入属于类 i i i的概率, n n n是类的数量。在攻击成功的情况下,成员输入与非成员输入的模型输出之间存在明显差异。攻击的成功直接关联于目标模型的通用性和训练数据的多样性。如果模型过拟合且对训练数据的输入通用性不足,或训练数据不具代表性,模型会泄露训练输入的信息。过拟合产生的模型缺乏预测性且会泄露训练数据的隐私信息。

缓解

过拟合是机器学习中典型的问题,因为限制了模型的预测力和通用能力。缓解过拟合不只是缓解隐私问题,也是使模型可用性更强。正则化技术例如dropout可以缓解过拟合并加强隐私保证。
如果用差分隐私训练模型,从包括特定记录的数据集中生成一个给定模型的概率与不包含这一特定记录数据集生成相同模型的概率接近。差分隐私可以抵御本文提出的攻击,因为本文攻击仅对模型的输出进行操作。不过差分隐私会显著降低模型预测准确度

缓解策略

将预测向量限制为前k类:当类的数量较大时,许多类在模型的预测向量中的概率可能非常小。模型仍然有用如果只输出最可能的k类的概率。为了实现这一点,我们在模型的最后一层添加了一个过滤器。k越小,模型泄漏的信息就越少。在极端情况下,模型只返回最可能类的标签,而不报告其概率。
粗化预测向量精度:将预测向量中的分类概率向下舍入为d个浮点数字。d越小,模型泄漏的信息就越少。
增加预测向量的熵:训练数据和其他数据在模型上的预测熵的差异是攻击的一个信息,可以修改或增加softmax层或提高正则化 t > 0 t>0 t>0。softmax层将为每个类计算的logits转换为概率。对于logits向量 z z z,temperature为 t t t的第i个softmax函数的输出为 e z i / t Σ j e z j / t \frac{e^{z_i/t}}{Σ_je^{z_j/t}} Σjezj/tezi/t
规则化运用:规则化技术用来克服机器学习中过拟合。用 L 2 − n o r m L2-norm L2norm标准规则化,通过向模型损失函数中增加 λ Σ i θ i 2 λΣ_iθ_i^2 λΣiθi2来penalizes大参数, θ i θ_i θi是模型的参数。使用不同的正则化因子λ值来实现该技术。λ越大,训练过程中的正则化效果越强。更多的规则化会导致测试精度降低。

评估缓解策略

在本地训练模型上部署所有的缓解策略,结果是,从预测向量中过滤出低概率类,并将该向量限制在前1或前3个最有可能的类并不能阻止攻击。**甚至将预测向量限制在一个标签也不能完全防御成员推理攻击。**如果预测向量除包含标签外还包含概率,则模型会泄漏更多可用于成员资格推断的信息。

总结

本文的攻击还是建立在模型对训练集和测试集输出差异大的基础上,也可以说目标模型以高置信度分类正确,那就认为是训练集数据。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐