☰
Model Inversion Attacks that Exploit Confidence Information and Basic Countermeasures(面部模型反演)
2026/9/27 7:23:00 网站建设 项目流程

代码(PyTorch)+数据集:Matt Fredrikson, Somesh Jha, Thomas Ristenpart. Model Inversion Attacks that Exploit Confidence Information and Basic Countermeasures.

文章:mi-ccs.pdf

理论讲解更好:(82 封私信) [论文阅读系列2]Model Inversion Attacks that Exploit Confidence Information and Basic Countermeasures - 知乎

前言&联系

FREDRIKSON 等人的攻击

Fredrikson 到底做了什么:1.模型反演模型萌芽 2.提出了模型可能会记住部分参数,但是否具有泛化性不清楚。不足之处:1,方法是通过决策树信息将输出信息y+model->x,但是y采用线性输出,在高维方面表现不足 2.使用map估计器(是一种概率估计器)表现不佳。

我们首先回顾 Fredrikson 等人针对小取值域敏感特征提出的通用模型反演攻击。Fredrikson 等人研究了一个用于预测 Warfarin(华法林)初始剂量的线性回归模型。输入包括病人的人口统计信息、医疗史以及遗传标记。把敏感遗传标记设为第一个特征 \(x_1\)。攻击者拥有模型 \(f\) 的白盒访问,并知道该患者的其他特征以及真实剂量 \(y\),希望推断出 \(x_1\)。

算法假设辅助信息中包含一个高斯误差模型 `err` 的经验标准差 \(\sigma\),以及各特征的边缘先验 \(p=(p_1,\ldots,p_t)\)。

对每个候选的敏感值 \(v\):

