ChatGPT 和 LLaMA 等大型语言模型 (LLM) 的发布,根本性地改变了我们要生成文本的方式。从撰写邮件到编写代码,其实用性毋庸置疑。然而,这种力量也伴随着阴影: 学术造假、虚假信息传播以及复杂的网络钓鱼。为了应对这一问题,一个新的“AI 检测器”产业应运而生——这些工具旨在区分人类撰写和机器生成的内容。
但是,这些守护者的鲁棒性如何呢?
在这篇文章中,我们将深入探讨一篇名为 “RAFT: Realistic Attacks to Fool Text Detectors” (RAFT: 欺骗文本检测器的逼真攻击) 的论文,该论文提出了一种针对这些检测器进行“红队测试” (攻击) 的新颖框架。与以前经常生成乱码或语法错误文本的方法不同,RAFT 生成的攻击对人类肉眼来说基本上是不可见的,但足以混淆目前最好的检测器。
问题所在: AI 检测的脆弱性
要理解这种攻击,我们首先需要了解防御机制。大多数现代零样本检测器 (如 DetectGPT) 的工作原理基于似然性 (likelihood) 和曲率 (curvature) 。 它们假设机器生成的文本占据特定的统计“甜点区”——即倾向于使用模型本身以高概率预测的词模式。
因此,攻击者的目标很简单: 在不改变含义的情况下,对机器生成的文本进行恰到好处的修改,以破坏这些统计模式。
此前在这方面的尝试主要分为两类:
- 改写 (Paraphrasing) : 重写整段文本 (例如使用 DIPPER 之类的工具) 。这种方法有效,但往往会过于剧烈地改变语义或风格。
- 词语替换 (Word Substitution) : 将单词替换为同义词。以前这方面的尝试通常很“幼稚”。它们可能会在不合适的语境下将“happy”替换为“elated”,或者完全破坏语法结构。
RAFT 的作者发现了一个空白: 是否可以在修改文本以欺骗检测器 (降低机器生成评分) 的同时,保持语法完美且与原文语义相同 ?
解决方案: RAFT (欺骗文本检测器的逼真攻击)
RAFT 代表了一个在黑盒设置下运行的框架。这意味着攻击者不需要知道他们试图欺骗的具体检测器的内部权重或架构。相反,RAFT 利用了 LLM 的一个迷人特性: 嵌入 (embeddings) 的可迁移性。
该方法包含一个旨在对外科手术般修改文本的流水线。让我们分解一下其架构。
1. 数学目标
目标是将机器生成的文本序列 \(X\) 转换为扰动版本 \(X'\),使得检测器 \(D\) 将其归类为人类撰写。然而,这种优化有严格的约束条件。新词必须与旧词的词性 (Part-of-Speech, POS) 匹配,并且更改的总数必须受到限制 (以保留原始含义) 。
这个约束优化问题形式化如下:

在这里,\(pos(\mathbf{x}'_i) = pos(\mathbf{x}_i)\) 确保了如果原始词是名词,替换词也必须是名词。这对于保持语法流畅性至关重要——这是以前的攻击经常忽略的一步。
2. 使用代理选择弱点
由于 RAFT 将目标检测器视为黑盒,它原本并不知道哪些词“暴露”了文本是 AI 生成的事实。为了解决这个问题,作者使用了代理评分模型 。
他们假设 LLM 共享相似的“潜在语义空间”。即使你是用 GPT-3.5 生成的文本,你也可以使用另一个模型 (如 OPT-2.7B 或 BERT) 来扫描文本并识别“重要”单词——即那些如果被更改,最有可能破坏文本统计特征的单词。
这些候选单词 (\(X_k\)) 的选择基于最大化代理函数 \(F\):

这一步使 RAFT 变得高效。它不是随机尝试更改每个单词,而是针对那 10% 最重要的单词。
3. 生成式替换与过滤
一旦确定了目标单词,RAFT 不会仅仅查阅同义词库。它会提示辅助 LLM (如 GPT-3.5) 生成具有上下文感知的同义词。
工作流程如下:
- 提示 (Prompt) : 要求 LLM 在特定句子上下文中提供目标单词的替换词。
- 过滤 (Filter) : 使用自然语言工具包 (NLTK) 严格强制执行词性一致性。如果 LLM 建议用动词替换名词,该建议将被丢弃。
- 贪婪选择 (Greedy Selection) : 从剩余的有效候选项中,RAFT 选择最能降低目标检测器分数的那个。
可视化影响
通过视觉方式最能理解这一过程的效果。下面的直方图显示了检测分数的分布。
- 蓝色: 人类文本 (集中在 0 或负数附近) 。
- 绿色: 原始 GPT-3.5 文本 (高分,容易被检测) 。
- 橙色: RAFT 攻击后的文本。

注意“DetectGPT”和“Fast-DetectGPT”图表中的剧烈变化。RAFT 攻击 (橙色) 将 AI 文本的分数分布完全移动到了通常由人类占据的区域。检测器再也无法区分它们。
实验与结果
研究人员针对最先进的检测器 (包括 DetectGPT、Ghostbuster 和 Fast-DetectGPT) 评估了 RAFT。他们使用了涵盖新闻 (XSum) 、问答 (SQuAD) 和学术摘要的数据集。
攻击成功率
使用的主要指标是 AUROC (接收者操作特征曲线下面积) 。1.0 的分数意味着完美检测;0.5 则是随机猜测。成功的攻击应该会显著降低 AUROC。

如表 1 所示,结果对当前的检测器来说是毁灭性的。
- XSum 数据集: Fast-DetectGPT 拥有近乎完美的检测率 (0.9903) 。在使用 OPT-2.7B 代理进行 RAFT 攻击后,分数暴跌至 0.0006 。
- 对比: RAFT 显著优于“基于查询的替换” (以前的方法) 和“Dipper” (改写) 。虽然 Dipper 降低了检测率,但它对文本的改变太大了。RAFT 在保持文本结构完整的同时破坏了检测器。
文本质量: “逼真”因素
如果你把文本变成无稽之谈,破坏检测器是很容易的。真正的挑战在于保持质量。作者测量了困惑度 (Perplexity) (衡量文本对 AI 来说听起来有多自然) 和余弦相似度 (Cosine Similarity) (含义保留程度) 。

在表 2 中,我们看到 RAFT (特别是使用 OPT-2.7B 时) 保持了比基于查询的替换 (28-36) 低得多的困惑度 (大约 17-26) 。这证实了经过 RAFT 攻击的文本读起来更通顺。
此外, 表 3 证实了语义的完整性:

相似度分数在 0.97 到 0.99 之间,这意味着受攻击文本的含义与原文几乎完全相同。
鲁棒性与约束
作者还进行了消融研究,以理解 RAFT 为何 有效。
1. 掩码 (Mask) 比例重要吗? 他们测试了需要更改多少单词才能欺骗检测器。

图 4 揭示了一个“最佳平衡点”。仅更改 10% 的单词,AUROC (红/橙线) 就降至接近零。更改更多的单词 (15-20%) 并不能显著改善攻击效果,反而会严重损害文本质量 (困惑度上升) 。
2. 语法 (POS) 约束的重要性 词性过滤器真的有必要吗?

表 6 显示,虽然移除 POS 约束可能会稍微进一步降低检测器分数,但它会破坏文本质量 (困惑度跃升至 31.36) 。强制执行语法规则可以保持文本的可读性,同时仍然完全破坏检测器。
3. 综合性能 为了可视化不同阈值下的鲁棒性,我们可以查看 ROC 曲线:

在图 6 中,实线代表原始检测能力 (向左上角弯曲,表示高准确率) 。虚线代表对抗 RAFT 的性能。曲线在对角线 (随机猜测) 附近变平,从视觉上证明了该攻击在各种操作点上的有效性。
启示: 变攻为守
这篇论文不仅仅是一本破坏系统的手册;它指明了一条前进的道路。作者证明了 RAFT 可以用于对抗训练 。
通过获取一个检测器 (Raidar) 并在正常文本和 RAFT 攻击文本的混合数据上重新训练它,检测器实际上学会了识别攻击。

表 7 展示了“Adversarial” (对抗) 列。当检测器被重新训练后,其检测攻击的能力上升了 (例如,在 XSum 上从 0.60 上升到 0.73) 。这表明虽然当前的检测器很脆弱,但它们并非毫无希望——它们只需要在更复杂、更逼真的对抗样本 (如 RAFT 提供的样本) 上进行训练。
结论
RAFT 凸显了当前 AI 安全生态系统中的一个关键漏洞。通过利用 LLM 嵌入的可迁移性并强制执行严格的语法约束,作者创建了一种使最先进的检测器失效的攻击方法。
给学生和研究人员的关键要点:
- 检测器依赖脆弱的信号: 机器文本中的统计异常很容易通过仅替换 10% 的单词来抹平。
- 语法很重要: 对文本的有效对抗攻击必须遵守语言规则 (POS) ,否则无法通过“人眼”测试。
- 代理效应: 你不需要访问目标模型就能破坏它。代理模型通常能提供足够的信号来指导攻击。
生成与检测之间的猫鼠游戏仍在继续。RAFT 证明了目前生成器占据上风,但也提供了构建下一代更具弹性检测器所需的数据。
](https://deep-paper.org/en/paper/file-3528/images/cover.png)