Model Inversion
模型反演是一种隐私攻击,可从模型预测和内部表示中重建敏感输入或训练数据。
模型反演是指通过模型的预测、学习到的参数或内部表示,恢复有关模型输入或训练数据的信息。直观来说,它相当于反向执行预测:从机器学习模型泄露的信息可作为证据,用于重建人脸、推断敏感属性或恢复文本。未经授权的使用会造成数据隐私攻击。
Matthew Fredrikson、Eric Lantz、Somesh Jha、Simon Lin、David Page 和 Thomas Ristenpart 于 2014 年通过对个性化华法林剂量模型进行模型反演,提出了这一安全术语。他们利用一个模型、人口统计信息和患者的稳定剂量,推断出与药物反应相关的遗传标记。评估使用了国际华法林药物遗传学联盟的数据。
模型反演的工作原理#
攻击者需要可观察的信号和重建目标。分类器的置信度分数可以揭示候选输入与目标类别的匹配程度。通过白盒访问,攻击者还可以查看模型权重并计算梯度。黑盒访问则通过查询接口提供预测结果。中间嵌入向量是输入的数值表示,也可以作为另一种重建目标。
基于优化的反演从一个候选输入开始,并反复修改该输入,以降低损失函数的值,例如降低目标类别概率的补数。梯度下降会更新输入,而训练好的模型保持不变。结果可能是一个可识别的类别代表;能否精确恢复取决于可访问信号中保留的信息。
Ultralytics YOLO 通过 model.embed()公开图像表示,支持特征提取工作流程。共享这些向量会增加一个接口,进行针对反演的隐私测试时也需要考虑这个接口。
人脸重建与可运行示例#
2015 年,Fredrikson、Jha 和 Ristenpart 提出了基于置信度的反演攻击及基本对策,其中包括 MI-Face。他们的人脸识别实验使用了 AT&T/ORL 人脸数据库,其中包含 40 个人的 400 张图像。针对某个人的身份标签优化像素后,可以生成可识别的人脸重建图像,从而暴露与身份相关的外观信息。
Adversarial Robustness Toolbox 中的 MIFace 实现也支持连续特征分类器。此示例将它用于逻辑回归,该模型使用 scikit-learn 的内置手写数字数据集训练。使用 pip install adversarial-robustness-toolbox scikit-learn matplotlib 安装依赖项。
import matplotlib.pyplot as plt
import numpy as np
from art.attacks.inference.model_inversion import MIFace
from art.estimators.classification import SklearnClassifier
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
images, labels = load_digits(return_X_y=True)
images = images.astype(np.float32) / 16
model = LogisticRegression(max_iter=1000)
model.fit(images, labels)
classifier = SklearnClassifier(model=model, clip_values=(0, 1))
# 为目标数字类别重建像素。
attack = MIFace(classifier, max_iter=1000, verbose=False)
reconstructions = attack.infer(x=None, y=np.array([3]))
reconstruction = reconstructions[0]
plt.imshow(reconstruction.reshape(8, 8), cmap="gray")
plt.axis("off")
plt.show()展示的重建图像显示了利用拟合分类器的梯度,为数字 3 类别优化后的像素。
在语言系统中,反演也可以恢复提示词。John X. Morris 及其同事于 2024 年提出的语言模型反演方法,根据下一个词元的概率分布重建前文。在协同推理中,提示词反演攻击会根据参与者之间传输的中间激活值重建输入文本,从而暴露分布式计算边界上的提示词。
相关概念与区别#
这些术语描述了攻击者的不同目标:
- 成员推断用于判断某条已知记录是否出现在训练数据中;反演则用于估计未知内容或属性。
- 属性推断利用记录中的其他信息补全敏感字段。最初的华法林攻击既属于属性推断,也属于模型反演。
- 对抗攻击包括规避攻击,即通过修改输入诱发错误预测。反演的目标则是泄露信息。
- 逆向建模泛指根据观测结果估计成因或参数。例如,逆向渲染会根据图像估计场景属性。
降低暴露风险#
访问控制会限制哪些人可以查询模型或获取内部表示。模型监控可以检测异常的查询模式,而降低置信度分数的精度可以移除置信度攻击所利用的信息。隐私评估会根据实际授予的访问权限衡量重建质量。
差分隐私通过经过校准的随机性,限制个人训练记录产生的影响。它的隐私保证涉及因数据集包含该记录而新增的信息。反演也可能利用群体层面的相关性,例如遗传标记与药物剂量之间的关系。










