ML-Leaks:Model and Data Independent Membership Inference Attacks and Defenses on ML Models

ML-Leaks:Model and Data Independent Membership Inference Attacks and Defenses on ML Models.2018论文阅读笔记

摘要

早期的成员推理攻击对攻击者有很多的假设,例如用多个影子模型,知道目标模型的结构且有相同分布的数据集。本文一步步放松这三个假设,表明这种攻击应用广泛并花销较低。使用了八个不同的数据集对成员推理攻击进行了全面的研究,显示了提议的跨域攻击的可行性。还提出了第一个有效的防御机制,以抵御此类更广泛的成员资格推理攻击,从而保持ML模型的高水平实用性。

实验

实验中,使用了8种数据集MNIST,CIFAR-10,CIFAR-100,Location,Purchase2,Adult,NEWS和FACE。数据集使用了K-means方式手动定义类,类的数量包括2、10、20、50和100。

攻击

使用一个影子模型

第一种攻击只用一个影子模型。实验显示与多个影子模型效果相似,显著降低了进行攻击的成本。
攻击可分为三个阶段:影子模型训练,攻击模型训练和成员推理。
影子模型训练:将数据集划分为两个不相交的部分,为影子模型训练集和输出集。用训练集训练唯一的影子模型。
攻击模型训练:使用训练好的影子模型 S S S对数据集所有数据点预测,获得后验概率。每个数据点取最大三个后验概率为特征向量。如果特征向量的对应数据点在 D S h a d o w T r a i n D_{Shadow}^{Train} DShadowTrain中,则将其标记为1(成员),否则将其标记为0(非成员)。然后使用所有生成的特征向量和标签来训练攻击模型 A A A
成员推理:攻击者访问用 X T a r g e t X_{Target} XTarget访问 M M M获得相应后验概率。然后选择3个最大后验概率,输入到 A r Ar Ar中获得预测结果。
步骤:每个数据集,先对半分裂为 D S h a s o w D_{Shasow} DShasow D T a r g e t D_{Target} DTarget。再将 D S h a s o w D_{Shasow} DShasow分裂。图像数据集使用CNN建立目标模型,含有两个卷积层和两个池化层有一个大小128隐藏层。其余数据集使用具有一个隐藏层(128个单元)的多层感知器(神经网络)作为目标模型。影子模型结构和目标模型相同。
攻击模型由另一个多层感知器(64单元的隐藏层和Softmax输出层)建立。
本文也采用精确度和召回率作为衡量标准,TP、TN、FP和FN分别表示真成员、真非成员、假成员和假非成员。
精确度和召回率
在不同数据集上做试验后,发现攻击效果比第一个论文的要好。。。
不过话说回来,本身的目标模型在训练集上的预测效果就比测试集好很多,有的都有78%的差异了。本文也提到了数据集类数量对攻击效果的影响,类数越多,攻击效果越好,和Shokri的观点相同。另外,本文还考察了使用不同个后验概率来做特征向量对攻击的影响,最后发现没有太大影响。然后发现其实影子模型数量也没有太大影响。(我记得Shokri说数量越多攻击效果越好-_-)
然后使用了MLaaS训练模型,发现会比本地训练模型效果好一丢丢。
开始放宽假设了:首先假设攻击者知道模型种类,但不知道细节。先用目标模型一半的训练参数训练模型,对半减少了批量大小、隐藏单元和正则化参数。效果依旧不错,接下来使用双倍参数训练影子模型,精确度会下降。
所以结论:攻击者不需要知道模型的超参数。
继续假设:攻击者不知道模型算法,首先使用任意分类器测试,结果不太好。只能使用多种分类算法做子影子模型,然后组合成一个影子模型来执行攻击。

没有同分布数据集

第二种攻击不使用相同分布的数据集,这个假设更加现实。对比之前的数据合成,本文提出了数据传输攻击,对手利用另一个数据集建立阴影模型,并生成相应的数据来攻击目标模型。实验显示数据传输攻击在更具普遍性、现实性和广泛适用性的同时,也实现了较强的隶属度推理。
这个攻击方法使用与目标模型不同分布的真实数据集训练影子模型,也就是数据传输攻击。影子模型仅用于总结机器学习模型训练集中数据点的成员状态。
模型设置与前一节相同,不过一些攻击效果反而变好了也是不太能理解,说明影子模型的真实用途可能也不是非要模拟目标模型。不过也是限于某些数据集之间。

没有影子模型并且没有任何知识还不用同分布数据集

第三种攻击不需要建立任何影子模型,使用非监督方式实施攻击。只依赖目标模型针对输入数据点 X T a r g e t X_{Target} XTarget的输出概率 M ( X T a r g e t ) M(X_{Target}) M(XTarget)
攻击者首先获取 M ( X T a r g e t ) M(X_{Target}) M(XTarget),然后选取最高的后验概率,比较是否大于某个阈值,如果大于,判断数据点在训练集中,否则不在。
不过总的来说前两种攻击方式确实要优于第三种,第三种太随机了。

防御

本文还提出两种防御策略。主要方向还是加强通用性,调查减少过拟合的技术。重点讨论面对第一种攻击方式时的防御效果,且进一步假设攻击者知道正在实施的防御技术,并按照相同的防御技术构建其阴影模型。

dropout

第一种是dropout,包含大量参数的全连接神经网络。在每次训练迭代时随机删除一定比例的edges(线)。本文将dropout部署在输入层和隐藏层中,设置丢弃率为0.5。
实现:几乎所有数据集的攻击效果都降低了,有些模型预测准确率会有所上升。
部署防御后攻击效果
部署防御后模型预测准确率
在对不同的丢弃率实验时,发现高丢弃率会显著降低攻击效果,但更高或更低的丢弃率也会影响模型性能,0.5是最合适的选择。
但是这种方式只能应用于神经网络。

模型堆叠

第二种是模型堆叠,以分层方式组织多个模型,防止过拟合。
如果目标模型有多个部分,每个部分以不同子训练集数据训练,会减少过拟合倾向。可以通过集成学习实现。集成学习是一种ML范式,它不使用单个ML模型,而是将多个ML模型组合起来构建最终模型。由不同的方法来组合这些ML模型,例如装袋或增压。为便于防御,我们将重点放在以分层方式堆叠模型上。
模型堆叠结构
目标模型有两层三个模型组成,第一层包括两个模型,第二层一个模型。先将数据点 X X X应用于两个子模型上得到两个概率 Y 1 Y^1 Y1 Y 2 Y^2 Y2,然后连接两个输出,即 Y 1 ∣ ∣ Y 2 Y^1 | | Y^2 Y1Y2,并将结果应用于预测最终输出 Y Y Y的第三个模型。为最大限度防止过拟合,三个模型由不相交的三个数据集训练。
实验:实验中用CNN训练第一个模型,随机森林训练第二个模型,逻辑回归训练第三个模型,建立目标模型和影子模型,测试在不同层中使用不同机器学习模型的效果。在12个不相交的数据集中选择数据,前六个数据集用来训练和测试目标模型,后留个用于影子模型。
这种防御方法在所有的数据集上都降低了攻击效果,对比dropout,模型堆叠在某些数据集上更有效。多数数据集中,模型堆叠更多的增加了预测准确率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值