前面四讲都在讲"事后猜测":拿到一段文字,从统计特征反推它是不是机器写的。这条路有个天生的弱点——特征可以被模仿,也可以被洗掉。
于是有人提出另一条路:干脆让模型在写的时候就埋个记号。这就是文本水印。
一、水印是怎么埋进去的
最主流的一种做法,思路意外地简单。
我们知道,模型写每个字时,都是从一堆候选字里按概率抽一个。水印算法做的是:在抽取之前,偷偷给一部分候选字加分。
想象你在考选择题,监考老师事先跟你约定:凡是 C 选项,我都给你加 5 分倾向。你仍然可以自由作答,但整体上你选 C 的次数会明显多于正常水平。改卷人一看——C 的比例异常高,就知道你被"标记"过。
具体流程大概是这样:
- 生成第 N 个字时,用前面已经写出的几个字作为种子,算一个哈希值;
- 用这个哈希值把词表随机分成两组:绿名单和红名单(因为种子随上文变化,所以每个位置的分组都不一样);
- 给绿名单里的候选字加一点分数,让它们更容易被选中;
- 正常生成,输出文字。
结果是:这段文字在人类看来完全正常——每个字都通顺、自然、符合语境,但绿名单字的比例会明显高于随机水平。
二、怎么验
验证时,检测器做同样的事:读这段文字,在每个位置用同样的规则重新算出当时应该属于绿名单还是红名单,然后统计实际选中的字里绿名单占多少。
- 如果绿名单比例接近随机(约 50%),说明这段文字大概率不是带水印的模型生成的;
- 如果比例显著偏高(比如 70%),就基本可以确定它来自这个模型。
统计学上会算一个 z 值:文字越长,证据越充分,判断越可信。这也是水印的一大优势——它有明确的统计显著性,不是拍脑袋的百分比。
三、听着很完美,问题在哪
问题不少,而且每个都很要命。
1. 得模型厂商配合
水印必须在生成时植入。这意味着只有模型厂商自己愿意加,水印才存在。目前只有部分厂商公开做了这件事,而且实现方式各不相同,没有一个统一标准。你没法给"别人家的模型"事后打水印。
2. 改写一下就没了
这是最致命的。水印依赖"每个位置的选字倾向",一旦文字被改动,位置关系就全乱了:
- 同义改写:换一批词,绿名单比例立刻掉回随机水平;
- 翻译中转:中→英→中翻译一遍,水印基本消失;
- 人工混写:人写一半、AI 写一半,或者人改几段,统计信号被稀释到检测不出来;
- 换个模型重写:让另一个没加水印的模型复述一遍,水印就没了。
换句话说,水印防的是直接复制粘贴,防不了有意的规避。而真正需要被防的,恰恰是后者。
3. 可能被误伤真人
如果有人故意拿一段人写的文字,声称"这是 AI 生成后我改过的",水印的缺席并不能证明清白。反过来,理论上也存在嫁祸的可能:用人写文本去"骗"出一个水印?这一点较难,但学术界已经讨论过这类攻击。
4. 影响生成质量(争议中)
给候选字加分,等于轻微地扭曲了原本的概率分布。加水印越强,检测越容易,但文本质量可能下降——这是个权衡。支持者认为调得好影响微乎其微,反对者认为在创意写作场景不可接受。
四、所以水印的定位是什么
把水印当成"唯一解"会失望,但它在特定场景非常有用:
- 溯源:证明"这段文字确实出自我的模型",用于版权与责任界定;
- 威慑:提高随手抄袭的成本——直接复制粘贴会被抓;
- 合规:满足监管对"AI 生成内容需标识"的要求(国内已有相关规定要求对 AI 生成内容添加标识)。
值得注意的是,国内监管走的是另一条路子:显式标识。要求在 AI 生成的内容上直接加可见或不可见的标识,而不是靠统计特征去猜。这条路对平台的要求更高,但确定性强得多。
水印解决的是"这是谁生成的",不是"这是不是 AI 生成的"。前者有答案,后者永远只能给概率。
五、几条路线怎么配合
现实中的鉴定系统,一般是几层叠在一起用:
任何单独一层都不可靠,叠起来才能把误判压到可接受范围。而即便如此,也仍有边界——这正是下一讲的主题。
小结
文本水印是个优雅的方案:不改可读性,统计上可验证,误判率远低于特征检测。但它只在"生成方配合 + 内容未被改写"的前提下成立,而这两个前提在现实中经常不成立。它是重要的一块拼图,不是银弹。
文本部分讲到这里。接下来换个对象——图片。第 7 讲开始讲 AI 生成的图片怎么认,先从你自己的眼睛开始。