1. 论文基本信息

  • 标题:On the Possibilities of AI-Generated Text Detection

  • 作者:Souradip Chakraborty, Amrit Singh Bedi, Sicheng Zhu, Bang An, Dinesh Manocha, Furong Huang

  • 年份:2023

  • 领域关键词:AI-generated text detection,large language models,total variation distance,Chernoff information,sample complexity,watermark,paraphrasing attack

  • 论文链接https://arxiv.org/abs/2304.04736


2. 前言:为什么读这篇论文?

  •   论文在回答一个让人很焦虑的问题:在大模型生成文本已经“像人一样”的今天,我们还能不能可靠地区分“人写的”和“模型写的”?作者给出的答案是:在绝大多数现实场景里,只要你肯收集足够多的样本,检测不是不可能,而是“迟早可以”。

  •   它纠正了最近一波“检测不可能论”的悲观结论。 之前有工作证明,当人类文本分布和模型文本分布非常接近时,基于单条文本的检测器理论上很难做得比随机好太多,于是许多讨论直接滑向“LLM 文本检测从根上不可能”。这篇论文从信息论角度重新梳理:问题不在“能不能检测”,而在“要多少样本才能检测”。

  •   它给出了清晰的“样本复杂度”刻画。 作者写出了一个非常关键的式子:为了达到目标 AUROC,需要的样本数大致和$1/\delta^2$ 成正比,其中 $\delta$ 是人类分布和模型分布的总变差距离。也就是说:模型越像人,检测不是绝对不可能,而是要付出指数级的样本量。

  •   它的实验部分很接地气。 论文不只停留在理论,而是用 XSum、SQuAD、IMDb、FakeNews 等真实数据集,配合 GPT-2、GPT-3.5-Turbo、LLaMA / LLaMA-2 以及 RoBERTa Detector、GPTZero 等检测器,系统验证了一个直觉:不管你用什么检测器,几乎都有一个共性——“文本越长,多样本越多,效果越好”。


3. 基础概念铺垫:最小知识集

  先把几个核心概念讲顺,不然后面一串定理和 TV、AUROC 很容易看晕。

  第一,对象是“分布”,不是一条条文本。 论文把所有可能的文本记作集合 $S$,人类写作可以看成从分布 $h(s)$里采样,模型生成则来自另一个分布$m(s)$。一条具体的文本,只是从某个分布里抽出来的一个样本。

  第二,“检测器”本质上就是一个二分类器。 给你一段文本 $s$,检测器 $D(s)$ 输出一个分数,再和阈值 $\gamma$ 比较:大于等于阈值就说“是机器写的”,否则就说“是人写的”。围绕这个过程,我们关心两件事:
  ——真正率 TPR:机器文本被正确判成机器的概率;
  ——误报率 FPR:人类文本被错判成机器的概率。

  不同阈值对应一条 ROC 曲线,ROC 曲线下面积 AUROC 越大,说明检测器整体越好。 随机猜 AUROC 是 0.5,完美检测是 1。

  第三,总变差距离 TV 是“两个分布差多远”的标尺。 如果把两堆概率分布画成曲线,TV 大致可以理解成“这两条曲线之间的最大可分离度”,数值在 0 到 1 之间,越大代表越容易区分。论文里一个非常重要的量是 $\mathrm{TV}(m,h)$——模型分布和人类分布之间的差异。

  第四,“样本复杂度”讲的是:想要某个检测效果,需要多少样本。 单看一条句子可能看不出什么,但如果你手上有若干条来自同一个账号的发言,情况就完全不同。论文正是利用这一点:把检测问题从“单条文本”提升到“多条文本”的假设检验问题。

  第五,Chernoff 信息可以粗暴理解为“两个分布有多可区分”的指数级刻画。 它出现在这样一个关系里:随着样本数 $n$ 增加,多样本分布间的总变差会以指数形式逼近 1,指数的斜率就由 Chernoff 信息控制。你可以把它想象成:它决定了“多快能从几乎不可分,变成几乎完美可分”。


