跳到正文
原文

半监督学习无标注数据集的投毒攻击

Poisoning the Unlabeled Dataset of Semi-Supervised Learning

arXiv· arXiv:2105.01622· Nicholas CarliniGoogle本站收录· 14 天前· 原文发表入选 攻击精选关注度38

论文速读

攻击

据论文 PDF 整理(AI 生成),以原文为准

作者提出针对半监督学习无标注数据集的投毒攻击,称在 CIFAR-10 上投毒 0.1% 无标注数据即可定向误导 FixMatch(7/8 次成功)。

威胁模型受害者用少量标注数据加从公开互联网抓取的无标注数据训练半监督模型;攻击者可向互联网上传数据从而控制部分无标注数据集,获得目标样本 x*、目标标签 y*、注入数量 N、网络类型 f、训练算法 Ts 和标注子集 X',要求 |Up| < 0.01·|U|,目标是让训练后的模型把 x* 分类为 y*。

问题
半监督学习用少量标注数据加大量无标注数据训练,无标注数据常从互联网抓取且审查少,攻击者可轻易投毒;论文研究只投毒无标注数据集的定向攻击及其防御。
方法
提出 Interpolation Consistency Poisoning:在标注样本 x0 与目标样本 x* 之间插入一条插值样本路径,让模型把 x0 的正确标签沿路径逐步传播到 x*;并提出基于训练动态影响力分离投毒样本的防御。
实验与结果
在 CIFAR-10、SVHN、STL-10 和 7 种算法上评测:0.1% 投毒率平均成功率 67%,0.5% 达 91%(Table 1);作者称越准确的方法越易被攻击;训练动态防御能完全分开投毒与干净样本。
局限与可以继续做的
作者指出:无法预测哪些源图是好源;防御可能被未来攻击绕过;线性插值投毒易被人工检查发现;实验每组仅 8 次试验,且只覆盖图像分类和 1.4M 参数 ResNet-28。
实验设置MixMatch、UDA 等 · CIFAR-10、SVHN 等 · attack success rate、test accuracy
被测模型
MixMatchUDAFixMatchVATMean TeacherPseudo LabelsPi Model
基准
CIFAR-10SVHNSTL-10
指标
attack success ratetest accuracy
AI 导读和推荐理由作者提出一种针对半监督学习无标注数据集的投毒攻击,只需注入占数据集 0.1% 的样本,就能让模型在测试时把指定样本误判为任意目标类别。攻击的做法是在一个已标注源样本与目标样本之间插入一串插值样本,让模型把自己的错误伪标签沿这条路径逐步传播到目标样本。在 CIFAR-10、SVHN、STL-10 三个数据集以及 MixMatch、UDA、FixMatch 等七种方法上,0.1% 投毒比例的平均成功率为 67%,0.5% 时升至 91%。实验还发现,精度越高的半监督方法越容易受到攻击,作者据此推断更好的训练方法难以阻止这类攻击。防御方面,作者提出两种方法:一种用凝聚聚类识别像素空间的插值样本;另一种监控训练动态,按样本间影响值筛出投毒样本。

作者提出一种针对半监督学习无标注数据集的投毒攻击,只需注入占数据集 0.1% 的样本,就能让模型在测试时把指定样本误判为任意目标类别。攻击的做法是在一个已标注源样本与目标样本之间插入一串插值样本,让模型把自己的错误伪标签沿这条路径逐步传播到目标样本。在 CIFAR-10、SVHN、STL-10 三个数据集以及 MixMatch、UDA、FixMatch 等七种方法上,0.1% 投毒比例的平均成功率为 67%,0.5% 时升至 91%。实验还发现,精度越高的半监督方法越容易受到攻击,作者据此推断更好的训练方法难以阻止这类攻击。防御方面,作者提出两种方法:一种用凝聚聚类识别像素空间的插值样本;另一种监控训练动态,按样本间影响值筛出投毒样本。

推荐理由作者发现,污染 0.1% 的无标注数据即可让半监督模型把指定样本误判为任意目标类别,且精度越高的方法越易受攻击。

相关热点

0 个事件 · 1 条新闻提到

提到这篇论文的新闻

深度解读

