图像领域成员推理攻击
SeqMIA: Sequential-Metric Based Membership Inference Attack
http://arxiv.org/abs/2407.15098
ACM CCS 2024
先看overview,猜测文章的方法:训练影子模型,使用影子模型、蒸馏数据集和目标模型共同参与蒸馏任务,蒸馏出来的是若干个模型。将这些模型的输出数据用来构建高维特征向量,使用这些高维特征来训练攻击模型。最后把目标样本输入这些蒸馏模型中,得到的结果送入攻击模型进行判别。(只是一个猜测)
利用知识蒸馏来获得一组蒸馏模型,代表目标模型训练的各个阶段。然后按时间顺序评估这些提炼模型的多个指标,从而创建提炼的指标序列。最后将提炼的多指标序列集成为顺序多格式,并采用基于注意力的 RNN 攻击模型进行推理。
背景知识
现有的MIA都是基于ML模型固有的过拟合特性,这种置信度反映在模型的后验输出上,从而产生多个有效区分成员非成员的指标:
1.损失Loss
损失,也称为成本或目标函数,用于衡量 ML 模型的预测与给定数据样本的真实值的匹配程度。ML 算法的目标是最大限度地减少这种损失,因为较低的损失表示模型的性能越好。通常,成员的损失远低于非成员的损失,大多数现有研究利用这种差异来推论他们的成员资格。
2.MAX
Max 是指模型输出后验中的最大值,通常表示为一组概率。要从这些概率中获得单个预测的类标签,一种常见的方法是采用具有最高概率的类,即最大值。同样,members 的最大值通常大于非 member 的最大值
3.标准差SD
标准差是模型输出与其平均值后验的离散度的度量。成员的标准差往往比非成员大,因为模型对成员的预测更有信心,即正确类的概率更大,而另一个类的概率要小得多。
4.熵Entropy
熵衡量模型预测中的不确定性或随机性。低熵表示概率分布集中,模型对其预测更确定,而高熵表示不确定性更大。同样,成员的熵值低于非成员的熵值
5.修正熵M-Entropy
与仅包含有关输出后验信息的平均信息相比,修正熵 (M-Entropy) 测量给定真实标签的模型预测不确定性。因此,概率为 1 的正确预测会导致修正熵为 0,而概率为 1 的错误预测会导致修正熵为无穷大。此外,成员的修正熵通常低于非成员的修正熵
知识蒸馏
知识蒸馏 (KD) 是一类将知识从大型复杂模型转移到更小、更轻量级模型的方法。主要目标是提高较小模型的性能,同时减少部署期间的资源消耗。主要思想是使用较大教师模型的软信息(即输出后验)作为监督信号来训练较小的学生模型。这种软信息包含比硬性真值标签更有价值的知识,从而更好地泛化和提高学生模型的效率。
文中使用最泛用的KD框架,使用一组数据来查询教师模型获得输出后验(软标签)。训练学生模型的时候除了真实标签还用软标签来计算损失:
其中Lsoft是软标签和学生模型输出后验之间的 Kullback-Leibler 散度损失, Lground 是学生模型的输出后验和真实标签之间的交叉熵损失, α 是权重系数。
文中的目标是模拟目标模型的训练过程并对其中间版本进行快照,而不是将知识从较大的模型转移到较小的模型。 因此采用与目标模型相同的模型架构来构建提炼模型。 此外设置 α=1 了 ,这意味着蒸馏模型仅模拟目标模型的输出后验,而不管真值标签如何。为了便于描述,文章将蒸馏得到的中间蒸馏模型命名为快照。
攻击方法
攻击者黑盒访问目标模型权限(只能防高温目标模型的输出)。假设攻击者持有一个数据集,该数据集和目标模型的训练数据集来自同一个分布;攻击者知道目标模型的架构和超参数
设计直觉:
引入了一种新的隶属度信号,称为 Pattern of Metric Sequence,它也来自模型训练的各个阶段。新信号包括模型的多个中间状态和最终状态,并更多地关注它们之间的时间依赖性模式。这些不同的度量序列在先前的研究中均被独立使用,作者猜测,这些度量之间会有一定的关联性,使得能够用于区分成员和非成员
这个新信号包括模型的多个中间状态和最终状态,但更侧重于它们之间的瞬态模式。例如,与非成员相比,成员的度量序列往往表现出相对较小的波动。此外,与非成员相比,成员的不同度量序列之间的相关性也要高得多。一般假设是,与仅依赖单个指标或非序列化指标相比,同时使用多个指标序列(序列化指标值)将产生明显更强的成员资格信号。基于这一洞察,我们的第一个攻击策略是构建 “multi-metric sequences”,它带有 metric sequence 的模式。
之前的研究将来自各种模型状态的多重损失视为一个一维向量,并将其直接馈送到 MLP 攻击模型中进行推理。但是,MLP 模型主要是为独立的输入值设计的,无法捕获输入向量中存在的顺序或时间序列信息。这意味着 MLP 模型可能会忽略 input 中重要的基于 sequence 的信号
相比之下,专为时间序列数据设计的模型,例如递归神经网络 (RNN),能够更好地捕获输入向量中的序列信息,因此可以潜在地挖掘基于序列的信号,例如,随着训练的进行,度量序列的波动。因此,我们的第二种攻击策略涉及使用基于注意力的 RNN 作为攻击模型来处理多个指标序列。这样,我们不仅可以自动发现这些显式模式,还可以自动发现更复杂的隐式模式
基于以上,作者提出了一种新的成员推理攻击,即基于序列度量的成员推理攻击 (SeqMIA)。要执行 SeqMIA,攻击者需要从目标模型的训练过程中获取多指标序列。然而黑盒设置下对手只能访问最终训练好的目标模型,即在其最终训练 epoch 的版本。
对手利用目标模型上的知识蒸馏来获得其蒸馏模型。这样,对手就可以完全控制蒸馏过程,并且可以在不同的时期保存蒸馏模型。攻击者在每个中间蒸馏模型上评估给定目标样本的不同指标,以获得其多指标序列,称为蒸馏多指标序列。最后,攻击模型作为成员分类器,将提炼的多指标序列作为输入来推断样本的成员状态。SeqMIA涉及五个阶段:影子模型训练、模型蒸馏、多度量序列构建、序列化处理和成员推理。
1.影子模型训练
像overview所画,攻击者把持有的数据集划分为影子数据集和蒸馏数据集,再把影子数据集划分位train和test,前者代表成员,后者代表非成员,使用与目标模型相同的架构和超参数来训练影子模型(前文的假设)
2.模型蒸馏
蒸馏数据集用于蒸馏目标模型和影子模型,模拟它们的训练过程。简洁起见,将 target model 和 shadow model 称为原始模型。查询两个原始模型,以获得它们作为软标签的输出后验,并且只使用 Lsoft (软标签和学生模型的输出后验之间的Kullback-Leibler发散损失)来训练 n epoch的蒸馏模型。随后,我们捕获了蒸馏模型参数在不同时期的快照,从而产生了一系列快照,这些快照 s1,s2,…,sn 模拟了原始模型的训练过程。
原始模型输出后验中包含的隶属信息很重要,因此将原始模型作为快照系列的附加补充(表示为 sn+1 )包含在内。虽然可以获得影子模型的训练过程,但它与目标模型的确切蒸馏过程不匹配。使用足够的蒸馏数据,蒸馏模型收敛速度更快。因此,为了调整目标模型和影子模型训练过程中描述的成员信息,继续进一步提炼影子模型,旨在模拟类似的训练过程。
3.多度量序列的构造
如上图,得到n+1快照后,分别输入给定的样本数据,得到n+1个输出后验o。然后计算计算每个输出后验的度量值(度量类型k种,前文提到的loss,max等),同一个度量按时间序列(这里就是从1到n+1个模型)拼接在一起,组成一个n+1维的单个度量序列。把k个序列组合就得到了k*(n+1)矩阵。
4.序列化处理
攻击者把从影子模型train数据集种获取的多指标序列记为1,表示成员;使用test数据集中获取的多指标序列记为0,表示非成员。为了充分强调多指标序列中不同点的重要性,采用基于注意力的 RNN 作为攻击模型。这种选择使我们能够通过学习权重来捕获上下文语义,这些权重突出了此类信号中的关键点,以进行成员推理。我们通过最小化二元分类任务的交叉熵损失来训练攻击模型。
5.成员推理
将目标样本馈送到来自目标模型的一系列快照 s1,s2,…,sn,sn+1 ,将目标样本编码为多指标序列。然后,可以将此序列输入到攻击模型中以预测其成员状态,即 1 或 0。
实验
7 个不同任务、大小和复杂程度的基准数据集来进行实验。具体来说,采用了四个计算机视觉数据集,即CIFAR10 [26]、CIFAR100 [26]、CINIC10 [11]、GTSRB [53],以及三个非计算机视觉数据集,即 Purchase [1]、News [2] 和 Location [3]。
将每个数据集分为五个部分:目标训练/测试数据集 ( Dtraint / Dtestt )、影子训练/测试数据集 ( Dtrains / Dtests )和蒸馏数据集 Dk 。其中, Dtrains , Dtests 和 Dk 是对手持有的辅助数据集 Da 的不相交子集。具体来说,数据分区是这样的,前四个数据集的大小保持完全相同,剩余的数据样本被放入蒸馏数据集中
具体的实验请参考原文。