水印:SynthID、Stable Signature、C2PA 本节摘要:三项技术结构化了 2026 AI 生成内容溯源。SynthID(Google DeepMind)——图像水印 2023 年 8 月上线,文本 + 视频 2024 年 5 月(Gemini + Veo),文本 2024 年 10 月经 Responsible GenAI Toolkit 开源,2025 年 11 月随 Gemini 3 Pro 推出统一多模态检测器。文本水印不可察觉地调整 next-token 采样概率;图像/视频水印在压缩、裁剪、滤镜、帧率变更下存活。Stable Signature(Fernandez 等,ICCV 2023,arXiv:2303.
本节摘要:三项技术结构化了 2026 AI 生成内容溯源。SynthID(Google DeepMind)——图像水印 2023 年 8 月上线,文本 + 视频 2024 年 5 月(Gemini + Veo),文本 2024 年 10 月经 Responsible GenAI Toolkit 开源,2025 年 11 月随 Gemini 3 Pro 推出统一多模态检测器。文本水印不可察觉地调整 next-token 采样概率;图像/视频水印在压缩、裁剪、滤镜、帧率变更下存活。Stable Signature(Fernandez 等,ICCV 2023,arXiv:2303.15435)——微调潜在扩散解码器使每个输出含固定消息;裁剪到 10% 内容的生成图在 FPR<1e-6 下检出 >90%。后续《Stable Signature is Unstable》(arXiv:2405.07145,2024 年 5 月)——微调可在保持质量下移除水印。C2PA——密码学签名、防篡改元数据标准(C2PA 2.2 Explainer 2025)。水印与 C2PA 互补:元数据可被剥离但带更丰富溯源;水印穿过转码持久但带更少信息。
对应原课程:Phase 18 · Lesson 23 ·
watermarking-synthid-stable-signature-c2pa(原英文phases/18-ethics-safety-alignment/23-watermarking-synthid-stable-signature-c2pa/docs/en.md)。前置:Phase 10 · 04,Phase 01 · 09。
阅读完本节,你应当能够:
2023-2024 年,深度伪造与 AI 生成内容大规模进入政治与消费语境。水印是提议的技术溯源信号:生成时标记,事后检测。2025 证据:没有水印无条件鲁棒,但与 C2PA 元数据分层后,组合提供可用的溯源叙事。
Kirchenbauer 等 2023 机制,由 Google 产品化:(1) 每个解码步,哈希前 K 个 token 产出词表的伪随机划分,分「绿」「红」集;(2) 给绿集 logit 加 δ 偏置采样;(3) 生成含的绿 token 多于偶然产出。检测:重哈希每个前缀,数生成里的绿 token,算 z 分。水印文本 z>0,人类文本约 0。性质:对读者不可察觉(δ 小);有词表划分函数即可检测;不抗改写——重写文本破坏信号。SynthID-text 于 2024 年 10 月经 Google Responsible GenAI Toolkit 开源。
Fernandez 等 ICCV 2023。微调潜在扩散解码器,使每张生成图含嵌入潜在表示的固定二进制消息。检测由神经解码器从潜在解码。裁剪到 10% 内容的图在 FPR<1e-6 下检出 >90%。2024 年 5 月《Stable Signature is Unstable》:微调解码器可在保持图像质量下移除水印。对抗性生成后微调很便宜;水印的对抗鲁棒性有限。
随 Gemini 3 Pro:一个多模态检测器,从一个 API 读文本、图像、音频、视频的 SynthID 信号。统一了 Google 的溯源栈。
内容溯源与真实性联盟。密码学签名、防篡改元数据标准。C2PA 2.2 Explainer(2025)。C2PA 清单记录溯源主张(谁创建、何时、何种变换),由创建者密钥签名。与水印互补:元数据可被剥离,水印不能(轻易);元数据丰富(完整溯源链),水印只带比特;C2PA 依赖平台采纳,水印自动嵌入。Google 在 Search、Ads、「About this image」集成两者。
⚠️ 关键否定性事实:「无 SynthID 信号」不证明内容真实——它只证明内容不来自启 SynthID 的模型。开源模型、未启水印的模型、或被改写/微调移除水印的内容,都会无信号。所以水印是证据增强,非真实性证明。
AI 生成内容标注的透明度实务准则(首稿 2025 年 12 月,二稿 2026 年 3 月,预计终稿 2026 年 6 月)。截至 2026 年 4 月仍为草案,时间线可能变。这是要求技术层的监管层——深度伪造必须标注。
code/main.py 构造玩具文本水印。token 是 0..N-1 整数;水印采样偏向哈希定义的绿集。检测器算绿 token z 分。你可以观察 1000 token 生成的检测、看改写破坏信号、测人类文本上的假阳性率。
def watermark_sample(logits, prev_tokens, K, green_set, delta): green_mask = hash(prev_tokens[-K:]) in green_set # 伪随机绿/红划分 logits[green_mask] += delta # 绿 logit 加偏置 return sample(logits) def detect(text_tokens, K, green_set): greens = count(hash(text_tokens[:i]) in green_set for i in range(K, len(text_tokens))) z = (greens - expected_under_random) / std # 水印文本 z>0,人类 ~0 return z
💡 检测的统计本质:水印检测是假设检验——z 分超过阈值判「水印」。所以必须报告假阳性率(人类文本被误判为水印的概率)。生产中阈值要在检出率与假阳性间权衡,且必须意识到开源/未水印模型会让「无信号」无意义。
| 技术 | 模态 | 持久性 | 信息量 | 主要攻击 |
|---|---|---|---|---|
| SynthID-text | 文本 | 改写下不存活 | 比特 | 改写、保义攻击 |
| SynthID-image/video | 图像/视频 | 抗压缩/裁剪/滤镜 | 比特 | 微调(Stable Signature 启示) |
| Stable Signature | 图像 | 抗裁剪(10%) | 固定消息 | 微调解码器移除 |
| C2PA | 全模态 | 元数据可被剥离 | 完整溯源链 | 平台不采纳、密钥泄露 |
设计要点:水印与 C2PA 互补而非替代——水印穿转码持久但信息少,C2PA 信息丰富但可剥离。生产溯源栈应两者叠加:水印做「这是 AI 生成的」硬信号,C2PA 做「谁、何时、如何」的丰富链。但要承认开源/未水印模型让任何「无信号=真实」主张失效。
本节产出 outputs/skill-provenance-audit.md:给它一份带溯源主张的内容部署,它审计——水印机制(若有)、C2PA 签名链(若有)、各自的对抗鲁棒性、各模态覆盖。
code/main.py 是独立玩具,token 整数可换成真实分词器,绿/红划分 + z 分检测逻辑不变。
Easy:运行 code/main.py,报告水印 1000 token 生成 vs 人类文本的 z 分。识别 95% 置信阈下的假阳性率。
Medium:实现把 30% token 替换为同义词的改写攻击。重测 z 分。
Medium:读 Kirchenbauer 等 2023 第 6 节关于鲁棒性。为什么文本水印在改写下失败,而图像水印在裁剪下存活?
Hard:设计一个用 SynthID-text + C2PA 元数据的部署。描述消费者看到的溯源链。识别各组件的一个失败模式。
Hard:2024《Stable Signature is Unstable》显示微调移除图像水印。设计一个限制该攻击的部署控制——例如要求微调检查点的签名发布。
下一节,我们把视角拉到监管层——监管框架:EU AI Act、US、UK、Korea,以及它们如何强制实验室自愿框架做不到的事。