Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Membership Inference Attacks

成员推理攻击通过利用过拟合造成的损失差距,测试某条特定记录是否属于模型的训练数据。

成员推断攻击试图判断某条特定数据记录是否属于某个机器学习模型的训练数据。攻击者已经持有这条记录,例如患者的扫描图像或某人的照片,然后通过查询模型判断它是“成员”还是“非成员”。仅仅知道某人属于成员就可能泄露敏感信息,因此这类攻击是数据隐私的核心风险:如果模型只使用某种特定疾病患者的数据训练,那么确认某人的扫描图像在训练集中就会泄露其诊断结果。Reza Shokri、Marco Stronati、Congzheng Song 和 Vitaly Shmatikov 于 2017 年提出了针对机器学习模型的成员推断攻击,并在 Google 和 Amazon 的商业机器学习即服务平台上演示了这类攻击。

模型为何会泄露成员信息#

模型对训练数据的表现与对其他数据的表现不同。与未见过的样本相比,它们通常会对训练样本分配较低的损失和较高的置信度,而过拟合会扩大这一差距。会记住罕见样本、重复图像或离群值的大型模型泄露风险最高;生成式 AI模型,包括大型语言模型(LLM),可能会近乎逐字重现训练图像或文本,从而泄露成员信息。

最简单的攻击方法是对损失设置阈值:如果模型在某条记录上的损失异常低,就猜测它是“成员”。下面的代码片段使用 PyTorch 训练一个小型神经网络分类器,在 100 条带随机标签的随机记录上进行训练;这些标签只能通过记忆学会,然后再对其中一部分成员和模型从未见过的 100 条记录发起攻击:

import torch
import torch.nn.functional as F

torch.manual_seed(0)
x, y = torch.randn(200, 20), torch.randint(0, 2, (200,))
is_member = torch.arange(200) < 100  # the first 100 records form the training set

# Train a small classifier on the members only, long enough to memorize them
model = torch.nn.Sequential(torch.nn.Linear(20, 256), torch.nn.ReLU(), torch.nn.Linear(256, 2))
optimizer = torch.optim.Adam(model.parameters(), lr=0.01)
for _ in range(300):
    optimizer.zero_grad()
    F.cross_entropy(model(x[is_member]), y[is_member]).backward()
    optimizer.step()

# Loss-threshold attack: guess "member" for every record with below-median loss
with torch.no_grad():
    losses = F.cross_entropy(model(x), y, reduction="none")
guess = losses < losses.median()
print(f"attack accuracy: {(guess == is_member).float().mean():.2f}")

该攻击正确标记了 85% 的记录,而随机猜测的正确率为 50%。每个成员的损失都接近零,但有 15 个非成员的随机标签恰好被模型以更高置信度预测,因此其损失低于中位数阈值,并导致 16 个成员的损失高于该阈值。泛化能力更强的模型会缩小损失差距,从而降低攻击准确率,但通常无法彻底消除风险。

更强的攻击及其评估方法#

  • 影子模型:2017 年的原始攻击会在成员身份已知的相似数据上训练多个模型,然后利用这些模型的输出训练一个分类器,以识别成员的表现特征。
  • 校准攻击:Nicholas Carlini 及其同事于 2022 年发表了似然比攻击(LiRA),该方法会将一条记录的损失与分别使用和不使用该记录训练的参考模型进行比较。这样可以发现单一全局阈值无法识别的记忆型离群值。
  • 仅标签攻击:即使 API 只返回预测标签,也仍会泄露信息,因为成员样本通常需要更大的输入扰动才会导致预测翻转,而这正是对抗攻击会寻找的扰动。

由于整体准确率无法反映少数风险最高的个体,隐私审计会报告极低假阳性率下的真阳性率,例如 0.1%。开源隐私工具包可以生成成员推断报告,针对已训练模型运行这些攻击,并绘制模型在不同训练检查点上的脆弱程度。

成员推断是训练数据泄露中范围最窄的一种形式。模型反演会重建某个类别或某个人的代表性特征,属性推断会补全攻击者部分了解的记录中缺失的敏感字段,而训练数据提取则会恢复逐字内容,例如记忆下来的文本。数据投毒的方向正好相反:它会破坏训练集,而不是从中读取信息。机器遗忘方法试图在训练后移除某条记录的影响,并使用成员推断来检验这条记录是否仍留下痕迹。由于成员资格是泄露的最小单位,成员推断已成为衡量训练过程暴露了多少单条记录的标准尺度。

防御措施#

差分隐私提供了具有形式化保证的防御手段。使用 DP-SGD 训练时,这是一种随机梯度下降的变体,可通过 Opacus 用于 PyTorch。该方法会裁剪每个样本的梯度并添加经过校准的噪声,从数学上限制任何单条记录对模型造成的影响,因此也限制了所有成员推断攻击能获得的优势,但会牺牲一定准确率。以下实际措施还能进一步降低风险:正则化、数据增强和提前停止可限制过拟合;删除重复记录能避免某张图像或某份文档被多次记住;公开 API 也可以只返回标签或四舍五入后的置信度分数。

视觉模型的训练曲线是检查信息暴露最快捷的途径。使用训练模式微调 Ultralytics YOLO26检测器时,如果使用的是医学扫描图像或员工徽章等敏感图像,它会在每个 epoch 记录训练损失和验证损失。其 patience 参数默认值为 100 个 epoch;如果验证适应度在这么多个 epoch 内没有改善,就会停止训练,从而避免后期训练损失持续下降但验证结果停滞的阶段,而损失阈值攻击正是利用了这种差距。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来