4. 历史背景与前置技术:从统计特征到“检测不可能”

  这几年围绕“大模型文本检测”,技术路线大致经历了这么几步演化。

  一开始是传统统计方法:看困惑度、n-gram 频率、相对熵这类手工指标。比如 GLTR 这样的工具,就是通过可视化这些概率异常,帮助人类判断是否是模型生成。这一类方法在早期的 GPT-2 时代还能撑一撑,但面对更强的 GPT-3 甚至 GPT-4,就开始频频翻车。

  后来出现了 DetectGPT 这样的“几何”思路:它利用一个现象——模型自己生成的文本,往往落在自己 log-likelihood 曲面上的“负曲率区域”。于是通过对原文本做小扰动,再比较 log-prob 的差异,来判断这段文本是不是模型自己写的。这种方法在零样本场景下表现相当不错,一度被视为“新希望”。

  与此同时,分类器式的检测器也在快速发展。 典型做法是用 RoBERTa 等模型,在大量标注好的“人类 vs 模型”文本上做微调,训练出一个二分类器。OpenAI 早期的 classifier 就是这样的范式,各种学术界的 fake news、misinformation 检测模型也多半属于这一类。

  另外一条线是 水印(watermark)方案:不是事后检测,而是在生成时就“打标记”。比如 Kirchenbauer 等人的工作,会在每一步生成时把 token 分成“绿名单”和“红名单”,让模型偏向于选绿名单中的词,形成一个只有持有密钥的人才能验证的隐藏模式。理论上,只要水印在,检测就很容易。

  问题是,攻击同样在进化。 Sadasivan 等人的工作表明:哪怕是很轻量的 paraphraser(复述模型),也能显著削弱绝大多数检测器,包括水印、神经检测器、DetectGPT 等。更糟的是,他们还给出了一个看上去很绝望的理论结论:在单样本场景下,如果 $\mathrm{TV}(m,h)$ 很小,那么任何检测器的 AUROC 上界都很有限,接近 0.5。

  这直接催生了“检测不可能论”——如果未来 LLM 的分布越来越像人,那检测是不是就彻底无解了?

  Chakraborty 这篇论文,就站在这个背景上,试图回答一个更精确的问题:
  “在现实场景中,我们往往可以收集多个样本。如果允许多样本检测,这个‘不可能’结论还成立吗?”


5. 论文核心贡献:把“不可能”改写成“要看你有多少样本”

  我读下来,这篇论文真正做的,是把原先那种“悲观的、静态的看法”,改写成一个更动态的叙事:不是问“能不能检测”,而是问“在给定的样本预算下,能检测到什么程度”。

  首先,在理论上,作者从 Le Cam 引理出发,重新搭建了 AI 文本检测的假设检验框架。关键不同是,他们不再只看单条文本,而是假设我们可以拿到来自同一分布的 $n$ 条文本,于是人类对应的是 $h^{\otimes n}$,模型对应的是 $m^{\otimes n}$。在这个框架下,总变差距离不再是固定的 $\mathrm{TV}(m,h)$,而是随 $n$ 增长而迅速逼近 1 的 $\mathrm{TV}(m^{\otimes n},h^{\otimes n})$

  其次,他们给出了一个非常直白的 样本复杂度定理:当$\mathrm{TV}(m,h)=\delta>0$时,如果你希望最优检测器的 AUROC 达到$\epsilon$,那么需要的样本数大概满足
  $ n = \Omega!\left(\frac{1}{\delta^2}\log \frac{1}{1-\epsilon}\right). $
  这句话翻译成人话就是:只要模型和人类之间有哪怕一点点分布差异,只要你肯收集足够多样本,理论上总能把 AUROC 拉到你想要的水平。

  然后,作者把这个结果从理想的独立同分布(IID)场景扩展到了更现实的、存在相关性的场景,比如同一段话里的句子互相影响。他们引入了一个简单的依赖结构参数 $\rho$,给出了一条更复杂的样本复杂度公式,说明相关性会有效减少“有效样本数”,但只要 $\delta>0$,检测依然理论可行。

  最后,他们用一系列实验证明:无论你是用传统机器学习分类器、RoBERTa Detector,还是第三方的 ZeroGPT,只要把“文本长度”“样本数”这两个旋钮往上拧,检测性能就会有明显提升——哪怕在 paraphrasing 攻击存在的情况下也是如此。


