一、摘要
深度神经网络在记忆训练数据信息时容易受到各种推理攻击。我们设计了白盒推理攻击来对深度学习模型进行全面的隐私分析。我们通过完全训练模型的参数和训练过程中模型的参数更新来测量隐私泄露。针对被动推理攻击者和主动推理攻击者,分别设计了集中学习和联合学习的推理算法,并假设了不同的对手先验知识。
我们评估针对深度学习算法的新白盒成员推理攻击,以追踪它们的训练数据记录。我们表明,将已知的黑盒攻击直接扩展到白盒设置(通过分析激活函数的输出)是无效的。因此,我们利用用于训练深度神经网络的随机梯度下降算法的隐私漏洞,设计了适应白盒设置的新算法。我们探讨了深度学习模型可能泄露训练数据信息的原因。然后,通过分析针对CIFAR数据集的最先进的预先训练和公开可用的模型,即使是非常一般化的模型也很容易受到白盒成员推理攻击。我们还展示了在联合学习环境中,敌对的参与者如何成功地对其他参与者执行主动成员推理攻击,即使全局模型达到了很高的预测精度。
二、介绍
从图像和语音识别到生成逼真的数据,深度神经网络在各种学习任务中表现出前所未有的泛化能力。这一成功催生了许多应用程序和服务,这些应用程序和服务在大维度(可能是敏感的)用户数据上使用深度学习算法,包括用户演讲、图像、医疗记录、财务数据、社会关系和位置数据点。
在这篇论文中,我们有兴趣回答以下关键问题:深度学习算法对那些数据被用于训练深度神经网络的个人的隐私风险是什么?换句话说,深度学习算法对其各自训练数据样本的信息泄露程度如何?
我们将模型中训练数据的隐私敏感泄漏定义为对手可以从模型中了解到的信息,而对手却无法从相同分布的其他数据中推断出这些信息。这区分了我们可以从模型中获得的关于数据总体信息和模型泄露中关于其训练集中特定数据样本的信息。前者显示了效用增加,后者反映了隐私损失。我们设计推理攻击来量化这种隐私泄露。
机器学习算法的推理攻击分为两个基本的和相关的类别:跟踪(又称成员推理)攻击和重构攻击。在重构攻击中,攻击者的目标是推断训练集中记录的属性。然而,在跟踪攻击中,攻击者的目标是推断特定的个人数据记录是否包含在训练数据集中。这是一个决策问题,其准确性直接反映了训练数据模型的泄漏。因此,我们选择这种攻击作为我们深度学习模型隐私分析的基础。
最近的工作研究了黑盒环境下针对机器学习模型的成员推理攻击,攻击者只能观察模型预测。这些工作的结果表明,训练数据的分布以及模型的可泛化性促进了成员泄漏。特别地,他们表明过拟合模型比广义模型更容易受到成员推理攻击。然而,这种黑盒攻击可能对泛化良好(有大量参数)的深度神经网络无效。此外,在各种真实世界的设置中,深度学习算法的参数对对手是可见的,例如,在联合学习设置中,多个数据持有者通过聚合器彼此共享参数更新来协作培训全局模型。
我们的贡献
在本文中,我们提供了一个使用白盒成员推断攻击进行深度神经网络隐私分析的综合框架。我们不仅仅针对完全训练的模型进行成员推断攻击。我们把深度学习用于训练和调整或更新模型,对于一个或多个协作数据持有者,当攻击者仅被动地观察模型更新或主动影响目标模型以谋取更多的信息,以及不同类型的先验知识的攻击者。尽管对手的知识、观察力和行动存在差异,但他们的目标是相同的:成员攻击。
将现有的黑盒成员推理攻击扩展到白盒环境,将对模型的所有激活函数使用相同的攻击。我们的经验评估表明,这不会比黑盒攻击者有更好的推理准确性。这是因为与输出层相比,模型中的激活函数的泛化速度要快得多。经过训练的模型的早期层提取非常简单的特征,这些特征与训练数据无关。最后一层的激活函数提取了复杂抽象的特征,因此应该包含更多关于模型训练集的信息。但是,此信息或多或少与有关训练数据的输出泄漏有相同。
我们设计了白盒推理攻击,利用随机梯度下降(sgd)算法的隐私漏洞。训练集中的每个数据点通过SGD算法影响许多模型参数,使其对模型训练损失的影响最小化。目标数据记录上的损耗相对于给定参数的局部梯度,代表:为了使模型适合于数据记录,需要更改参数的大小和方向。为了最小化模型的期望损失,SGD算法不断更新模型参数,使整个训练数据集的损失梯度趋近于零。因此,每个训练数据样本将在模型参数上的损失函数梯度上留下可分辨的足迹。
我们将目标数据点上所有参数的模型梯度向量用作攻击的主要特征。我们设计的深度学习攻击模型的体系结构可分别处理从目标模型不同层提取的(渐变)特征,并将其信息组合起来以计算目标数据点的隶属概率。针对具有不同类型背景知识的攻击者,我们训练了攻击模型。假设攻击者知道训练集的子集,我们可以以监督的方式训练攻击模型。然而,对于缺乏这种知识的对手,我们以一种无监督的方式训练攻击模型。我们训练自动编码器以计算嵌入任何数据的成员资格信息。然后,我们在目标数据集上使用聚类算法,根据成员嵌入将成员与非成员分离开来。
为了显示我们的白盒推理攻击的有效性,我们评估了CIFAR100数据集上经过预先训练且可公开获得的最新模型的隐私。
我们对训练这些模型没有影响。我们的结果表明,DenseNet模型是CIFAR100的最佳模型,其82%的测试精度不易受到黑箱攻击(54.5%的推理攻击精度,其中50%是随机猜测的基线)。然而,我们的白盒成员推理攻击获得了相当高的准确率74.3%。这表明,即使是广义的深度模型也可能会泄露大量关于其训练数据的信息,并且容易受到白盒成员推断攻击。
在联邦学习中,我们展示了一个奇怪的参数服务器甚至一个参与者可以对其他参与者执行精确得惊人的成员资格推断攻击。对于CIFAR100上的DenseNet模型,本地参与者即使只通过参数服务器观察聚合更新,也可以获得72.2%的成员推理精度。同样,好奇的中央参数服务器可以接收到所有参与者的个别参数更新,因此可以达到79.2%的推理精度。在联合学习中,在相同的基础训练集上,模型在不同时间点上的重复参数更新是提高推理攻击准确性的关键因素。
由于对抗参与者的贡献(如参数更新)可能影响其他参与方的参数,因此在联合学习环境中,敌对方可以通过主动推送SGD来泄露更多关于参与者数据的信息。我们设计了一个主动攻击,在上传和更新全局参数之前,对一组目标数据点执行梯度上升。这会放大其他训练集中数据点的存在,就像sgd通过突然减少目标数据点(如果它们是成员)上的梯度而做出的反应一样。在Densenet模型中,这将导致对抗性参与者的推断准确率达到76.7%,而中央服务器主动推理攻击的准确率达到82.1%。通过在参数更新期间隔离参与者,中心攻击者可以将其准确率提高到87.3%。
推理攻击
通过对训练数据的深度学习模型,利用成员推理攻击来测量信息泄漏。数据用于训练模型的场景有很多种,攻击者观察深度学习过程的方式也有很多种。在表I中,我们介绍了对攻击进行分类的主要标准。这包括攻击观察、对对手知识的假设、目标训练算法和基于对手行为的攻击模式。在本节中,我们将讨论不同的攻击场景,以及利用深度学习算法的技术。我们也描述了我们的攻击模型的架构,以及对手如何计算成员概率。
A.攻击观察:黑盒vs白盒推理
对手对深度学习算法的观察构成了推理攻击的输入。
黑盒
对手的观察仅限于模型在任意输入下的输出。对于任意数据点x,攻击者只能得到f(x;W)。攻击者无法访问W模型的参数和计算的中间步骤。这就是机器学习作为服务平台的环境。针对黑盒模型的成员推理攻击已经被设计出来,利用模型对其训练集的预测与不可见数据之间的统计差异。
白盒
在这个设置中,攻击者获得模型f(x;W),包括预测所需的参数。因此,对于任何输入x,攻击者可以得到模型的输出和所有中间计算。也就是说,在给定的模型下,对手可以计算模型W和数据点x上的任意函数。最直接的函数是隐藏层的输出,即输入x上的hi(x)。【The most straightforward functions are the outputs of the hidden layers, hi(x) on the input x.】作为一个简单的扩展,攻击者可以将黑盒成员推理攻击(仅限于模型的输出)扩展到模型的所有激活函数的输出。【 The attacker can extend blackbox membership inference attacks (which are limited to the model’s output) to the outputs of all activation functions of the model.】但是,这并不一定包含所有对成员关系推断有用的信息。值得注意的是,如果模型正则化良好,模型输出和激活函数可以泛化。因此,在分布上,一个模型的训练激活函数与不可见数据之间可能没有太大的区别。这可以极大地限制推理攻击的能力(正如我们在评估中所展示的那样)。
我们的建议是利用用于训练深度学习模型的算法:随机梯度下降(SGD)算法。设L(f(x;W),y)为分类模型f的损失函数。在训练过程中,SGD算法最小化训练集D上损失函数的经验期望:
SGD算法通过反复更新参数W来解决这个最小化问题,以减少随机选择的d子集的损失。因此,对于训练数据集中的任何数据记录,在每轮训练后,数据记录上的损耗∂L/∂W的梯度都将推向零。【the gradient of the loss ∂L/∂W over the data record is pushed towards zero】。这正是我们可以用来提取有关模型训练数据的信息的工具。
对于一个目标数据记录(x,y),敌方可以计算模型L(f(x;W),y)的损失,可以用一个简单的反向传播算法计算所有参数∂L/∂W的损失梯度。由于深度神经网络中使用的参数数量庞大(数百万个参数),具有如此大维数的向量无法正确地泛化训练数据(在许多情况下,训练数据的大小要小一个数量级)。因此,该模型在训练数据成员上与非成员上的梯度分布是可区分的。这可以帮助敌手进行准确的成员推理攻击,即使分类模型(相对于它的预测)已被很好地概括【wellgeneralized】。
推理模型
给定目标数据(x,y),攻击的目标是确定其在目标模型f的训练集D中的隶属度。攻击者在目标输入x上运行目标模型f,并在正向传递中计算所有隐藏层hi(x)、模型的输出f(x)和损失函数L(f(x),y;W)。攻击者还计算了每层∂L/∂W的参数在向后传递时的损失梯度。这些计算,除了真标签y的one-hot编码外,还构造了推理攻击的输入特征。攻击模型由卷积神经网络(cnn)和全连接网络(fcn)两部分组成。为了攻击联邦学习和微调,攻击者会观察每个攻击特性t次,并在将它们传递给相应的攻击组件之前将它们堆叠起来。例如,损失特征组成为L={L{1}、L{2}、···、l{t} }。CNN和FCN组件的输出被附加在一起,这个向量被传递给一个完全连接的编码器。在监督攻击环境中,该嵌入被训练成Pr{(x,y)∈D}。在无监督设置下,对译码器进行训练,从攻击输出中重构出攻击输入的重要特征。在无人监督的环境中,译码器是训练有素的重构攻击的重要特性输入(如模型的输出不确定度h (f (x))及其梯度范数)的攻击输出。这类似于深度自动编码器。所有未指定的攻击层都已完全连接。攻击架构的详细信息见附录A中的表XIV。
我们在图1中演示了成员推理攻击。梯度(以及激活)计算对于成员推理攻击的重要性随深度神经网络的层次而变化。与来自相同底层分布的非成员数据记录相比,第一层包含的关于训练集中特定数据点的信息更少。我们可以提供给攻击者每个层的梯度和激活作为单独的输入,因为攻击者可能需要为每个层设计一个特定的攻击。这使得推理攻击能够将推理任务拆分到模型的不同层上,然后将它们组合起来以确定成员关系。攻击模型体系结构的这种工程增强了推理攻击的能力,因为它降低了攻击模型的容量,有助于在较少背景数据的情况下找到最优的攻击算法。
攻击模型的不同输入是:梯度∂L/∂W1,∂L/∂W2,···、不同层的激活向量集合h1(x),h2(x),···、模型输出f(x)、标签y的一位有效编码【the one-hot encoding】、以及目标数据L(f(x;W),y)上的模型损失。每一个都被单独输入到攻击模型中,并使用独立的组成部分分别进行分析。
推理攻击组成部分
攻击模型由特征提取组件和编码器组件组成。为了从每一层的输出中提取特征,再加上真标签的一位有效编码和损失【the one-hot encoding of the true label and the loss】,我们使用了具有一个隐含层的全连接网络(FCN)子模块。我们使用卷积神经网络(CNN)的子模块来实现梯度。当梯度在全连通层上计算时(在目标模型中),我们将卷积核的大小设置为全连通层的输入大小,以捕获每个激活函数中梯度的相关性。我们将每个子模块组件的输出重新组合成一个平面向量,然后将所有组件的输出连接起来。我们使用具有多个隐藏层的完全连接的编码器组件来组合所有攻击特征提取组件的输出。编码器的输出是一个单独的分数,这是攻击的输出。这个分数(在有监督的训练攻击中)预测了输入数据的成员概率。
B.推理目标:独立学习【Stand-alone】vs联邦学习
深度学习有两种主要的训练算法,取决于训练数据是在一个地方全部可用(如独立的集中训练),还是分布在互不信任的多方之间(如联合学习)。在这两种情况下,攻击者可能是获得最终训练模型的实体。除了这种攻击环境之外,攻击者可能还会观察到模型经过微调后的更新版本,例如,这在深度学习中非常常见。此外,在联合学习的情况下,攻击者可以是参与训练的实体。表I描述了微调和联合学习的环境。
独立学习的微调【 fine-tuning】
模型f在数据集d上进行训练,在后期使用新的数据集dΔ进行微调后更新为fΔ。如果攻击者观察到最终结果,我们要测量最终模型fΔ关于整个训练集D∪DΔ的信息泄漏。但是,考虑到模型有两个版本(在微调之前和之后),我们还希望测量可以从两个模型快照【snapshots】中了解到的关于训练数据的额外信息。攻击者可能只对新数据集dΔ的恢复信息感兴趣。这在许多情况下非常有关,在这些情况下,原始模型是使用一些未标记的(可能是公共)数据进行训练的,然后使用敏感的私有标记数据对其进行了微调。针对fine-tunned模型的推理攻击模型是我们攻击联邦学习的成员推理模型的一个特例。在这两种情况下,攻击者观察目标模型的多个版本。
联邦学习
在这种情况下,拥有不同训练集Di的N个参与者,就一个深层学习任务和模型架构达成一致,以训练一个全局模型。中央服务器保存全局模型参数W的最新版本。每个参与者都有一个局部模型,因此有一组局部参数Wi。在每个训练阶段,每个参与者下载全局参数,使用SGD算法对其本地训练数据进行本地更新,并将其上传回服务器。参数服务器使用所有参与者上传的参数计算每个参数的平均值。这种协作训练一直持续到全局模型汇合为止。
攻击者在联合学习中的位置有两种可能:攻击者可以是中央参数服务器,也可以是参与者之一。一个好奇的参数服务器【A curious parameter server】可以在时间内接收每个参与者的更新,并使用它们来推断每个参与者的训练集的信息。恶意的参数服务器还可以控制全局模型上每个参与者的视图【 the view of 】,并可以主动地提取关于参与者的训练集的更多信息(正如我们在主动攻击下讨论的那样)。或者,对手可以是参与者之一。对抗性参与者只能在一段时间内观察全局参数
,并手工更新自己的对抗性参数
,以获得关于所有其他参与者训练数据的联合的更多信息。
在这两种情况中,对手会随着时间观察目标模型的多个版本。对手可以尝试对每一个模型运行一个独立的成员推理攻击,然后合并它们的结果。但是,随着时间的推移,这可能无法捕获参数值之间的依赖关系,从而泄漏有关训练数据的信息。相反,在我们的设计中,我们使用了单个推理模型,其中每个攻击组件(如第i层梯度的组件)在观察到的模型上同时处理其所有相应的输入。如图1所示。例如,分析损失值为L的攻击组件,如果对手在一段时间内观察目标模型的T个版本,则输入维度可以是1×T。攻击组件的输出也比攻击独立模型的情况大t倍。推理模型立即处理所有攻击组件的相关输出。【These correlated outputs, of all attack components, are processed all at once by the inference model.】
C.攻击方式:被动推理攻击vs主动推理攻击
推理攻击大多是被动的,对手在不改变学习过程的情况下进行观察。尤其是在训练结束后的攻击模型,例如独立的环境。【stand-alone setting】。
主动攻击
参与训练过程的敌手可以主动地影响目标模型,以提取更多关于其训练集的信息。在对联合学习进行推理攻击时尤其如此。在此设置中,中心参数服务器或好奇的参与者可以为后续推理攻击【follow-up inference attack】进行对抗性参数更新【adversarial parameter updates】。对于被动攻击和主动攻击,推理模型体系结构是相同的。
主动攻击者可以利用SGD算法进行主动攻击。我们设计攻击的思路是,SGD算法有力地减小了训练数据损失的梯度,希望这也可以推广到测试数据上。更改的数量取决于数据点在损失中的贡献【the contribution of a data point in the loss.】。因此,当一个训练数据点导致较大的损失时,sgd算法会影响一些参数来适应,从而减少该点的损失。如果模型在训练过程中没有看到数据点,则在整个训练过程中,此点的梯度变化是逐渐变化的。这就是我们在主动成员推断攻击中利用的。
设x为一条数据记录,对手会以此为目标来确定其成员。假设对手是参与者之一。攻击者在x上运行梯度上升,并在增加x损失的方向上更新其本地模型参数。
仅通过在参数中添加参数的梯度来实现,其中γ是对抗性更新率。
然后,对手将反向计算的参数上传到中央服务器,中央服务器将把它们与其他参与者的参数更新聚合起来。对手可以同时对一批目标数据点进行攻击。
设x是在一个参与者的训练集中的目标记录,其本地SGD算法会突然降低对x的损失梯度,这可以通过推理模型检测到,并用于区分成员与非成员。在联合学习中发生的重复主动攻击会导致高可信度的推理攻击。
D.先验知识:有监督推理vs无监督推理
为了构建推理攻击模型,对手需要找到模型在数据点上的行为与其在训练集中的隶属度之间的有意义映射。学习这种关系最直接的方法是通过一些已知的训练数据成员,以及来自同一分布的一些不在训练数据集中的数据点。
如表1所示。对手有一个与目标数据集D重叠的数据集D'。给定该数据集,他可以以监督的方式训练攻击模型,并使用该数据集攻击其余的训练数据集。
设h为推理攻击模型。在有监督的环境中,我们将攻击者的(均方根)损失最小化,以预测其训练集D'中数据点的成员身份:
如果对手没有来自目标训练集的已知样本,则有两种可能训练推理攻击模型:影子模型【shadow models】上的监督训练和目标模型上的无监督训练。影子模型是与目标模型具有相同架构的模型。影子模型的训练数据记录与目标训练数据分布相同,但与目标训练集没有已知的重叠。攻击者在影子模型上训练攻击模型。由于阴影模型在训练数据上的行为与目标模型在训练数据上的行为或多或少相似,因此在影子模型上训练的攻击模型是有效的。
(影子)监督训练的攻击输出为隶属概率:
推理模型的无监督训练
我们提出了一种影子训练的替代方法,即攻击模型对目标模型的无监督训练。此攻击的假设是攻击者可以访问与目标训练集D部分重叠的数据集D',但是,对手不知道D'∩D中有哪些数据点。
我们的目标是为每个数据点找到一个分数,以表示其在空间中的嵌入【find a score for each data point that represents its embedding in a space,】有助于我们轻松地将成员与非成员分离(使用聚类算法)。攻击的输出应该计算此类表示。我们使用编码器-解码器架构来实现这一点。这与无监督深度学习的自动编码器非常相似。如图1所示,攻击的输出被输入到解码器中。解码器是一个具有一个隐藏层的全连接网络。
解码器的目标是重建攻击输入的一些关键特征,这些特征对隶属度推断非常重要。这包括损失值L、目标模型是否预测了正确的标记、模型对正确标记
的确信度、模型
的预测不确定度(熵)和梯度的范数
【 the norm of the gradients】。这些特征是区分成员和非成员的有力信号。编码器-解码器结构最大化了攻击输出包含的关于这些特征的信息。因此,它为每个数据点生成一个成员嵌入。【generates a membership embedding for each data point】。在训练攻击模型之后,解码器在成员推断攻击中不起作用。
在无监督环境下的攻击是一种批量攻击,对手攻击大量的数据记录(与背景知识分离)。我们将使用编码器为每个目标数据记录,并计算嵌入值(编码器模型的输出)。接下来,我们使用聚类算法(例如,我们使用谱聚类方法),将目标模型的每个输入分为两个集群。【 a clustering algorithm (we use the spectral clustering method) to cluster each input of the target model in two clusters.】注意,聚类算法的结果是一个阈值【threshold】,因为攻击输出是单个数字。我们预测梯度范数较大的集群为非成员。
三、实验设置
我们使用Pytorch实现了我们的攻击。我们在配备了4个Titan X GPU和12gb内存的一台电脑上训练所有的模型。【https://pytorch.org】
A.数据集
我们在实验中使用了三个数据集:一个标准的图像识别基准数据集CIFAR100,以及两个Purchase100和Texas100数据集。
CIFAR100
这是一个流行的基准数据集,用于评估图像识别算法[9]。它包含60000个颜色(RGB)图像,每个32×32像素。根据图像中的对象将图像分为100个类。
Purchase100[6]
Purchase100数据集包含数千名在线客户的购物记录,这些记录是在Kaggle的“获取有价值的购物者”挑战中提取的。这项挑战的目的是找出能吸引新顾客的商品。我们使用这个数据集的处理后和简化的版本。数据集中的每个记录都是单个用户的购物历史。数据集包含600种不同的产品,每个用户都有一个二进制记录,该记录表明她是否购买了每种产品(总共197324条数据记录)。根据购买的相似性,这些记录被分为100个类,我们的目标是确定每个用户购买的类别。
【https://www.kaggle.com/c/acquire-valued-shoppers-challenge/data】
Texas100[6]
该数据集包括德克萨斯州卫生服务部3号发布的医院出院数据记录。这些记录包含有关患者(性别、年龄和种族)、外部伤害原因(如药物滥用)、诊断和患者程序的一般信息。与Purchase100类似,我们得到了处理后的数据集,其中包含67330条记录和6170个二进制特征。
【https://www.dshs.texas.gov/thcic/hospitals/Inpatientpudf.shtm】
B.目标模型
我们研究了前面提到的三个数据集Texas100、Purchase100和CIFAR100的攻击模型。
对于CIFAR100数据集,我们使用了Alexnet[10]、Resnet[11]、DenseNet[12]模型。我们使用SGD优化器[13]对CIFAR100模型进行训练,学习率分别为0.01、0.001、0.0001,对应地,在0-50、50-100、100-300阶段进行训练。我们使用权重为0.0005的l2正则化。
对于Texas100和Purchase100数据集,我们使用全连接的模型。对于Purchase100,我们使用层大小为600、1024、512、256、128、100(其中100是输出层)的模型;对于Texas100,我们使用层大小为1024、512、256、128、100(其中100是输出层)。我们使用学习率为0.001的Adam[13]优化器来学习这些模型。在我们所有的实验中,我们为每个模型训练了100个阶段。我们选择了100个阶段中测试精度最高的模型。
C.预先训练模型
为了证明我们的攻击不局限于我们的训练算法,我们使用了公共可用的预训练CIFAR100模型。所有这些模型都经过调整,以使用不同的正则化技术获得最佳的测试精度。
【我们使用ResNet、DenseNet和Alexnet预先培训的模型,这些模型在https://github.com/bearpaw/pytorch-classification中提供】
D.联邦学习
我们为所有的联邦学习实验进行了训练。具体来说,我们对联邦场景使用了平均聚合方法[8]。每个训练方在每个训练阶段结束后将参数更新发送到中心模型,中心服务器将来自各方的模型更新进行平均,并将更新后的模型发送给各方。在我们的实验中,我们对所有参与方使用相同的训练数据集大小,并且每个参与方的训练数据都是从我们现有的数据集中均匀随机选择的。
E.攻击模型
附录A中的表XIV给出了我们的攻击模型的体系结构。可以看出,我们使用了ReLU激活函数,并使用均值为0和标准偏差为0.01的正态分布来初始化权重。所有层的偏移值都初始化为0。所有实验的批次大小为64。为了训练攻击模型,我们使用学习率为0.0001的Adam优化器。我们训练100个阶段的攻击模型,并在所有100个阶段中选择测试精度最高的模型。
表II和XI显示了用于训练目标和攻击模型的数据集大小。在训练攻击模型的监督环境中,我们假设攻击者可以访问训练集的一小部分和一些非成员样本。在这种情况下,为了平衡训练,我们从攻击者的背景知识中选择每个批处理的一半来包含成员实例,另一半是非成员实例。以这种方式创建批将防止攻击模型偏向成员或非成员实例。
F.Evaluation Metrics
攻击的准确性
攻击者的输出有两个类“成员”和“非成员”。攻击准确度是针对未知数据点的正确成员预测(预测成员为成员,非成员为非成员)的分数。我们用来评估攻击的成员和非成员样本集的大小是相同的。
True/False positive
为了更详细地评估攻击性能,我们还测量了攻击者的真positive率和假positive率。positive与攻击者输出“成员”相关。
预测的不确定性
对于分类模型,我们使用给定输入的预测向量的归一化熵来计算其预测不确定性。【 the normalized entropy of its prediction vector for a given input.】
,其中k是所有类的个数,pi是第i类的预测概率。
我们用softmax函数作为pi来计算概率。
四、实验
我们首先给出独立学习的结果,然后给出联合学习的结果。
A.独立环境:攻击完全训练的模型
我们调查攻击者在白盒环境中访问完全训练的目标模型的情况。因此,攻击者可以利用目标模型隐藏层的输出和梯度来执行攻击。我们使用了预先训练过的CIFAR100模型,并使用表二所示的数据集大小训练了其他目标模型和攻击模型。
不同层次输出的影响:
为了理解和演示不同层输出的影响,我们使用各个层的输出分别执行攻击。我们使用预先训练的Alexnet模型作为目标模型,模型由五个卷积层和一个完全连接层组成。表III显示了使用最后三层中每层输出的攻击准确性。如表所示,使用最后一层攻击精度最大,即在层输出中,最后一层(模型输出)会泄漏有关训练数据的成员信息最多,其原因有两方面。进入后面几层,参数的容量会增加,从而导致目标模型存储关于训练数据集的不必要信息,从而泄漏更多信息。此外,第一层从输入中提取简单的特征,因此比最后一层概括/泛化【generalize】得更好,后者负责寻找抽象特征与类之间的关系这一复杂任务。通过组合多层输出,我们没有获得明显的精度提高;这是因为来自最后一层的泄漏(相当于黑盒推断攻击)已经包含从先前层的输出泄漏的成员信息。
梯度的影响:
在第II-A节中,我们讨论了为什么梯度会泄露关于训练数据集的信息。在表VIII中,我们比较了当攻击者使用不同数据集和模型的梯度和层输出时,成员攻击的准确性。总的来说,与层输出相比,梯度泄漏了更多关于训练集的成员信息。
CIFAR100-ResNet和CIFAR100-DenseNet模型都是为同一图像识别任务而设计的,它们都是在同一数据集上训练的,并且都具有相似的泛化误差。结果表明,这两个模型都存在不同程度的成员泄漏,这说明在白盒设置下,泛化误差并不是衡量白盒环境下的隐私泄露的正确指标。该模型容量大,能够很好地学习复杂的任务,并具有很好的泛化能力,同时也能存储更多的训练数据信息。预训练的Densenet模型参数总数为25.62M,而ResNet参数仅为1.7M。
我们研究了不同层次的梯度对攻击精度的影响。如表IV,后几层的梯度泄漏了更多的成员信息。这与我们对层输出的发现类似:最后一层概括了模型所有层中最小的一层,是对训练集依赖性最强的一层。通过结合所有层的梯度,只能略微提高攻击精度。
最后,表V显示了当我们将输出层和不同层的梯度相结合时的攻击精度。最后一层的梯度泄露了最多的成员信息。
训练规模的影响:
表VI显示了不同大小攻击者训练数据的攻击精度。在所有这些场景中,模型都在同一组测试的实例上进行测试的。
增加攻击者训练数据集的大小可以提高成员推断攻击的准确性。
梯度范数【norm】的影响:
在这个实验中,我们证明了模型梯度的范数与成员推断的准确性高度相关,因为它在成员和非成员实例中的表现不同。图3为成员实例和非成员实例(Purchase100数据集)绘制了连续训练阶段最后一层的梯度规范。可见,在训练过程中,成员实例的梯度范数随训练时间的延长而减小,而非成员实例的梯度范数并不是这样。【the gradient norms of the member instances decrease over training epochs, which is not the case for non-member instances.】
图4显示了CIFAR100上三种不同的预训练体系结构上的成员和非成员在最后一层的梯度规范的分布。
通过与表VIII的比较,我们发现当梯度范数的分布对于成员和非成员实例更加明显时【the distribution of the gradient norm is more distinct for member and non-member instances.】,模型会泄漏更多的成员信息。
例如,我们可以看到ResNet和DenseNet都有相似的泛化误差,但是DenseNet的成员和非成员的梯度范数分布(图4b)比resnet(图4c)更容易区分。并且我们发现DenseNet的攻击精度远高于ResNet。
而且,我们表明,对于(目标模型的)分类输出类,我们的推理攻击的准确性更高,成员/非成员梯度范数的差异也更大。
图2a绘制了成员和非成员实例的不同输出类在最后一层的梯度范数的平均值;我们看到成员和非成员之间的梯度范数的差异在不同的类中是不同的。
图2b为三个输出类的推断攻击的接受者操作特征曲线(ROC),这三个输出类的成员和非成员之间的梯度范数差异分别为小、中、大(在多个样本上取平均值)。【Figure 2b shows the receiver operating characteristic (ROC) curve of the inference attack for three output classes with small, medium, and large differences of gradient norm between members and non-members (averaged over many samples).】
由此可见,成员与非成员之间梯度范数的差异越大,成员推理攻击的准确性越高。
预测不确定性的影响:
文献[6]认为:预测向量的不确定性是隐私泄露的重要因素。我们通过对不同预测不确定性的CIFAR100-Alexnet中不同类别的攻击进行评估,来验证这一说法。具体来说,我们选择了预测不确定性差异小、中和高的三个类别,其攻击精度如图6所示。类似于梯度范数的差异,预测不确定性值越高的类泄漏的成员信息越多。
B.独立环境:无监督攻击
我们也在一个无监督的场景中实现我们的攻击,在该场景中,攻击者从相同的底层分布中采样数据点,但他不知道其成员和非成员标签。在这种情况下,攻击者将测试记录分为两个集群,如第II-D节所述。
我们实现了我们的攻击,并将其性能与shokri等人的影子模型进行了比较。[6]前面介绍过。我们根据表II中的训练和测试数据集的大小,在各种数据集上训练我们的无监督模型。根据表II的训练大小在每个Texas100和Purchase100数据集上训练影子模型。【We train a single Shadow model on each of Texas100 and Purchase100 datasets using training sizes according to Table II.】影子模型的训练集与目标模型的训练集不重叠。但是,对于CIFAR100数据集,我们的影子模型使用与目标模型数据集重叠的训练数据集,因为我们没有足够的实例(我们在总共60000个可用记录中训练每个模型50000个实例)。
训练后,我们使用谱聚类算法[14]将输入样本分成两个聚类。如前所示(图4),成员实例具有较小的梯度范数值。因此,我们将成员标签分配给平均梯度范数较小的集群,将非成员标签分配给其他集群。
表VII比较了我们的无监督攻击与各种数据集和架构上的影子训练[6]的准确性。我们的方法提供了更高的精确度。
我们攻击工作背后的直观[【The intuition behind our attack working】,ours无监督算法的编码值对于成员和非成员样本呈现不同的分布。可以在图5中看到各种数据集和体系结构。
C.独立环境:攻击微调【Fine-Tuned】模型
我们研究了微调目标模型的隐私泄漏。在这种情况下,受害者使用数据集D训练模型,然后使用数据集DΔ微调训练模型以提高其性能。因此,攻击者有两个训练模型的快照snapshot,一个是仅使用D,另一个是同一模型下使用DΔ微调的。我们假设攻击者可以访问这两个经过训练的模型(在微调之前和之后)。我们想在此场景中应用成员推断攻击,对手的目标是区分的成员D、DΔ和D′,和一组非成员D′。
我们使用与先前实验相同的训练数据集(表II);我们使用60%的训练数据集作为D,其余的用于DΔ。表IX显示了不同场景下的训练、测试和攻击精度。如图所示,攻击者能够区分成员(D或DΔ)和非成员(¯D),其精度与之前的设置类似。此外,攻击者还可以以相当高的精度区分D和DΔ的成员。
D.联邦学习:被动推理攻击
表XI显示了联邦攻击实验中使用的数据集大小。对使用CIFAR100数据集的本地攻击者的实验,每个参与者使用30000个实例进行训练,由于实例数量不多,参与者之间会出现重叠。对于所有其他实验,参与者使用非重叠数据集。在下面我们将在不同的环境中展示攻击。
被动的全局攻击者
在这种情况下,攻击者(参数聚合器【the parameter aggregato】)可以在多个训练阶段访问目标模型的参数(第II-B节)。因此,他可以在每个训练阶段被动地收集所有参与者的所有参数更新,并且可以分别对每个目标参与者执行成员推断攻击。
由于GPU资源有限,我们的攻击仅在五个(非连续)训练阶段观察每个目标参与者。表XII显示了当我们的攻击使用不同的训练时段集时的准确性(对于带有AlexNet的CIFAR100数据集)。我们看到,使用后期,大大提高了攻击精度。直观地说,这是因为早期的训练阶段包含了数据集的一般特征信息,这些特征不会泄露重要的成员信息,然而,当模型开始学习这些阶段中的异常值【outliers】时,后期的阶段包含了更多的成员信息[15]。
联邦学习设置中的攻击准确性。共有4名参与者。全局攻击者是中心参数聚合器,而本地攻击者是参与者之一。全局攻击者对每个参与者进行推断,并报告平均攻击精度。本地攻击者对所有其他参与者执行推断。被动攻击者遵循协议,只观察更新。主动攻击者更改其更新,或者(在全局攻击的情况下)隔离一个参与者,不将其他参与者的更新传递给它,以增加信息泄漏。
表X显示了对不同数据集的攻击结果。对于Purchase100和Texas100数据集,我们使用[40、60、80、90、100]训练阶段;对于CIFAR100数据集,我们使用[100、150、200、250、300]阶段。当攻击者能够访问CIFAR100目标模型中的多个训练阶段时,他可以获得较高的成员攻击精度。然而,在Texas100和Purchase100数据集中,与独立设置相比,攻击的准确性降低。这是因为联邦学习场景中的平均值将减少各个参与方的影响。
被动的本地攻击者
本地攻击者无法观察参与者的模型更新;他只能观察聚合模型参数。我们使用与全局攻击相同的攻击模型架构。在我们的实验中,有四个参与者(包括本地攻击者)。攻击者的目标是了解:目标输入是否成为任何其他参与者的训练数据的成员。
表X显示了我们攻击各种数据集的准确性。正如预期的那样,本地攻击比全局攻击具有更低的准确性;这是因为本地攻击者观察所有参与者的聚合模型参数,从而限制了成员泄漏的程度。对于更多的参与者,本地攻击者的准确性会降低。
表XIII显示了AlexNet模型上的CIFAR100。
E.联邦学习环境:主动推理攻击
表X显示了对联邦学习的攻击结果。
梯度上升的攻击者
在这种情况下,攻击者对学习过程进行逆操作,以提高成员推断的准确性。主动攻击在第II-C节中进行了描述。我们通过从目标模型和100个非成员实例中,预测100个随机抽样成员实例的成员身份,来评估攻击的准确性。对于所有这样的目标实例(其成员身份对攻击者来说是未知的),攻击者将更新它们的数据特性,以提升全局模型(在全局攻击的情况下)或本地模型(在局部攻击的情况下)的梯度。
全局主动梯度上升攻击对目标模型训练过程的影响。图中显示了在目标实例受到攻击的情况下,训练阶段各种实例(Purchase100数据集)的梯度范数。
图7比较了不同数据点的目标模型的最后一层梯度范数。如图7a所示,在不同的训练阶段,目标成员的梯度范数与非目标成员实例的梯度范数非常相似。另一方面,对于图7b所示的非成员实例,情况并非如此。
直观地说,这是因为对一个成员实例应用梯度上升算法将触发目标模型,试图通过在这些实例的模型梯度方向上下降来最小化其损失(从而消除攻击者上升的影响)。然而,对于目标非成员实例,模型不会显式地改变它们的梯度,因为它们不会影响训练损失函数。攻击者在训练的每个阶段都重复梯度上升算法,因此,在这种非成员实例上,模型的梯度会不断增加。图7c描述了成员和非成员目标实例的梯度范数之间的结果区别。主动梯度上升攻击迫使目标模型在目标成员和目标非成员实例之间表现出明显的差异,这使得成员推断攻击变得更加容易。结果表明,与被动全局攻击相比,主动攻击能显著提高攻击精度。在本地情况下,由于观察到来自多个参与者的聚合参数,其准确性低于全局攻击。
孤立的攻击者
联邦学习场景中的参数聚集会对成员推断攻击的准确性产生负面影响。主动全局攻击者可以通过隔离目标参与者并为其创建网络的本地视图来解决此问题。在这种情况下,攻击者不会将所有参与方的聚合参数发送到目标参与方。相反,攻击者会隔离目标参与者并隔离目标参与者的学习过程。
当攻击者隔离目标参与者时,目标参与者的模型不会与其他方的参数聚合。因此,它在模型中存储了更多关于其训练数据集的信息。因此,简单地隔离目标模型的训练可以显著提高攻击精度。将该方法应用于梯度上升攻击,可以进一步提高攻击精度。所有结果见表X。
五、相关工作
研究深度神经网络的不同推理攻击是一个活跃的研究领域。
A.成员推理攻击
多篇研究论文研究了黑盒环境下的成员推断攻击[6]、[16]、[7]。荷马等人[4]对基因组数据进行了第一次成员推断攻击。Shokri等人[6]结果表明,机器学习模型输出的训练数据具有可区分性,容易被对手的推理模型所利用。他们引入了模拟目标模型行为的影子模型,攻击者使用这些影子模型来训练攻击模型。Salem等人[17]扩大了Shokri等人的攻击范围。[6]并根据经验证明,可以使用单个影子模型(而不是[6]中使用的多个影子模型)来执行相同的攻击。他们进一步证明,即使攻击者无法访问目标模型的训练数据,她也可以使用输出的统计特性(例如熵)来执行成员推断。Yeom等人[7]证明了过度拟合与成员推理攻击之间的关系。Hayes等人[18]使用生成性对抗网络对生成性模型进行成员攻击。
Melis等人[19]为协作学习开发了一组新的成员推理攻击。该攻击假设参与者在每个小批量处理之后更新中心服务器,而不是在每个训练阶段之后更新[20],[21]。此外,所提出的成员推理攻击专门针对 小批量训练使用显式单词嵌入(以小批量展示训练句子中使用的单词集) 的模型而设计。【 for models that use explicit word embeddings (which reveal the set of words used in the training sentences in a mini-batch) with very small training mini-batches.】
本文评估了深度学习的标准学习机制和各种体系结构的标准目标模型。我们展示了即使我们使用预先训练的最先进的目标模型,我们的攻击也是有效的。
Differential privacy [22], [23] has been used as a strong defense mechanism against inference attacks in the context of machine learning [24], [25], [26], [27].
差分隐私[22],[23]被用作机器学习背景下抵抗推理攻击的强大防御机制被广泛使用[24],[25],[26],[27]。一些著作[28]、[29]、[30]表明,通过使用对抗性训练,可以在隐私和模型精准度间找到更好的平衡。然而,这项工作的重点是在黑盒环境中的成员推理攻击。
B.其他推理攻击
具有有关训练数据分布的附加信息的攻击者可以执行各种类型的推断攻击。输入推断[31]、属性推断[32]、参数推断[33]、[34]和侧信道攻击[35]是此类攻击的例子。Ateniese等人[36]表明,能够访问机器学习模型参数(如支持向量机(SVM)或隐马尔可夫模型(HMM)[37])的对手,可以提取关于训练数据的有价值的信息(例如,语音识别模型中说话人的口音)。
六、总结
利用随机梯度下降算法的隐私弱点,设计并评估了一种新的针对神经网络模型的白盒成员推理攻击。我们在独立和联邦环境中演示了针对被动和主动推理攻击者的攻击,并假设不同的对手先验知识。我们发现,即使是很好的广义模型也很容易受到这种白盒成员推断攻击。本研究并未探讨白盒环境下深度学习隐私外泄的理论界限,这仍将是未来研究的课题。
MY QUESTION:
-》成员攻击 推理 概率。黑盒白盒攻击、 随机梯度下降gsd算法、损失梯度、DenseNet模型。全连通层。CNN。激活函数。谱聚类。正则化。梯度范数。ROC。隶属度。熵。