AI 检测器如何工作?困惑度、突发性与词元概率
AI 检测器并不像读者那样识别机器写作。它们衡量你的文本有多可预测,然后把这一点转化为分数。一旦理解这一点,技术本身及其失效之处都会更容易理解。
你的大学已经开始使用 AI 检测器处理提交内容,而一份报告返回了一个你没有预料到的数值。在你试图对其提出异议之前,先了解这个数值意味着什么会有帮助。AI 检测器是如何工作的?它们并不是像人一样阅读机器生成的文本。它们衡量你的文本对语言模型来说有多可预测,然后把这种可预测性转化为一个分数。这个过程中的任何部分都不会考察你的意思、你的论证,或者你是否真的写了这篇东西。
我花了多年时间构建用于从统计上拆解文本的工具,而理解检测最有用的一点是这一点, 它衡量的是典型性,而不是来源。一旦理解了这一点,这项技术及其失败之处都会更容易理解。
检测器实际在测量什么
检测器并不知道任何内容是谁写的。它所拥有的是一个语言模型和一个评分函数。该模型从左到右读取你的文本,并在每个位置上生成一个关于下一个词应该是什么的概率分布。给它输入 "the results of the" 这些词,它会把 "study" 排在最高,把 "experiment" 排得稍低一些,而把 "marmalade" 排在接近零的位置。
因此,检测器对你的文档提出一个问题, 这段文本选择模型所预期的词的频率有多高?那些不断落在高概率词上的写作看起来像机器生成的,因为文本生成器正是这样做的。模型一次又一次地从自身分布的顶部进行采样,持续数千个 token。
这就是为什么与营销说法相比,这整个类别的基础更不稳固。检测器并不是在寻找水印或指纹。它只是注意到你的行文在统计上并不出人意料,而不出人意料的行文除了 chatbot 之外还有许多成因。
Perplexity, 模型感到多惊讶
核心指标称为 perplexity,这比听起来更容易。取模型分配给每个实际出现的词的概率,对这些概率取对数后求平均,再对结果取指数。得到的是一个单一数值,用来描述模型对你的文档有多意外。你可以检查你自己草稿的 perplexity,而不是去猜测。
低 perplexity 表示文本走向了模型所预期的方向。高 perplexity 表示它不断转向模型未预期的方向。人类写作往往更高,因为人们会选用奇特而具体的名词,非同寻常的结构,以及从意想不到之处开始的句子。生成文本往往更低,因为解码过程本身就是为了避免这些动作。
比较两种方法部分的开头。"The results of the study were statistically significant" 是几乎任何模型都会高置信度预测出的序列,因为它不包含任何意外信息。"Two of the three cohorts drifted before week six, which we had not planned for" 则远不那么可预测,因为它包含具体而别扭的信息,无法从论文其余部分猜出。第二句会给检测器带来真实的意外,而这种意外正是被识别为人类写作的依据。
Burstiness, 方差,而不是平均值
单靠 perplexity 还不够,因为一篇文档即使在平均意义上完全合理,底层也可能异常一致。真正重要的是文本内部的变化,而 burstiness 衡量的正是这一点, 即随着写作推进,句子长度和句子层面的 perplexity 波动有多大。burstiness checker会直接显示这种分布范围。
当我们有把握时,速度会加快,当我们在试探时,速度会放慢,而这种节奏会保留在行文中。人类是分段写作的。一段文字可能以一个 8 个词的简短陈述句开头,接着进入一个 34 个词的句子,其中包含三个分句和一个插入语,然后又回到简洁的表达。
模型输出并不能可靠地做到这一点。句子长度会聚集在平均值附近。段落会以整齐的成组形式出现。每个部分都会先重述自己的标题再开始。它读起来很流畅,但得分很差,因为句子之间的低方差是检测器所拥有的最强信号之一。暴露它的并不是某一句话,而是这种一致性。
| 信号 | 它衡量什么 | 为什么机器文本得分低 |
|---|---|---|
| Perplexity | 模型对你的用词有多意外,按整篇文档取平均 | 解码时按设计从高概率 token 中采样 |
| Burstiness | 句子长度和可预测性在文本中变化的幅度 | 输出聚集在平均值附近,而不是起伏波动 |
| Token probability | 逐词似然,另外两个指标就是据此计算出来的 | 连续出现很长一段单个来看都不显眼的选择 |
Token probability 以及分数从何而来
这两个数都建立在第三个数之上, 即逐 token 对数似然, 这是其他一切计算所依据的原始材料。有些工具会直接把它显示给你,标出你的文本最可预测的那些片段。这些标注并不是在指控某些特定句子,无论界面暗示什么。它们只是对文档级数值贡献最大的部分。
研究方法已经超越了简单阈值。DetectGPT 及其后续方法关注的是曲率, 它们会对你的文本做轻微扰动,并检查似然是否会按生成文本通常呈现的模式下降。其他方法则在两个不同模型下比较同一段文字,并把分歧本身作为信号。
有一个后果对任何接受评估的人都很重要。由于这些指标是相对于某个特定参考模型计算的,分数始终是相对于该模型而言的。两个检测器可以读取同一段文字却得出完全不同的结论,而且两者都没有故障。它们只是用不同的参照点回答同一个问题。
第二个后果较少被提及。只有当一段文本与模型训练时所见的内容相似时,模型才能把它识别为可预测,因此,随着参考模型与生成文本的来源之间的差距扩大,检测质量会下降。更新的生成器、较少见的学科,以及英语以外的语言,都会拉大这一差距。这也是为什么在受控基准中测得的准确率,往往一旦面对真实的一批提交文本就难以维持。
Humanize your own paper
Transform your AI-assisted text and make it sound human, without touching important words or citations.
商业检测器在此基础上增加了什么
机构实际购买的工具并不运行教科书式的困惑度。Turnitin、GPTZero、Originality 和其他工具会在大规模标注的人类文本与机器文本集合上训练监督分类器,同时使用统计特征和文体特征。分类器学到的,是训练数据中区分这两类文本的任何东西,而这比一般意义上的“AI 写作”更狭窄,也更具历史局限性。
训练依赖性是一个不显眼但关键的问题。一个主要基于某一代模型输出训练的分类器,必须推广到更新的模型、陌生的学科,以及其英语风格与训练分布并不相似的作者。供应商会公布他们自己评估中的准确率,而独立基准在同样的工具上通常远低于这些数字。
在不过度解读的情况下阅读分数
检测器报告通常以百分比形式呈现,而这一百分比经常被误读。它并不是你的文档中由机器写成的比例。根据工具不同,它可能是分类器的置信度,也可能是超过某个内部阈值的句子所占比例,而供应商往往对具体含义语焉不详。两份都显示 60% 的报告,可能意味着截然不同的事情。
了解一个分数为何会因与作者无关的原因而变化,也很重要。短文更容易产生噪声,因为可供平均值稳定下来的文本更少,而一篇五百词的论文,可能仅凭两三句不寻常的句子就大幅波动。引文内容也会被计入,除非工具将其剔除,因此,一篇充满块引用的文献综述,会继承其所引用内容的可预测性。充满标准术语的技术性段落也会呈现同样的情况。
如果你收到标记,合适的回应是提供证据,而不是围绕该指标进行争论。版本历史、草稿、笔记和检索记录都能说明写作过程,而过程才是违规审查小组真正能够评估的内容。没有任何人能够指出一个阈值,把谨慎写作者与模型明确区分开来。
为什么检测器会标记并非任何模型生成的写作
误报并不是罕见故障。它们直接源于对典型性的测量。任何真正可预测的写作,都会被评为可预测,不论其作者是谁。
非母语英语写作者受影响最大。Stanford 的研究人员发现,检测器将大量非母语者的论文误判为机器生成,而对母语者论文的分类则是正确的。其原因是机械性的,而不是恶意的, 以第二语言写作的人往往依赖于陈旧的结构和更常见的词汇。这正是低困惑度的特征,因此,ESL 写作者会因为写得谨慎而被标记。
学术规范也会造成同样的问题。方法部分本来就应当是程式化的。法律写作、技术文档和临床报告都更重视标准措辞,而不是新颖表达。大量编辑会进一步加剧这一问题,因为润色草稿通常意味着去除那些构成你统计特征的不规则之处。
各机构已经注意到了这一点。Vanderbilt 关闭了 Turnitin 的 AI 检测功能,而不是依据其无法核实的分数采取行动,其他大学也限制了这些数字在学术不端程序中的使用方式。应当把检测器分数视为一条薄弱的证据,而不是裁决。
这对你的写作意味着什么
由其工作机制得出的实际建议并不复杂,而且其中没有任何一项涉及操纵。要有意识地变化句子长度,因为过度一致才会被识别出来。保留具体细节, 真实的数字, 真实的限制, 第六周出了什么问题。泛泛的合格表现最容易被判定为机器生成,而具体性既是更好的写作,也是更强的信号。
也要保留你自己的表达方式。如果你有自己惯常的说法,就保留下来。那种把草稿不断打磨,直到它听起来像领域内其他所有论文一样的冲动,正是会降低你的 perplexity 的冲动。
有一点要避免, 有些工具会故意引入语法错误来提高 perplexity。这在指标上有效,但对于任何需要评分或同行评审的内容来说都是糟糕的主意,因为你是在用一种可疑性换取一种确定性。目标是写出读起来像你自己的文字,而不是故意损坏文本。为人类读者重写与故意破坏文本以欺骗评分器之间,差别就在于此。
如果你想查看自己草稿中的这些数字,而不是只凭黑箱的说法来判断,那么底层测量并不神秘。免费的文本分析工具会显示你的文章处于什么位置,你也可以自行判断那些平直的段落是否属于值得修正的文体问题。
Frequently Asked Questions
是的,而且这种情况是可预见的。检测器衡量的是文本在统计上有多可预测,而不是谁写的,因此任何真正公式化的写作都会被评为机器生成。独立基准测试持续报告的准确率低于供应商声称的水平,而且多所大学已限制这些分数的使用方式。
PhD in natural language processing, with years spent building NLP applications end to end. Moe works on text analysis: lexical and syntactic structure, and what separates machine-generated prose from human prose statistically. He has been experimenting with computational linguistics since the early days of NLTK, spaCy and WordNet, and still writes most of his tooling in Python.