6. 方法详解:从单样本 ROC 到多样本信息论

6.1 问题建模:人类分布 vs 模型分布

  作者先搭了一个非常干净的数学框架:

  •   所有可能的文本组成集合 $S$

  •   人类写作对应一个分布 $h(s)$;模型生成对应另一个分布$m(s)$

  •   检测器 $D(s)$ 给出一个实数分数,和阈值 $\gamma$比较之后做二分类。

  在这个框架下,真正率和误报率可以写成积分形式:
  $ \mathrm{TPR}\gamma = \int \mathbf{1}{D(s)\ge\gamma} m(s),\mathrm{d}s, $
  $ \mathrm{FPR}\gamma = \int \mathbf{1}{D(s)\ge\gamma} h(s),\mathrm{d}s. $

  这两条曲线随着阈值变化,形成 ROC 曲线;再对 ROC 下面积积分,就得到 AUROC。

6.2 单样本情形:为什么之前会觉得“检测不可能”

  Le Cam 引理告诉我们:对于任意检测器 $D$ 和任意阈值 $\gamma$一类错误概率加上二类错误概率的和,至少是 $1-\mathrm{TV}(m,h)$ 换成 ROC 里的语言,就是
  $ \mathrm{TPR}\gamma \le \min{\mathrm{FPR}\gamma + \mathrm{TV}(m,h), 1}. $

  这条直线型上界,就是所谓的 ROC 上界。如果你把它积分,就会得到 AUROC 的一个上界:
  $ \text{AUROC} \le \frac12 + \mathrm{TV}(m,h) - \frac{\mathrm{TV}(m,h)^2}{2}. $

  当$\mathrm{TV}(m,h)$ 很小的时候,这个上界会非常接近 0.5。也就是说,在只能看一条文本的前提下,确实存在某些“特别难”的模型,人类文本和模型文本几乎不可分。 之前的“检测不可能论”基本就是抓住这一点展开的。

  但作者指出,这个结论背后有一个非常强的隐含前提:你永远只能看到一条样本。 这在很多现实场景里其实是不成立的,比如社交账号监测、论文段落检查、作业批改等,你往往可以拿到多条文本。

6.3 多样本情形:从单条文本到文本序列

  于是作者做了一个看似简单但非常关键的提升:考虑多样本检测。

  假设我们有来自同一来源的 $n$条文本 $S={s_i}_{i=1}^n$,并假定它们是 IID 的。那么:

  •   如果这个来源是机器,$S$就是从$m^{\otimes n}$ 采样;

  •   如果是人类,$S$ 就是从 $h^{\otimes n}$ 采样。

  这时,Le Cam 引理给出的就是多样本版本的 ROC 上界:
  $ \mathrm{TPR}\gamma^{(n)} \le \min{\mathrm{FPR}\gamma^{(n)} + \mathrm{TV}(m^{\otimes n},h^{\otimes n}), 1}. $

  关键在于右边的 $\mathrm{TV}(m^{\otimes n},h^{\otimes n})$。作者利用大偏差理论给出了一条非常漂亮的关系:
  
  其中 $I_c(m,h)$ 是 Chernoff 信息。

  这条式子告诉我们:只要 $I_c(m,h)>0$,也就是$m$$h$不是完全一样的分布,那么随着样本数 $n$ 成长,总变差会以指数形式逼近 1。 直观上看,就是图 1 那种效果:一开始 AUROC 可能只有 0.6,看起来非常一般,但随着 $n$ 增加,理论上可达到的 ROC 上界会快速拉升到接近 1。

【 ROC 曲线和 AUROC 上界随样本数 n 变化示意图】

