不可检测水印

不可检测水印(Undetectable Watermark)

不可检测水印的目标是同时满足两件事:

  • 可验证:合法方能检测出水印。
  • 不可区分:带水印模型与原始模型在整体分布上几乎无法区分。

这比传统红绿水印更难,但也更接近理想形态。

为什么需要不可检测水印

传统方案的痛点:

  • 红绿水印:通过显式 logits 偏置嵌入信号,容易留下统计痕迹。
  • 冈贝尔水印:单次生成失真小,但多次响应可能出现可利用规律。

不可检测水印的关键思路是:只在高熵位置嵌入,并让引导后的分布与原分布保持等价。

核心概念:经验熵(Empirical Entropy)

经验熵用于衡量某段 token 序列在生成时的不确定性。

H ( v 1 , ... , v ℓ ) = − ∑ i = 1 ℓ p ( v i ) log ⁡ p ( v i ) H(v_1,\dots,v_\ell) = -\sum_{i=1}^{\ell} p(v_i)\log p(v_i) H(v1,...,vℓ)=−i=1∑ℓp(vi)logp(vi)

  • 熵高:可选 token 多,嵌入空间大。
  • 熵低:可选 token 少,嵌入更容易引起分布失真。
序列类型 概率特征 是否适合嵌入
低熵序列(如确定性表达) 某些位置接近唯一答案
高熵序列(如开放式续写) 多个 token 概率接近

经验熵主要用于"筛选可嵌入位置"。

核心机制

只在高熵序列嵌入

1) 嵌入条件

H ( v 1 , ... , v ℓ ) ≥ H 0 H(v_1,\dots,v_\ell) \ge H_0 H(v1,...,vℓ)≥H0

  • H0 是预设阈值。
  • 只有高于阈值的上下文才触发水印信号。

2) PRF 引导信号

r = PRF ( g k , v 1 , ... , v ℓ ) r = \text{PRF}(gk, v_1,\dots,v_\ell) r=PRF(gk,v1,...,vℓ)

  • gk:密钥。
  • (v_1...v_l):高熵上下文。
  • r:伪随机输出,用于决定后续引导策略。

3) 引导原则

  • r 映射到目标 token 子集或采样约束。
  • 只做轻微、受控的引导。
  • 目标不是"强行改写分布",而是"在等价分布中编码可验证信号"。

不可检测性的形式化定义

∣ Pr ⁡ D M , M ( 1 λ ) → 1 − Pr ⁡ g k D M , Watermark g k M ( 1 λ ) → 1 ∣ ≤ negl ( λ ) \left| \PrD\^{M,M}(1\^\\lambda) \\to 1 - \Pr_{gk}D\^{M,\\text{Watermark}_{gk}\^{M}}(1\^\\lambda) \\to 1 \right| \le \text{negl}(\lambda) PrDM,M(1λ)→1−gkPrDM,WatermarkgkM(1λ)→1 ≤negl(λ)

这一定义的直观含义:

  • 任意区分器 D(算法或攻击者)去区分"原模型输出"和"带水印输出",其优势最多是可忽略量。
  • 安全参数 lambda 增大时,这个优势趋近于 0。

换句话说,攻击者在统计上几乎只能"瞎猜"。

关键设计

1) 为什么要限制在高熵区

  • 低熵区几乎没有采样自由度,嵌入容易产生可检测偏差。
  • 高熵区有足够自由度,更容易隐藏引导信号。

2) 为什么强调 PRF 输入不重复

  • PRF 是确定性的:相同输入会得到相同输出。
  • 若输入频繁重复,攻击者可通过重复样本做相关性分析。
  • 高熵上下文更不易重复,可降低被反向建模风险。

3) 与硬偏置方案的本质差异

  • 硬偏置:直接推高/压低一类 token 概率,统计痕迹更明显。
  • 不可检测方案:强调分布等价下的可验证编码,重点在"可验证但难区分"。
相关推荐
智慧物业老杨5 小时前
物业数字化落地思考:真正的转型,是底层数据秩序的重构
java·大数据·人工智能·微服务·系统架构
萧西待水6 小时前
奥赛一本通 1447 靶形数独
算法·深度优先
7177778 小时前
中小团队 DevOps 平台选哪家:2026 年主流平台对比与 Gitee 本土化方案解析
人工智能·gitee
武子康8 小时前
小智断网后还能做什么?沿一次唤醒看清设备与服务端的分工
人工智能·llm·agent
西安栈上月明软件科技8 小时前
从 Linux 0.01 到 AI 开源:星图邻的开源实践
人工智能·自然语言处理·架构·开源·fastapi
麻雀飞吧8 小时前
先判断工具用来学习、开发还是执行
人工智能·python
泯泷8 小时前
那段文字是谁删的?Yjs 14 正式版之前,一套删除归属方案的实现与边界
前端·javascript·算法
hold?fish:palm8 小时前
34 合并K个升序链表
javascript·算法·链表
甲维斯8 小时前
ZCode:快来领“免费”3亿tokens和“Git打包服务”
人工智能
揽秀亭长8 小时前
视频转文字有哪些方法?在线AI、剪辑软件、本地对比
人工智能·音视频