📄 Hidden in Plain Tokens: Simply Robust, Gradient-Free Watermark for Synthetic Audio
#音频水印 #自回归模型 #鲁棒性 #无监督学习 #理论分析
7/10 | 创新 1.2/2 | 严谨 1/1.5 | 实验 1.1/1.5 | 清晰 0.7/1 | 影响 0.9/1.5 | 开源 0.8/1.5 | 复现 0.3/0.5 | 工程 1/1.5
✅ 7/10 | 前50% | #音频水印 | #自回归模型 | #鲁棒性 #无监督学习 | arxiv
👥 作者与机构
- 第一作者:Georgios Milis(马里兰大学帕克分校计算机科学系)
- 通讯作者:Heng Huang(马里兰大学帕克分校计算机科学系,heng@umd.edu)
- 作者列表:Georgios Milis、Yubin Qin、Yihan Wu、Heng Huang(均来自马里兰大学帕克分校计算机科学系)
💡 毒舌点评
用图社区发现来减轻重标记化误差的思路确实精简,将水印检测提升了好几个数量级,且全程无需梯度,黑盒友好。但对时间篡改(裁剪、变速)几乎束手无策,且音乐生成任务下 FAD 明显劣于无扰动基线;实验缺少与主流后置水印的直接对标,使“SOTA”声明缺少横向参照。
📌 核心摘要
- 要解决的问题:自回归音频生成模型在推理时嵌入的 token 级水印,因音频重编码时产生严重“重标记化错误”(token mismatch),导致统计水印信号严重衰减,传统方案依赖微调码本,破坏了零训练成本优势。
- 方法核心:利用重标记化混淆矩阵构建关系图,通过莱顿社区发现算法将频繁互混的码本 token 聚合成稳定的“语义簇”,然后在簇层级执行 KGW 红绿列表水印,使水印对重编码误差不变。
- 新在何处:首次将社区检测用作词汇蒸馏手段来提升连续模态的 token 级水印鲁棒性,完全无需梯度、无需微调码本,并给出了统计期望 z 分数的理论分析。
- 主要实验结果:
- 在 Moshi 对话模型上,h=0 时 Ours 的 -log(p) 达 42.47(Base 为 8.51),低 FPR 下 TPR 比基线高出数个数量级。
- 鲁棒性测评(表 2):对低通、MP3 等变换 -log(p) 仍保持 20 以上,而对裁剪/变速明显下降。
- 音质指标:FAD(VGGish/CLAP)和 MOS 与未加水印的生成音频差异不大,未造成显著失真;但在 MusicGen 上 FAD 劣化明显(VGGish 0.247→1.256)。
- TTS 拓展(表 3-4):在 CosyVoice3 与 Spark-TTS 上同样大幅提升 -log(p) 至 13.93 和 17.81,且 ASR 错误率基本持平。
- 实际意义:为音频生成模型提供了一种轻量、无需白盒访问的强鲁棒水印方案,适合快速集成到已有声码器或 TTS 流水线中,有助于内容溯源与治理。
- 主要局限性:对裁剪、速度变化等时间域攻击高度敏感;需要针对每一款码本收集重标记化数据并重新聚类,适配成本不可忽略;音乐生成场景下 FAD 明显劣化,表明聚类可能扭曲码本分布。
🔗 开源详情
- 代码:https://g-milis.github.io/projects/nograd-audio-wm.html (项目页面包含代码和音频样本,论文正文未提供独立仓库链接)
- 模型权重:未提及
- 数据集:论文使用多个公开数据集,包括 LibriSpeech (https://www.openslr.org/12)、MusicCaps (https://www.kaggle.com/datasets/googleai/musiccaps)、Free Music Archive (FMA, https://github.com/mdeff/fma)、LibriTTS (https://www.openslr.org/60),以及自建的短音乐描述数据集(通过随机打乱描述性词汇生成,未公开链接)。数据集获取方式均按原引用论文说明。
- Demo:项目页面提供音频样本(https://g-milis.github.io/projects/nograd-audio-wm.html),未提供在线交互式演示
- 复现材料:论文附录 (Appendix E) 给出了完整的实验超参数、聚类配置与攻击设置;代码安装与运行指南需参见项目页面
- 论文中引用的开源项目:
- Moshi (kyutai-labs/moshi): https://github.com/kyutai-labs/moshi
- MusicGen / AudioCraft (facebookresearch/audiocraft): https://github.com/facebookresearch/audiocraft
- EnCodec (facebookresearch/encodec): https://github.com/facebookresearch/encodec
- SpeechTokenizer (ZhangXInFD/SpeechTokenizer): https://github.com/ZhangXInFD/SpeechTokenizer
- FaCodec (PlasticityLab/FaCodec): https://github.com/PlasticityLab/FaCodec
- DAC (descriptinc/descript-audio-codec): https://github.com/descriptinc/descript-audio-codec
- CosyVoice 3: 未见论文提供公开仓库链接,基于引文 Du et al. (2025)
- Spark-TTS (SparkAudio/Spark-TTS): https://github.com/SparkAudio/Spark-TTS
- Whisper (openai/whisper): https://github.com/openai/whisper
- FAD 评估工具 (google-research/fad): https://github.com/google-research/fad
- NISQA (gabrielmitag/nisqa): https://github.com/gabrielmitag/nisqa
- DNSMOS: https://github.com/microsoft/DNS-Challenge
- CLAP (LAION-AI/CLAP): https://github.com/LAION-AI/CLAP
🏗️ 方法概述和架构
整体流程分为离线词汇蒸馏和在线水印施加两个阶段。离线阶段,利用目标编码器-解码器对的“重标记化”行为:将大量音频样本通过 codec 编码-解码-再编码,收集原始 token 与重编码 token 之间的混淆次数,构建有向带权混淆矩阵 M 作为邻接矩阵的加权图 G = (V, M)。在此图上应用莱顿社区发现算法,优化模块度,并引入分辨率参数 ρ 控制簇粒度,同时设置噪声阈值 m 忽略混淆次数 < m 的弱边,最终生成从原始 token 到簇 ID 的多对一映射表,形成词汇蒸馏。在线生成阶段,沿用 KGW 水印框架,但将过去 h 步 token 序列中的每个 token 替换为其簇 ID 作为哈希键,确定当前步的绿/红簇分割,然后对绿簇内所有 token 施加统一的对数几率偏置 δ,自回归采样得到标记序列,由解码器合成音频。检测时同样用编码器恢复 token 序列,逐步统计绿簇 token 出现次数,计算 z 统计量和 p 值。对于 RVQ 多通道,每个通道独立执行聚类与偏置,各通道的绿 token 计数求和后以混合方差标准化,计算联合统计量。关键设计动机:避免微调码本;利用离散表示内在的冗余性提升 token 匹配等效概率 r_cl » r,从而减轻指数衰减因子 r^{h+1};簇级哈希缓和上下文失配。
💡 核心创新点
- 重标记化误差的图建模与社区级鲁棒性:将 token 再编码错误结构化为一加权图,通过模块度优化发现语义簇,使得水印不必依赖精确 token 保留,只要重编码后 token 落入同一簇即视为命中。之前的方案(如 WMAR)依赖微调编码器迫使精确匹配,本工作以数据驱动方式将 token 级 h-gram 匹配概率大幅提升。
- 梯度自由的词汇蒸馏:全程不使用反向传播,仅需黑盒调用 codec 的编码与解码即可完成适应性聚类,保留了水印的训练独立性,适用于闭源或第三方码本。
- 多通道分辨率控制与跨通道统计集成:对 RVQ 多个 codebook 分层调整聚类粒度,形成多尺度水印;同时在假设通道独立的条件下推导了合并 z 统计量的期望,为多通道检测提供理论框架。
- 统计期望分析:给出了有上下文和无上下文情形下绿 token 比例的期望推导,明确了 h、r、γ 等参数对检测强度的贡献,并通过与实测值的相关分析验证了模型的合理性,为聚类效果提供了分析基础。
📊 实验结果
论文在 Moshi(对话语音与 LibriSpeech)、MusicGen(音乐)以及 TTS 模型(CosyVoice3、Spark-TTS)上评估水印可检测性与音频质量,并进行了鲁棒性测试。此外,论文还补充了对单通道理论的实证校验。
可检测性
- Moshi 对话音频,h=0:Ours 平均 -log(p) 42.47,Base 8.51,WMAR 17.44,WMAR(aug) 13.72。在极低 FPR(10^{-6} 级)下,Ours 的 TPR 接近 1,Base 几乎为 0。h=1 和 h=2 趋势相同,Ours 仍远优于基线。
- Moshi LibriSpeech 输入,h=0:Ours 平均 -log(p) 22.77,Base 3.61,WMAR 7.95。h≥1 情况下 Ours 仍保持显著优势。
- MusicGen 音乐生成,h=0:Ours 平均 -log(p) 28.46,Base 9.05,WMAR 9.06;Ours 在各项鲁棒性测试中 -log(p) 多数 >10。
- TTS 拓展:CosyVoice3 上 Ours 平均 -log(p) 13.93,p 值为 4.89e-14;Base 平均 -log(p) 1.56。Spark-TTS 上 Ours 平均 -log(p) 17.81,p 值为 5.47e-18;Base 为 9.24。
音频质量(FAD/MOS)
表 1:Moshi 质量分数
| h | Method | FAD (VGGish)↓ | FAD (CLAP)↓ | MOS (NISQA)↑ | MOS (DNSMOS)↑ |
|---|---|---|---|---|---|
| 0 | None (no WM) | 0.080 | 0.023 | 3.54±0.49 | 4.43±0.57 |
| 0 | Base | 0.128 | 0.020 | 3.46±0.51 | 4.46±0.48 |
| 0 | WMAR(aug) | 0.267 | 0.067 | 3.43±0.50 | 4.45±0.48 |
| 0 | WMAR | 0.407 | 0.032 | 3.28±0.48 | 4.41±0.48 |
| 0 | Ours | 0.133 | 0.027 | 3.53±0.51 | 4.42±0.54 |
| 1 | Base | 0.068 | 0.014 | 3.56±0.49 | 4.48±0.40 |
| 1 | WMAR(aug) | 0.218 | 0.055 | 3.54±0.48 | 4.46±0.40 |
| 1 | WMAR | 0.357 | 0.024 | 3.37±0.44 | 4.43±0.40 |
| 1 | Ours | 0.051 | 0.015 | 3.58±0.44 | 4.50±0.30 |
| 2 | Base | 0.111 | 0.021 | 3.50±0.53 | 4.44±0.54 |
| 2 | WMAR(aug) | 0.189 | 0.062 | 3.47±0.52 | 4.43±0.54 |
| 2 | WMAR | 0.336 | 0.030 | 3.30±0.48 | 4.39±0.53 |
| 2 | Ours | 0.110 | 0.016 | 3.53±0.46 | 4.46±0.45 |
表 2:Moshi (LibriSpeech) 质量分数
| h | Method | FAD (VGGish)↓ | FAD (CLAP)↓ | MOS (NISQA)↑ | MOS (DNSMOS)↑ |
|---|---|---|---|---|---|
| 0 | None | 1.921 | 0.063 | 3.15±0.77 | 3.79±1.02 |
| 0 | Base | 1.858 | 0.072 | 3.00±0.82 | 3.72±1.11 |
| 0 | WMAR(aug) | 2.153 | 0.113 | 2.98±0.82 | 3.69±1.11 |
| 0 | WMAR | 2.195 | 0.093 | 2.89±0.77 | 3.66±1.10 |
| 0 | Ours | 1.670 | 0.074 | 3.07±0.77 | 3.79±0.99 |
| 1 | Base | 1.948 | 0.079 | 3.23±0.68 | 4.09±0.73 |
| 1 | WMAR(aug) | 2.036 | 0.109 | 3.19±0.68 | 4.06±0.74 |
| 1 | WMAR | 2.018 | 0.092 | 3.12±0.66 | 4.03±0.73 |
| 1 | Ours | 1.921 | 0.074 | 3.22±0.62 | 4.03±0.77 |
| 2 | Base | 1.966 | 0.073 | 3.11±0.76 | 3.81±1.02 |
| 2 | WMAR(aug) | 1.985 | 0.096 | 3.10±0.77 | 3.78±1.02 |
| 2 | WMAR | 2.089 | 0.089 | 3.01±0.72 | 3.75±0.99 |
| 2 | Ours | 1.823 | 0.059 | 3.15±0.75 | 3.80±1.00 |
表 7:MusicGen 质量分数
| h | Method | FAD (VGGish)↓ | FAD (CLAP)↓ |
|---|---|---|---|
| 0 | None | 0.247 | 0.039 |
| 0 | Base | 0.330 | 0.043 |
| 0 | WMAR | 1.193 | 0.132 |
| 0 | Ours | 1.256 | 0.082 |
表 3:TTS 质量
| Model | Method | FAD(VGGish)↓ | FAD(CLAP)↓ | NISQA MOS↑ | DNSMOS MOS↑ | ASR WER↓ | CER↓ |
|---|---|---|---|---|---|---|---|
| CosyVoice3 | None | 0.0964 | 0.0235 | 3.86 | 2.73 | 0.0323 | 0.0178 |
| CosyVoice3 | Base | 0.1954 | 0.0267 | 3.75 | 2.70 | 0.0586 | 0.0366 |
| CosyVoice3 | Ours | 0.1942 | 0.0294 | 3.81 | 2.74 | 0.0519 | 0.0308 |
| Spark-TTS | None | 0.2057 | 0.0401 | 3.37 | 2.94 | 0.0097 | 0.0018 |
| Spark-TTS | Base | 0.2221 | 0.0484 | 3.30 | 2.97 | 0.0098 | 0.0012 |
| Spark-TTS | Ours | 0.3506 | 0.0472 | 3.46 | 2.96 | 0.0099 | 0.0024 |
鲁棒性
表 2 (Moshi 对话音频) 鲁棒性:
| 分组 | 变换 | Base −log(p) (Loss) | WMAR −log(p) (Loss) | WMAR(aug) −log(p) (Loss) | Ours −log(p) (Loss) |
|---|---|---|---|---|---|
| Baseline | Identity | 8.51 (0.00) | 17.44 (0.00) | 13.72 (0.00) | 42.47 (0.00) |
| Signal Proc. | Smooth | 1.99 (6.52) | 1.61 (15.84) | 3.73 (9.99) | 32.68 (9.80) |
| Lowpass | 5.82 (2.69) | 9.23 (8.21) | 10.52 (3.20) | 41.51 (0.96) | |
| Highpass | 1.11 (7.40) | 1.50 (15.95) | 1.94 (11.79) | 25.59 (16.89) | |
| Noise | 2.23 (6.28) | 0.61 (16.83) | 8.01 (5.71) | 20.59 (21.89) | |
| Compression | MP3 | 7.47 (1.04) | 15.31 (2.14) | 12.66 (1.06) | 41.26 (1.22) |
| DAC | 6.62 (1.89) | 8.12 (9.32) | 10.51 (3.22) | 40.13 (2.35) | |
| EnCodec | 2.59 (5.92) | 2.82 (14.62) | 2.78 (10.95) | 32.64 (9.84) | |
| SpeechTok | 4.48 (4.03) | 4.29 (13.15) | 4.28 (9.44) | 35.92 (6.55) | |
| FaCodec | 4.73 (3.77) | 5.36 (12.08) | 4.75 (8.97) | 38.47 (4.00) | |
| Temporal | Crop | 1.51 (7.00) | 1.27 (16.18) | 1.51 (12.22) | 16.48 (26.00) |
| Shift | 1.86 (6.65) | 1.81 (15.63) | 2.36 (11.37) | 27.67 (14.80) | |
| Speedup | 1.52 (6.99) | 1.20 (16.25) | 1.35 (12.37) | 26.49 (15.99) |
表 2 (Moshi LibriSpeech) 鲁棒性:
| 分组 | 变换 | Base −log(p) (Loss) | WMAR −log(p) (Loss) | WMAR(aug) −log(p) (Loss) | Ours −log(p) (Loss) |
|---|---|---|---|---|---|
| Baseline | Identity | 3.61 (0.00) | 7.95 (0.00) | 5.98 (0.00) | 22.77 (0.00) |
| Signal Proc. | Smooth | 1.50 (2.11) | 1.22 (6.72) | 2.02 (3.96) | 16.96 (5.82) |
| Lowpass | 2.99 (0.61) | 4.60 (3.35) | 4.86 (1.11) | 21.05 (1.72) | |
| Highpass | 0.97 (2.63) | 1.16 (6.79) | 1.69 (4.29) | 14.29 (8.49) | |
| Noise | 1.49 (2.12) | 0.47 (7.48) | 3.74 (2.23) | 9.19 (13.58) | |
| Compression | MP3 | 3.30 (0.30) | 7.27 (0.68) | 5.67 (0.31) | 22.29 (0.49) |
| DAC | 3.10 (0.50) | 4.19 (3.76) | 4.90 (1.08) | 22.10 (0.68) | |
| EnCodec | 1.65 (1.96) | 1.78 (6.16) | 1.79 (4.18) | 17.56 (5.22) | |
| SpeechTok | 2.43 (1.18) | 2.46 (5.49) | 2.27 (3.70) | 19.50 (3.28) | |
| Temporal | Crop | 1.24 (2.37) | 1.24 (6.71) | 1.39 (4.58) | 9.70 (13.08) |
| Shift | 1.36 (2.24) | 1.51 (6.44) | 1.79 (4.19) | 16.09 (6.68) | |
| Speedup | 1.06 (2.55) | 1.07 (6.88) | 1.23 (4.75) | 15.54 (7.23) |
理论与消融
- 论文对单通道 z 分数理论进行了实证校验(表 5, Appendix C.3),用 MusicGen 在 h=0,1,2 不同 γ 设置下对比理论 z 值与实测 z 值的相关系数(0.9465、0.8535、0.8872),表明简化模型可以较好地捕捉参数影响。
- 论文 (Appendix C.4, Figure 6) 展示了不同 (ρ,m) 组合对聚类后簇匹配率 r_cl 与簇词汇规模的影响,证实过大的簇虽然提升 r_cl 但缩减词汇、过小簇提升有限。
- 表 9 (Appendix E) 给出了每通道不同 (ρ,m) 下的簇规模、聚类数和对应单通道水印的平均 -log(p),作为网格搜索选参依据。
🔬 细节详述
- 词汇蒸馏依赖数据:对 Mimi codec 及 TTS 案例,使用 LibriSpeech 开发集约 2700 条音频;对 EnCodec(MusicGen),使用 MusicCaps 约 2100 条音乐片段。对 WMAR 基线的 MusicGen codec 微调,使用 FMA 音乐与 LibriTTS 语音的混合数据。
- 莱顿算法参数:分辨率 ρ(网格搜索范围包括 0.5、0.8、1.0、1.2),去噪阈值 m(1、5、10),以单通道水印检测能力与簇规模平衡为标准选择,最终参数选择在 Table 8 中按通道列出。
- 水印超参数:γ=0.25;δ=2(Moshi、Spark-TTS)、1(MusicGen)、0.5(CosyVoice3);生成长度固定为 200 tokens;h 取 0、1、2;使用第一路码本 token 作为 h-gram 上下文键值。
- 编码器假设:理论推导基于条件独立假设,论文承认这仅严格适用于无重叠滑动窗口的 tokenizer,并为缓解该偏差仅用第一通道的上下文作为哈希键。
- 多通道检测:各通道独立统计绿 token 计数,求和后以 CNγ(1-γ) 为方差标准化计算联合 z 值和 p 值。
- 训练/推理硬件:未说明。
⚖️ 评分理由
- 创新性 (1.2/2):将重标记化错误建模为图并用社区发现进行词汇蒸馏,是一种简洁且新颖的组合,使无梯度水印在连续模态中获得实质鲁棒性。与基于微调的 WMAR 等方案区分度清晰。但核心 KGW 框架和莱顿算法均为已有技术,组合创新虽有效,但未提供对聚类内在机理的数学保证,novelty 级别属于有明显改进而非突破性思想。
- 技术严谨性 (1.0/1.5):理论分析推导了单通道及多通道期望 z 分数,并通过实测 r、g 验证了简化模型的合理性。但条件独立假设与编码器实际的行为(滑动窗口重叠)存在偏差,论文也承认聚类后 g 变得不可预测,未能将理论扩展到簇级精确验证。莱顿算法参数选择依赖网格搜索,缺乏自适应机制。整体合理但不够精细。
- 实验充分性 (1.1/1.5):在多种模型和任务上展现巨大提升,且附有鲁棒性攻击矩阵和音质对比。缺失与典型后置水印(WavMark, AudioSeal 等)的比较,削弱了“新 SOTA”声明的全面性;音乐生成任务中 FAD 劣化明显但未深入分析或优化;缺乏主观听力测试;消融仅关注聚类参数,未探讨 δ、γ、多通道交互等。整体仍有细节值得补充。
- 清晰度 (0.7/1):结构条理清晰,核心思想和流程易理解。但部分实现细节(如多通道哈希键、碰撞处理)描述简略;图 3-5 中的 TPR 曲线缺乏具体数值标注,难以直接引用;公式符号一致,但衍生部分略嫌跳跃。可读性良好但复现所需细节仍依赖读者自行推测。
- 影响力 (0.9/1.5):该工作直接面向音频水印领域的实际痛点,提供了一种可快速部署、对码本零依赖的解决方案,有望推动 token 级水印在多媒体中的采纳。机构(UMD)及作者并非该领域顶级工业实验室,但工作本身落地性强。缺少全面与工业级后置水印的对标可能抑制立即大规模采用。综合来看,对学术研究方向有明显启发,可视为值得关注的方法框架。
- 开源 (0.8/1.5):论文在项目页面释放了代码和音频样本,链接有效。但未说明是否包含预训练模型权重,也未提供配套文档或 README 的明确描述,开源完整度中等。
- 可复现性 (0.3/0.5):提供了超参数选择表与生成长度、偏置值,但未给出详细的硬件配置、生成/检测的完整命令行或伪代码,聚类数据的构建细节(如 tokenizer 版本、编解码参数)部分缺失。整体具备复现基础,但需补充若干关键工程参数方可完全重现。
- 工程/实践价值 (1.0/1.5):方法轻量、无需反向传播,适合集成到黑盒 codec 产品中,并已证明支持对话、TTS、音乐等多种音频生成任务。但应对时间篡改明显不足,在线部署需配套对齐恢复策略,影响直接产品化。整体工程可复用性较高,但尚非开箱即用的工业方案。
🚨 局限与问题
- 论文明确承认的局限:方法对裁剪、变速等时间域修改脆弱,属于 token 级水印固有缺陷;适配新模型仍需收集重标记化数据并重新聚类;缩减词汇量可能引发 key 碰撞,论文提及可回退到无偏置采样作为回退,但未详细评估其影响。
- 审稿人发现的潜在问题:
- 缺少与主流后处理水印(如 WavMark、AudioSeal)的直接对比,无法证明 token 级水印在鲁棒编码器攻击下是否真的“优于”后置方案。论文虽然引用了 O’Reilly et al. (2025) 指出后置水印可被现代 codec 擦除,但未设置对比实验去验证在相同攻击下 token 级水印的优越性。
- 聚类图构建依赖于特定数据集的语音/音乐分布,若部署到分布外场景(如域外语言、特殊音效),簇划分可能失效,但无鲁棒性评测。
- 音乐生成质量 FAD 显著变大(1.256 vs None 0.247),虽然数值上优于 WMAR(1.193),但相对无扰动基线退化极大,未解释是否因大簇压缩了音色多样性,可能隐藏实际可感知的失真。
- 理论分析中假设 token 错误独立,而现代 codec 使用滑动窗口编码,错误有相关性,这可能导致实际 p 值偏移,论文未充分论证其影响。
- 簇的数量和大小依赖网格搜索选参,且论文没有提供对聚类自动化的进一步讨论,限制了方法在全新码本上的即插即用性。