6.4 最优检测器与样本复杂度定理

  在这个多样本设定下,最优检测器是什么?作者给出了一个 似乎有点“上古”的答案:似然比检验

  最优检测器的形式是:
  

  也就是说,如果这组文本在模型分布下出现的概率比在人类分布下更大,那么就判为“模型生成”;反之则判为“人类写作”。这与经典的 Neyman–Pearson 引理完全一致,只是对象从单样本换成了多样本。

  基于这个最优检测器,作者推导出前面提到的 样本复杂度定理:当 $\mathrm{TV}(m,h)=\delta$ 且想要 AUROC 至少为 $\epsilon$ 时,需要的样本数满足
  $ n = \Omega!\left(\frac{1}{\delta^2}\log \frac{1}{1-\epsilon}\right). $

  我们可以稍微算一下直觉:
  ——如果 $\delta=0.1$,想要 AUROC 达到 0.9,那么粗略上 $\frac{1}{\delta^2}=100$$\log\frac{1}{1-\epsilon} \approx \log 10$,样本数是几百量级;
  ——如果 $\delta=0.01$,则 $\frac{1}{\delta^2}=10000$,样本数瞬间飙升至少四个数量级。

  所以作者的结论其实非常务实:高质量 LLM 越像人,我们当然需要更多样本才能检测,但只要分布没完全重合,理论上检测始终有希望。

6.5 非 IID 情形:句子之间不是“互不相干”的

  现实世界里的文本,往往不是独立同分布的。比如一段影评里,后一句话强烈依赖前一句的情绪;一篇新闻里的多句话围绕同一个话题展开。作者为此引入了一个简化的依赖结构:

  •   把序列划分成 $L$ 个“主题块”,第 $j$ 块里有 $c_j$  条句子;

  •   块内句子之间通过一个参数 $\rho_j$  描述平均依赖程度,大概意思是“这一块里的句子越像彼此,$\rho_j$  越大”。

  在这样的设定下,作者借用了一个关于自相关数据的集中不等式,给出了非 IID 场景下的样本复杂度下界:相较于 IID 的公式,多了若干依赖度相关的补偿项,形式上大致会出现
  $ \sum_j (c_j-1)\rho_j $
  这样的修正。

  直觉是:如果一大段文本里句子高度相似,那么虽然你表面上拿到了很多句子,但“有效信息量”并没有那么多,检测所需的总长度会比 IID 情形更大。

6.6 附加讨论:对水印和检测器设计的启示

  论文附录里还有几条我挺喜欢的备注:

  •   如果我们通过更好的水印方案,主动拉大 $\delta$ ,就能显著减少所需样本数。

  •   现有许多基于 perplexity 的检测器,在非母语写作者上有严重偏差,这部分工作并没有直接解决这个问题,但它提示我们,可以通过多样本、段落级检测,绕过单句 perplexity 的一些局限。

  •   从任务角度看,LLM 生成的文本在很多场景下是为了“辅助”而非“伪装”,这时模型和人类的目标分布本身就不同,反而更容易检测——比如消除偏见、风格改写等场景。

【展示 LLM 与人类分布“易检测”和“难检测”两种情形的示意】


7. 实验结果与性能分析

7.1 实验设置概览

  作者选了四类数据集,既有典型的摘要、问答场景,也有情感分析和假新闻检测:

  •   XSum:新闻摘要。

  •   SQuAD:维基百科段落。

  •   IMDb:电影评论情感分类。

  •   FakeNews(Kaggle):真假新闻分类。

  生成模型方面,既用了 GPT-2,也用了 GPT-3.5-Turbo、LLaMA、LLaMA-2-13B-Chat、LLaMA-2-70B-Chat 等更强的模型;检测器则包括:

  •   简单的 Logistic Regression、Random Forest、两层 MLP

  •   OpenAI 的 RoBERTa-Large / RoBERTa-Base detector;

  •   第三方的 ZeroGPT

7.2 监督检测:n-gram 视角下的“TV → AUROC”对应

  在 XSum 与 SQuAD 这两个数据集上,作者做了一件很有意思的事情:先在 n-gram 层面估计 TV,再根据理论公式求出“最优检测器”能达到的 AUROC 上界。

  结果非常直观:当 $n=1$(词级别)时,两种分布的 TV 很小,对应的 AUROC 上界只有大约 0.58,看起来几乎没法用。但当把 n-gram 提升到 6,也就是接近句子层面时,TV 明显放大,对应 AUROC 上界能到 0.97 左右

  这非常像论文理论部分那句结论的实验版:在更长的片段上看模型,分布差异会被“积累强化”,可检测性自然增强。

