NLP 对抗攻击:当深度学习撞上"离散文本"

  • 关联论文:1901.06796

2014 年起图像领域的对抗样本火了——给一张熊猫图加肉眼几乎看不见的噪点,CNN 就能以 99% 置信把它认成长臂猿。人们以为同样的招式能搬到 NLP,结果发现搬不动。原因不是深度学习不通用,而是文本和图像有结构性差异:图像是连续像素,扰动用 L∞ 范数就够;文本是离散 token,"扰动"必须满足"语义不变 + 语法正确",而离散处不可微,梯度回不来。Zhang 团队这篇 2019 年的综述,把"对 NLP 模型做对抗攻击"作为一个独立分支系统梳理。

核心机制:三轴分类法。论文按三条轴把所有已有工作归类,这是后续六年几乎所有 NLP 鲁棒性文献沿用的骨架。轴 A 是攻击能力——白盒(可访问模型结构、权重、梯度,如 FGSM、BIM 在 NLP 的离散版移植)、黑盒(仅能查询或观察输出,靠迁移或启发式搜索)、灰盒(部分结构或 logits 已知)。轴 B 是扰动粒度——字符级(typo、视觉混淆如"l"→"1"、"o"→"0"、Unicode 归一化)、词级(同义词替换、打乱语序、插入无关词、删除功能词)、句子级(paraphrase 改写、通用触发后缀、水印 / 后门短语注入)。轴 C 是扰动可见性——不可见(基本保留原文读感)、可见但语义不变。该维度直接关联"人类可读性 A/B 测试"评估环节。

代表性方法与绕开"离散不可微"的两种抓手:字符级有 HotFlip(Ebrahimi 2018,把字符级替换视作矩阵-向量乘积,用梯度一次性找出"翻转哪一字符位置、向哪个方向"最有效),梯度驱动的字符级白盒攻击则把字符 one-hot 视作连续 softmax,先算梯度方向再"投影"回合法 token。词级有 FGSM / BIM 离散化版(用"使 loss 变化最大的词替换"实现,约束项通过同义词距离控制)、TextFooler(按重要性排序找出关键词、用语义相似度阈值约束选替换词)、基于强化学习的序列决策生成攻击(SCA 类)。绕开"离散不可微"的工程抓手只有两条:要么做 token 级离散搜索(强化学习 / beam search),要么在连续 embedding 上做扰动后强制 round-trip 回合法 token 集合——后者是在 embedding 空间加噪再投影回来。

证据边界:综述本身不报"碾压 SOTA",方法间横向百分数比较在原文是定性描述 + 引文而非全局表。论文给出若干对当时典型模型的对照观察:字符级 typo 攻击在字符级 CNN 上攻击成功率高,但在 Transformer / Subword tokenizer 上效果显著下降——因为 BPE 把 typo 词切成多个常见子词;词级 synonym 替换对 LSTM 类情感分类器有效,但对 BERT 类预训练模型攻击效率大降。但这些均为定性描述,无 verbatim 百分数,引用时需回查 HotFlip、TextBugger、TextFooler 原始论文。

工程局限:原版(v3 约 40 页,2019-04)在大规模预训练模型(GPT-3、T5、ChatGLM)成为新战场之后即过时,Prompt Injection、LLM Jailbreak 等 2022 年后的攻击范式不在覆盖范围;未量化人类可读性(多数工作用嵌入余弦而非人评);未给出统一 benchmark 的逐方法对比与可执行复现脚本,这两点后续由 TextAttack / OpenAttack 在 2020 年明确补齐。落地启示:扰动粒度即威胁模型,挡 typo 要做 subword 归一 + 拼写纠错,挡 synonym 要做语义相似度检测;评估必须同报"攻击成功率 + 扰动幅度 + 语义保留"三角,单一指标监控系统会被最小扰动绕过;对抗训练在工业系统成本高,离散生成开销是图像的 5–10 倍,只在高风险场景(NLI / 医疗 ICD / 司法文本)值得全量投入,其余用对抗数据增强替代。


标题变体

  1. 为什么 NLP 比图像更难"骗"?一张表看懂对抗攻击的三轴分类
  2. "把好评改成好评!"——同义词替换就能让情感分类器翻车?
  3. 离散文本的对抗样本:词级、字符级、白盒、黑盒,一次讲清楚

小红书卡片文案

你以为 NLP 模型的 99% 准确率意味着靠谱?一篇 2019 年综述告诉你:图像对抗攻击那些套路,搬到文本上几乎全失效——因为文本是离散的,没法用 L∞ 范数加噪。但"失效"不等于"安全",作者用"能力 × 粒度 × 可见性"三轴把所有对抗方法归类:字符级 typo、同义词替换、整段改写各有打法,BERT 比 LSTM 鲁棒,但 BPE tokenizer 让字符级攻击武器自废武功。工程落地最反直觉的一点是——只看"攻击后准确率下降"会被骗,攻击者只要改一两个字就能绕过单一指标监控系统,必须"攻击成功率 + 扰动幅度 + 语义相似度"三角同时报告。这篇综述是 NLP 鲁棒性研究者引用率最高的入门地图。