6个问题,点开问题读完整回答

  1. 这篇论文试图解决什么问题?

    研究只投毒半监督学习无标注数据集的定向攻击:作者称 0.1% 投毒即可定向误导模型。

    核心问题:半监督学习的无标注数据集可以被攻击者投毒,从而让训练出的模型在测试时把任意目标样本误分类为指定标签。

    • 场景与重要性:半监督学习用少量(昂贵的)标注数据加大量(廉价的)无标注数据训练,作者称最新方法已能用 100× 更少的标注数据接近全监督水平。无标注数据通常从互联网抓取、审查远少于标注数据,因此更容易被投毒。
    • 现有方法的不足:已有的投毒研究集中在全监督的标注数据集或无监督聚类;作者称对标注数据加人工审查是可行防御,但对无标注数据加审查会抵消收集无标注数据的意义。作者称现有投毒防御与无标注数据投毒的问题设定不匹配。
    • 核心观察:先进的半监督方法先为无标注样本猜标签、再用猜的标签训练自己,即模型自我监督。作者认为这种欠规范(under-specification)让攻击者可以注入误导性样本序列,让模型"自己骗自己"。
    • 论文提出:Interpolation Consistency Poisoning 攻击(在标注源样本与目标样本间插入插值路径),以及两个识别并移除投毒样本的防御。
    • 威胁模型:
      • 目标:使模型 fθ 把选定样本 x* 分类为指定错误标签 y*(定向攻击,不考虑后门)。
      • 知识:攻击者知道目标样本 x*、目标标签 y*、可注入数量 N、网络类型 f、训练算法 Ts,以及标注数据子集 X' ⊂ X;4.1 节给出不需要任何训练样本知识的 zero-knowledge 变体。
      • 能力:向无标注数据集插入恶意样本,要求 |Up| < 0.01·|U|(论文称 1% 是投毒研究沿用十多年的标准,本文多数实验用 0.1%)。
      • 受害系统:用少量标注数据加从公开互联网抓取的无标注数据训练半监督图像分类模型的受害者。
  2. 有哪些相关研究?

    相关工作分三类:半监督学习方法、全监督/无监督投毒攻击、投毒防御;作者称本文是首个针对无标注数据集的半监督投毒攻击。

    半监督学习方法

    • MixMatch [3]、UDA [66]、FixMatch [53]——近两年的先进方法,共同范式是为无标注样本生成"猜测标签"再当作标注样本训练;本文主要在这三者上评测攻击。
    • 较早方法:Pseudo Labels [33]、Virtual Adversarial Training [39]、Mean Teacher [59]、PiModel [31];论文称这些方法在 CIFAR-10 上错误率不低于 45%,而 FixMatch 达 5%,本文也评测了它们。

    投毒攻击

    • 全监督标注数据投毒:无差别攻击如 Biggio et al. [5]、Nelson et al. [40](修改 1% 训练数据把垃圾邮件分类器降到随机水平);定向攻击如 Poison Frogs [51](clean-label)、Zhu et al. [71](修改 1% 训练数据误分类一张 CIFAR-10 测试图)。
    • 无监督聚类投毒:Biggio et al. [6, 7] 用"桥"样本连接两个簇使其被合并;作者称本文把类似的桥接思路改造为半监督下的定向误分类攻击,但聚类场景可解析构造近似最优攻击 [26, 27],而 SGD 动态难以解析,只能靠大量实验。
    • Liu et al. [35] 投毒半监督学习的标注数据集;论文指出该设定比本文简单,因为攻击者能控制标注过程。

    投毒防御

    • Fine-tuning 类防御 [34]:用干净数据微调以去除记忆;作者认为半监督场景本来就是因为缺数据,不太可能有大块干净数据。
    • 差分隐私 SGD 类防御 [20]:作者称其防护能力随投毒样本数指数下降,只能防住插入少于 3–5 个样本的极有限攻击。

    定位:作者称本文是首个针对半监督学习无标注数据集的投毒攻击,只需控制 0.1% 无标注数据;对比之下,达到同样目标的 clean-label 全监督投毒需要投毒 1% 的标注数据集。

  3. 论文如何解决这个问题?

    攻击:在源标注样本与目标样本间插入插值路径让标签逐步传播;防御:按训练动态中样本间影响力分离投毒样本。

    整体思路:利用半监督学习"模型为无标注样本猜标签并自我训练"的机制,构造一条从正确标注源样本到目标样本的无标注样本路径,让模型把源样本的标签沿路径传播到目标样本。攻击名为 Interpolation Consistency Poisoning。

    攻击构造

    • 路径插入:给定目标样本 x*,从标注集中选一个真实标签等于 y* 的源样本 x0,插入 N 个插值点 {x_αi},满足 interp(x0, x*, 0) = x0、interp(x0, x*, 1) = x*,类似无监督聚类投毒中的"桥"样本。
    • 插值函数:基线用线性像素混合 interp(x0, x∗, α) = x0 · (1−α) + x∗ · α;4.2 节改用 DC-GAN 潜空间线性插值,使投毒样本在语义上自然、不易被人工目检发现。
    • 采样密度:α 按密度函数 ρ 采样;论文默认用 ρ(x) = 1.5 − x(在源端采样密度约为目标端的 3 倍),这是在 11 个候选密度函数中实验选出的(Table 3)。

    攻击生效机制(作者解释)

    • 模型先在标注样本上学好,x0(即 α=0 端点)很快被正确分类为 y*;由于神经网络平均意义下 Lipschitz 连续且训练带数据增强,邻近无标注样本也会以高置信度被分为 y*。
    • 置信度超过阈值后(如 UDA 显式设 0.95 阈值,MixMatch 用 label-sharpening),这些样本被当作标注样本参与训练,标签沿路径逐点传播,最终 f(x*) = y*。

    攻击扩展

    • Zero-knowledge 攻击(4.1):不知道任何标注样本时,把 x* 与任意应属于 y* 类的无标注样本 x0 连接,并额外加入若干支撑样本各自与 x0 连路径,提高 x0 被标为 y* 的概率。
    • 迁移学习攻击(4.3):已知预训练初始权重 θ_init 时,用梯度下降在 x* 附近找一个已被初始模型分类为 y* 的 x0,再插值;两点更近,传播更快。

    防御

    • 数据集检查:线性像素混合会在无标注集中留下共线样本,可用试错采样在 GPU 上十分钟内找出;更一般地,用 agglomerative clustering 按像素 ℓ2 距离聚类并移除最大簇。作者指出该防御依赖距离函数,对加颜色抖动或平移的投毒无效。
    • 训练动态监控(5.3):记录每个 epoch 模型对每个无标注样本的预测向量,定义样本间影响力 Influence(ui, uj) = |μi(0,K−2) − μj(1,K−1)|2,即 u_i 的预测变化与 u_j 下一 epoch 变化的相似度;对每个样本计算其 5 个最近邻(按影响力)的平均影响力,投毒样本只被少数其他投毒样本影响,平均影响力低,可被分离后移除。作者称该定义是简化近似,且比 influence functions 快 10–100×。

    成功判定与实验协议

    • 成功判定:目标样本 x* 最终被分类为指定标签 y* 记为成功,否则失败;所有实验确认投毒后模型的标准测试准确率不下降。
    • 试验次数:每组实验做 8 次攻击试验,每次随机选源图和目标图;同一图表内复用同一组随机图以减少表间噪声。作者说明半监督训练成本高(FixMatch 在 CIFAR-10 一次 20 GPU 小时、STL-10 超过五天),故只做 8 次。
  4. 论文做了哪些实验?

    在 3 个数据集、7 种算法上评测:0.1% 投毒平均成功率 67%,0.5% 达 91%;作者称越准确的方法越易被攻击。

    实验设置

    • 被测方法:MixMatch、UDA、FixMatch 三种先进方法为主,另测 VAT、Mean Teacher、Pseudo Labels、PiModel 四种较早方法;论文称前三者比后四者准确 3–10×。
    • 模型:所有实验用同一个 1.4M 参数 ResNet-28,全监督准确率 96.38%。
    • 数据集:CIFAR-10(50,000 图、10 类)、SVHN(604,388 图)、STL-10(1,000 标注图 + 100,000 无标注图,96×96,分布相近但不相同,论文称其为最现实的数据集);CIFAR-10/SVHN 通常只保留 40 或 250 个标注。
    • 指标与协议:攻击成功率(x* 被分为 y* 的比例),每组 8 次试验;投毒后模型测试准确率须保持不下降。
    • 评审方式:成功判定为规则式(检查最终分类结果),无人工或 LLM 评审。

    主结果

    Table 1:跨数据集与算法的攻击成功率(成功次数/8 次;CIFAR-10、SVHN 用 40 标注,STL-10 用全部 1000 标注;"-"为未报告)

    表格较宽,可左右滑动

    方法CIFAR-10 0.1%CIFAR-10 0.5%SVHN 0.1%SVHN 0.5%STL-10 0.1%STL-10 0.5%
    MixMatch5/88/84/85/84/87/8
    UDA5/88/85/86/8--
    FixMatch7/88/87/88/86/88/8
    • 论文汇总:0.1% 投毒率下平均成功率 67%,0.5% 下达 91%(跨实验平均,Table 1);UDA 在 STL-10 上未报告,因为 [66] 未显示 UDA 在该数据集有效。
    • 作者称准确率更高的方法在所有实验设置下都更脆弱,例如 SVHN 上 FixMatch 合计 20/24 成功、MixMatch 15/24。
    • 作者称所有设置下 0.1% 投毒成功率至少 50%,提高投毒率可接近 100%。

    准确率与脆弱性的关系

    • 测了什么:Figure 4 在 CIFAR-10(250 标注、0.2% 投毒率)上比较 7 种方法的模型准确率与攻击成功率,每点为 10 个训练模型的平均;对 FixMatch/UDA/MixMatch 另用更小模型和更少训练步数人为把准确率降到 70–80%。
    • 结果:三种最新方法攻击成功率均超过 80%;四种较早方法(准确率约 60%)攻击很少成功。作者称攻击成功率与技术准确率之间存在清楚关系,并推测是因为更好的方法从无标注数据中提取了更多"意义";作者同时承认可能因主要在新技术上实验而隐性地让攻击更适配它们,但认为攻击的简单性使这不太可能。
    • 作者解读:作者认为这意味着开发更好的训练方法不太可能阻止该攻击,反而可能让问题更严重。

    源/目标图像与标签的影响

    • 测了什么:CIFAR-10 上训练 40×40 个模型,每个模型用不同的源图-目标图对(每类 4 张源图、4 张目标图);为省训练时间移除一半无标注样本并只训四分之一 epoch,论文注明因此基线成功率降到 51%(完整训练时 >80%)。
    • 结果:Figure 2 按类别分解(每格 16 次试验平均):目标标签"bird""cat"成功率 85%,最难的"horse"为 25%;源图真实标签对成功率影响不大。Figure 3 显示有些目标图几乎无法被投毒、有些源图几乎能投毒任何目标;作者称多次尝试后仍无法解释为何有些图更容易或更难被攻击。

    攻击扩展实验

    • Zero-knowledge 攻击(Figure 6,0.5% 与 1.0% 投毒率,CIFAR-10/SVHN,三种算法):1% 投毒时各方法成功 3/8–5/8,约半数成功;作者指出所有试验都让 x* 被误分类(f(x*) ≠ c(x*)),只是不一定是目标标签 y*。
    • GAN 潜空间插值(4.2):用 CIFAR-10 上预训练的 DC-GAN,1% 投毒率下 10 次试验成功 9 次;作者称成功率略降是因为路径更不直接。
    • 迁移学习攻击(4.3):模型先在 50% 无标注数据上收敛,攻击者据初始权重在 x* 附近搜 x0,投毒第二个 50% 无标注数据的 0.1%;10 次试验成功 8 次。

    防御评测

    • 训练动态防御(Figure 7):FixMatch、CIFAR-10、0.2% 投毒、40 标注的设置下,干净样本平均影响力 2·10⁻²,投毒样本全部低于 2·10⁻⁴、均值 3·10⁻⁵,两类完全分开;附录 B(Figure 9–12)在 FixMatch/MixMatch × CIFAR-10/SVHN 的 8 个额外运行上同样完全分开。
    • 攻击失败时:仍能以 100% 真阳性率找出全部已插入的投毒样本,假阳性率升至 0.1%;移除假阳性后在 99.9% 无标注数据上训练,作者称干净准确率没有统计意义上的下降。
    • 代价与假阳性分析:防御需训练两次(一次带毒、一次移除后重训),作者称代价为训练时间翻倍;Figure 8 显示接近误报的干净样本都是视觉上的近似重复图。

    其他消融与分析

    • 标注数量(Table 2,0.1% 投毒率):CIFAR-10 上 MixMatch 从 40 标注的 5/8 降到 4000 标注的 1/8,UDA 从 5/8 降到 2/8,FixMatch 保持 7/8;SVHN 上三者大体持平(如 FixMatch 7/8、6/8、7/8)。作者称更多标注通常(但不总是)更抗攻击。
    • 密度函数(Table 3,FixMatch、CIFAR-10、40 标注):11 个候选中 ρ(x)=1.5−x 最好(0.1%/0.2%/0.5% 下 7/8、8/8、8/8),ρ(x)=(1−x)² 最差(0/8、3/8、7/8)。
    • 标签传播过程(Figure 5):单次 FixMatch 运行中,α=0 端点约 10 epoch 后被正确分类,随后 α=0.25 等点依次被标为目标标签,x*(α=1)在 epoch 80 被分为目标类,训练结束时全部投毒样本都被分为目标标签。
    • 负面结果(4.4,作者报告 5 个失败的扩展):解析计算最优密度函数失败(各样本影响不独立,贪心搜索陷入局部最优);多源点多路径在相同预算下不如单路径;给投毒样本加噪声无帮助(小 σ 无提升、大 σ 更差,重复插入相同样本反而更有效);攻击偶尔"卡住"只传播到路径中途;联合标注+无标注投毒(含 Poison Frog 式尝试)不比选好源样本更有效,且作者称目前无法预测哪些样本是好源。
  5. 有什么可以进一步探索的点?

    作者指出无法预测好源样本、防御可能被未来攻击绕过等局限;实验仅覆盖图像分类、每组 8 次试验。

    作者指出的局限与后续方向

    • 无法预测源图质量(4.4):作者称目前没有技术能预测哪些样本会是好的或坏的源(除暴力训练外),并认为理解攻击"卡住"的失败原因值得进一步研究。
    • 防御可被绕过(5.3):作者称没有防御是万全的,未来攻击很可能也会击败训练动态防御;但认为这类防御可作为基线并可在未来工作中扩展,多轮移除可能进一步提高成功率。
    • 聚类防御的固有局限(5.2):作者指出该防御假设防御者能构造有用的距离函数,对加颜色抖动或小平移的投毒会失效,称这是想避免的"猫鼠游戏"。
    • 线性插值易被目检(4.2):作者指出线性像素混合的投毒样本人工检查可识别为分布外,这是提出 GAN 插值扩展的动机。
    • 其他领域的延伸(Conclusion):作者预期自监督学习等其他使用无标注数据的训练方式可能同样易受此类攻击,希望未来工作在其他使用未筛选数据的场景中研究这一现象。

    实验覆盖范围

    • 被测方法为 7 种半监督算法(MixMatch、UDA、FixMatch、VAT、Mean Teacher、Pseudo Labels、PiModel),全部用同一个 1.4M 参数 ResNet-28;主结果集中在 3 种先进方法上。
    • 数据集为 CIFAR-10、SVHN、STL-10 三个图像分类数据集;UDA 在 STL-10 上未报告结果。
    • 每组实验 8 次攻击试验(Figure 4 为每点 10 个模型平均,Figure 2 为每格 16 次试验平均);作者说明因训练成本高未做更多试验。
    • 投毒率覆盖 0.1%–1.0%;标注数量覆盖 40、250、4000(Table 2)。
    • 防御评测在 FixMatch/MixMatch × CIFAR-10/SVHN 上给出分离图(Figure 7 及附录 B 的 Figure 9–12);论文未报告防御在 STL-10 或 UDA 上的结果,也未报告对 GAN 插值攻击的防御评测。
  6. 总结一下论文的主要内容

    作者提出针对半监督学习无标注数据集的投毒攻击与两个防御,称越准确的方法越易被攻击。

    一篇关于半监督学习数据投毒的安全分析论文,作者为 Google 的 Nicholas Carlini。

    • 问题:半监督学习用少量标注数据加大量(常从互联网抓取、审查少的)无标注数据训练;作者研究攻击者只投毒无标注数据集、使模型把任意目标样本误分类为指定标签的定向攻击。
    • 方法:Interpolation Consistency Poisoning——在真实标签为目标类的标注源样本 x0 与目标样本 x* 之间插入一条插值样本路径(基线为线性像素混合,密度函数 ρ(x)=1.5−x),利用半监督方法"猜标签并自我训练"的机制让标签沿路径传播到 x*;扩展包括无需训练样本知识的 zero-knowledge 攻击、DC-GAN 潜空间插值、迁移学习攻击。
    • 主结果:CIFAR-10/SVHN/STL-10 上,0.1% 投毒率平均成功率 67%、0.5% 达 91%(Table 1);CIFAR-10、40 标注、0.1% 投毒下 FixMatch 为 7/8。作者称达到同样目标的 clean-label 全监督投毒需投毒 1% 标注数据。
    • 准确率与脆弱性:三种先进方法(FixMatch/UDA/MixMatch)攻击成功率超 80%,四种准确率约 60% 的较早方法很少被攻破(Figure 4);作者认为更准确的半监督方法更易被攻击,更好的训练方法不太可能阻止该攻击。
    • 扩展攻击:GAN 插值 1% 投毒 10 次成功 9 次;迁移学习攻击 0.1% 投毒 10 次成功 8 次;zero-knowledge 攻击 1% 投毒约半数成功。
    • 防御与结论:作者提出两个防御——数据集检查(共线检测/聚类)和训练动态影响力监控;后者在 FixMatch/MixMatch × CIFAR-10/SVHN 上完全分开投毒与干净样本,代价为训练时间翻倍。作者认为,在无标注数据来源不可信时,直接用所有可得数据训练会带来定向误分类风险,需要针对投毒的防御。

相关论文

共同使用 STL-10
再看 3 篇
共同使用 STL-10
共同使用 SVHN
阅读原文arxiv.org