1. 构造完整输入
\[
x'=(v,x_2,\ldots,x_t);
\]
2. 计算
\[
r_v=err(y,f(x'))\cdot\prod_i p_i(x_i);
\]
3. 返回使 \(r_v\) 最大的候选值。

直观地说,这个算法尝试每一个可能的敏感属性值,并计算“如果这个值是真的,那么我们当前观察到的其他信息有多可能出现”。高斯误差模型会惩罚那些导致预测结果远离真实 \(y\) 的候选值。该算法给出了在现有信息下偏差最小的 MAP 估计,因此能够最小化攻击者的预测错误率。原论文只在 Warfarin 剂量预测上评估了该攻击,结果显示其预测遗传标记的准确率接近于直接使用原始数据训练的线性模型。

这个算法实际上是黑盒的,并不依赖 \(f\) 的具体实现,因此可以应用到非线性回归或其他模型上。如果有多个未知特征,也可以枚举它们的所有组合。但其局限也很明显:如果未知特征的取值空间巨大,就无法枚举。例如本文后续人脸实验中的输入维度约为 10,304,每个特征又是 \([0,1]\) 上的实数,即使只推断其中一部分像素,也会不可计算。此外,后文还会说明:即便枚举在计算上可行,这种方法也不一定有效。

简单来说:FREDRIKSON 等人的攻击任务是当时他们对Warfarin(华法林)药剂初始剂量的一种分析,例如模型正向训练x = (身高:180cm,体重:88kg,是否有类似疾病:True),预测pre_y = model(x),得到预测的pre_y=5.0mg;x1 = (身高:未知,体重:88kg,是否有类似疾病:True),将pre_y1 = model(x1),因为x1中的身高是未知的,可以进行遍历所有身高=(170cm, 181cm, 190cm),分别得到pre_y1=(4.7mg, 5.1mg, 6mg), map的任务就是将pre_y1和pre_y做差=(-0.3mg, 0.1mg,1mg)其中5.1mg和原始的更接近,所以可以任务这个病人的身高是181cm,这个例子的随便举的,为什么是181cm而不是准确的180cm,因为模型反演不是照本宣科的直接复制信息,而是通过概率来进行学习。

模型反演攻击(面部)

创新点:

本文作者做了什么:我分析的主要是人脸识别项目,提出最nb的观点:训练集的数据和训练的时候产生模型辅助信息可能会被模型model当成部分参数记住。 1.将Fredrikson 的线性输入y->变成更高维的输入 2.建立的信息的模型 y(姓名) + model -> x(图片)3.不在使用map概率分类器,使用了softmax 分类器、多层感知机(MLP)和堆叠去噪自编码器(stacked denoising autoencoder, DAE)4.给定一个模糊图片是否可以复原的更清晰。注意:作者并不是将模型的图片复制出来,而是通过向模型问答,来补全输入y的像素。

工作

人脸识别模型输入一张包含人脸的图像,并输出与图像中人物对应的身份标识。它们被用于身份认证、安全与执法、增强现实、照片整理等任务。

本文研究两种针对人脸模型的 MI 攻击,二者都假设攻击者能够访问训练好的模型,但不能访问原始训练数据。

  1. 重建攻击(reconstruction attack):攻击者知道模型中的某个标签,例如一个人的姓名或唯一标识,希望生成一张能够被识别为该人的脸。若攻击者能够根据恢复图像从候选人中识别出受害者,则攻击成功。
  2. 去模糊攻击(deblurring attack):攻击者拥有一张被故意模糊的人脸图像,希望恢复该人的身份。攻击者把模糊图像作为辅助信息,执行一系列 MI 攻击以生成更清晰的人脸。若原图是为了匿名化而被模糊,则这种攻击会破坏匿名性

简单来说:重建攻击是攻击者在一张完全黑色的图片上,通过label和置信度进行反演工作,以达到恢复图片。去模糊攻击是攻击者在一张模糊的人脸图片上,通过label和置信度进行反演,使图片清晰化。

MI-FACE

过程图:

根本算法:

这里要反演的特征是整张图像的像素向量,每个像素是 \([0,1]\) 范围内的浮点数。攻击者不知道任何像素的真实值,因此这一问题与前文的离散属性反演有本质差异。设图像有 \(n\) 个特征,模型有 \(m\) 个人脸类别。把人脸分类器表示为:

\[
\tilde f:[0,1]^n\rightarrow[0,1]^m.
\]

输出是一个概率向量,第 \(i\) 个分量 \(\tilde f_i(x)\) 表示输入属于第 \(i\) 类的置信度。本文使用梯度下降最小化一个关于 \(\tilde f\) 的代价函数,从而进行模型反演。

若最近 \(\beta\) 次迭代没有进一步降低代价,或者满足阈值停止条件,则终止,并返回代价最小的候选。这里:

- \(AuxTerm\) 用于引入特定攻击场景的辅助信息;
- \(\lambda\) 是梯度步长;
- `Process` 是后处理函数,可执行去噪、锐化等图像操作。

MI-Face 需要计算 \(c\) 对输入的梯度,因此需要计算 \(\tilde f\) 的梯度。这要求模型可微。梯度可以手工推导,也可以通过符号计算自动求得。本文实验使用后者。

简单来说:前提:人脸识别模型训练完毕;模型参数冻结(我们不是为了更新模型,而是从模型中得到信息)。流程:输入一个纯黑色图片(112x92,使用torch.zeros()实现),根据输入的label(人名)判别属于的类别,模型会输出相应的置信度,如图step3根据置信度$f_(target)(x)$,计算代价函数(代价c越低越好),黑色图片的像素点(112x92个)根据梯度分别进行改变,使其置信度提高。

目标任务:重建攻击

第一个具体攻击称为 Face-Rec。攻击者知道某个模型标签,希望重建一张能够让人识别出该标签对应人物的脸。在这一场景中,攻击者没有目标标签之外的额外辅助信息,因此:

\[
AuxTerm(x)=0.
\]

实验设置:

\[
\alpha=5000,\quad\beta=100,\quad\gamma=0.99,\quad\lambda=0.1.
\]

对于 Softmax 和 MLP,`Process` 直接返回输入。对于堆叠 DAE,使用专门的 `Process-DAE`:

1. 把当前潜在表示解码回像素空间;
2. 使用 NL-Means 去噪;
3. 锐化图像;
4. 再编码回潜在空间。

实验发现,这一处理能够显著减少最终重建中的噪声,增强可识别的视觉特征,并让像素强度更接近训练图像。

Softmax结果展示:

MLP结果展示:

DAE结果展示:

防御

本文的人脸攻击都依赖梯度下降,因此一种自然的防御思路是降低攻击者能够从模型输出中恢复到的梯度信息的质量或精度。在白盒场景中,如果还要保留模型正常效用,很难直接隐藏梯度。但在黑盒场景中,可以降低 API 返回置信度分数的精度。本文对 softmax 模型的输出置信度进行舍入,然后重新运行黑盒重建攻击。

测试舍入粒度:

\[
r\in\{0.001,0.005,0.01,0.05\}.
\]

当 \(r=0.1\) 时,攻击甚至无法生成有效图像。“不舍入”则使用原始 64 位浮点置信度计算数值梯度。即使只舍入到 \(r=0.05\),攻击已经无法生成可识别的人脸。这说明:黑盒人脸识别系统可以在继续提供有用置信度信息的同时,通过限制置信度精度来提高对重建攻击的抵抗能力。

评估

对 AT&T 数据集中的 40 个身份标签逐个运行攻击然后让 Mechanical Turk 工作者观察一张恢复图像,并从五张真实候选脸中选择与其对应的人;也可以选择“候选中不存在该人”。每批实验运行三次,以研究不同参与者之间回答的一致性。展示给参与者的候选图像来自验证集,而不是训练集。80% 的实验中,五个候选人中确实包含攻击目标;10% 的控制实验直接展示真实数据集图片,而不是 MI-Face 生成图像。

  • - overall:无论目标是否出现在候选中,只要参与者给出正确答案都算正确;
  • - dentified:目标确实出现在候选中,并被正确识别;
  • - excluded:目标不在候选中,参与者正确选择“Not Present”。

(a) 对所有回答求平均;(b) 要求三名用户中至少两人答对才算该实例正确。

Softmax 生成的图像质量最好:总体正确率约 75%,目标身份识别率最高达到约 87%。其恢复图通常具有比较锐利、可识别的特征;MLP 只生成较淡的轮廓;DAE 更模糊。无论哪种模型,攻击都明显优于随机猜测。若从六个选项中随机选择,正确率不到 20%。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询