7.3 真·检测器:序列长度越长,普通模型也能做得很好

  为了避免“理论上界很高,但真实检测器不行”的尴尬,作者又训练了三类传统分类器(LR、RF、MLP),用 TF-IDF 特征,对比不同“序列长度百分比”下的 AUROC。

  结果同样一目了然:

  •   当只用 20% 左右的序列(即文本较短)时,AUROC 勉强比随机好一点;

  •   当使用 60% 甚至 80% 的序列时,AUROC 可以升到 0.9 左右。

  也就是说,哪怕是最朴素的 bag-of-words 模型,也能在“长文本”“多样本”条件下表现得相当不错。

  作者还做了一个实验,我觉得非常贴近现实:把训练样本变成“两个独立句子的拼接”,再让检测器基于成对样本做二分类。 只多出了一个样本,AUROC 就从大约 0.73 拉升到了 0.97,这和理论里的“TV 在多样本下指数逼近 1”是高度一致的。

7.4 零样本检测:RoBERTa Detector / ZeroGPT 的真实表现

  接着,作者在 XSum 和 SQuAD 上,用 RoBERTa-Large / RoBERTa-Base DetectorZeroGPT 做零样本检测,生成端则分别用 GPT-3.5-Turbo、LLaMA-2-13B、LLaMA-2-70B 等模型。

  现象几乎一致:

  •   在短序列(比如 20–30 token)上,AUROC 徘徊在 0.5–0.6,和“检测不可能论”的悲观观察一致;

  •   随着序列长度增加到几百 token,AUROC 可以拉到 0.9 左右,有的组合甚至接近 0.97。

  更有意思的是,不论是 RoBERTa-Large 还是 ZeroGPT,这种随长度提升的“单调向上趋势”非常稳定。 这说明:检测器的具体结构可以不同,但“多样本增强可检测性”这件事,是一个相当普适的现象。

7.5 Paraphrasing 攻击:性能掉了,但趋势没变

  论文也没有回避“复述攻击”这个现实威胁。作者用开源的 HuggingFace Parrot paraphraser,把模型生成的文本先 paraphrase 一遍,再丢给检测器。

  结果是:AUROC 整体大致下降了 15 个百分点左右。 这和 Sadasivan、Krishna 等人的发现是一致的——paraphrasing 确实很有效。

  但有两个值得注意的细节:

  •   即便在 paraphrasing 后的文本上,随着序列长度增加,AUROC 仍然呈稳步上升趋势

  •   在“成对 IID 样本”的设定下,paraphrasing 带来的性能下滑更小。

  这意味着:攻击可以削弱检测能力,但如果我们愿意牺牲一些样本复杂度——比如多收一点文本、用更长的窗口——检测仍然有机会“扳回来”。

7.6 更一般的 NLP 场景:IMDb / FakeNews

  为了说明“多样本可检测性”并不限于“人 vs 模型”这种设定,作者还在 IMDb 和 FakeNews 这类情感 / 假新闻数据集上做了对比实验:

  •   先在 词级别 估计正负类之间的 TV,得到的理论 AUROC 上界大约只有 0.56–0.59;

  •   再在 段落级别 用 Logistic Regression / Random Forest / MLP 做分类,训练 AUROC 能达 0.9 左右,测试 AUROC 也稳定在 0.8 以上。

  甚至在刻意削弱样本(删掉部分句子)后,段落级检测的测试 AUROC 依然可以保持在 0.7 以上,明显高于词级理论上界。

  这组实验从另一个角度印证了论文的核心观点:很多看起来“分布重叠严重、几乎不可分”的任务,一旦你从单词跳到句子、从单样本跳到多样本,检测难度就会发生质变。


8. 亮点与创新点总结

  对我来说,这篇论文最有价值的地方不在于某个具体定理,而在于它给了我们几个 重新思考“AI 文本检测” 的角度。

  第一,把检测从“点”提升到“序列”。 之前的大多数讨论,都在纠结一条文本能不能被检测。这篇论文明确说:现实世界里,我们很少只看一条文本。真正合理的问题是:在账号、作者、对话会话这个粒度上,检测是否可行。 在这个层级上,多样本理论几乎总是站在我们这边。

  第二,用样本复杂度而不是“能 / 不能”来描述检测问题。 公式 $n = \Omega!\big(\frac{1}{\delta^2}\log \frac{1}{1-\epsilon}\big)$ 给了我们一个很实用的思考框架:
  ——如果你愿意多收样本、允许 AUROC 不追求 0.99,只要 $\delta$ 不为 0,就可以找到可行的点;
  ——如果 $\delta$ 极小,且你只能拿到极少的样本,那才是“几乎不可能”的场景。

  第三,它给水印和检测器设计都提了个醒。 对水印来说,目标变成了“在不显著破坏文本质量的前提下,尽量放大 $\delta$ ”,这样才能大幅降低检测的样本复杂度;对检测器来说,则是“不要执着于单句困惑度,可以更大胆地利用段落级、多样本级信息”。

  第四,它给“偏差和公平性”留下了一个出口。 论文引用了 Liang 等人的工作,指出基于 perplexity 的检测器会误伤非母语写作者。多样本检测、特别是基于语义段落的检测,可能是一个更公平的方向——至少不会仅仅因为语言表面“生硬”就判你为 AI 写的。


9. 局限性与不足:理论上的“可能”,离工程落地还有多远?

  虽然论文整体给人一种“豁然开朗”的感觉,但冷静下来,还是能看到不少现实中的鸿沟。

  第一,最优检测器需要知道真实的 $m$ 和 $h$ 。 理论里那个漂亮的似然比检测器,前提是我们能精确写出 $m^{\otimes n}$  和 $h^{\otimes n}$ 的密度。但在真实世界里,人类写作分布几乎不可能被完整建模,模型分布也会随着版本更新而变动。现实中的检测器,只能是各种近似,其 AUROC 很难贴近理论上界。

  第二,所需样本数可能大到不现实。$\delta$  非常小时,$1/\delta^2$ 会膨胀到惊人的规模。对于一些“极度拟人化”的模型,在合理时间内根本拿不到这么多样本(比如学生的一次作业、一篇论文)。理论上“可检测”,不等于产品形态上“可行”。

  第三,非 IID 模型的刻画还是比较粗糙。 论文里的相关性模型用一个 $\rho$  和块大小 $c_j$ 去概括语言结构,这对推理论文足够,但和真实语言现象相比还是太简化。比如话题突变、多说话人切换、多语言混杂等复杂结构,在这个框架里都没有被很好地建模。

  第四,攻击面远不止 paraphrasing。 文中主要考虑的是 paraphraser 带来的平滑扰动,但现实中还有手工编辑、混合人类文本、跨语言翻译再回译等更强的对抗形式。多样本检测在这些攻击下何时会失效,还需要更多系统性研究。

  第五,公平性问题仍然悬而未决。 尽管作者在附录里讨论了检测器对非母语写作者的偏差,但整篇论文的实验主要集中在英文数据上,检测方案也没有显式针对公平性做校正。如何在“可检测”和“不过度误伤正常用户”之间取得平衡,依然是一个相当棘手的问题。


10. 全文总结:如果只记住几件事

  如果把这篇论文压缩成几句话,我会这样描述:

  第一,这篇工作把 AI 文本检测从“单条文本几乎不可能”的悲观叙事,转成了“在多样本条件下,只要人类和模型分布不完全一样,就总有检测希望”的乐观叙事。

  第二,它用信息论工具给出了具体的样本复杂度公式,让“要多少样本才能检测到某个水平”这件事,有了定量刻度。

  第三,大量实验表明:无论是简单的袋词模型,还是 RoBERTa Detector、ZeroGPT,只要你愿意看更长的文本、收集更多样本,检测性能几乎都会稳步提升——哪怕在 paraphrasing 攻击存在的情况下。

  第四,从工程视角看,“检测是否可行”不再是一个二元问题,而是一个关于样本预算、目标 AUROC、攻击强度的折中问题。 对我来说,这恰恰是这篇论文最重要的观念转变:与其问“能不能检测”,不如问“在我的约束下,能检测到什么程度”。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