本文翻译自英文原文,如有出入,以英文原文为准。
ArtifactNet 研究 · 第 4 部分 · 1/3 · 2026 年 4 月
追着 SONICS 分数跑,真实场景的表现却在崩盘
ArtifactNet 研究历程的第 4 部分,也是 2026 年 4 月这一章。刚拿到 SOTA、正觉得“再推一把就完美了”的时候,我们撞上了整个系列里代价最高的一课:追逐基准分数,就会毁掉真实场景下的表现。 除了成功的编解码器感知重新训练和我们搭建的公平基准,夹在这两者之间的那次退步和那场错觉,我们也原原本本地保留了下来。
想看看当前模型的实际效果? 用免费演示处理任意曲目——与下文所述相同的取证流程,无需账号。
到第 3 部分为止,ArtifactNet 是一个用于检测 AI 生成音乐(Suno、Udio、Stable Audio、MusicGen、Riffusion 等)的取证框架,而且是个小模型——总共只有 4.2M 参数。核心流水线如下:
audio → STFT → ArtifactUNet (residual extraction) → HPSS (harmonic/percussive split)
→ 7-channel forensic features → ResidualCNN → per-segment P(AI) → per-song median verdict
4 月初,真实场景下的 SOTA 是 v9.3_hn:SONICS 基准 F1 为 0.9937,而最让我们自豪的数字是——它检测出了刚发布的最新 Suno v4 中 873 首里的 871 首(99.8%)。能抓住 SONICS 里没有的“野生、最新一代”模型,才是这个模型真正的价值。
但 SONICS 排行榜上有一件事一直让我们耿耿于怀。F1 0.9937 已经是 SOTA,可小数点后似乎还能再榨出一点——在较难的算法(chirp-v2-xxl、udio-120s)上还漏掉了几个百分点。“要是用更多 SONICS 训练数据把这个缺口补上呢?”这个简单的贪念,就是 v10_260407 的开端。
v10_260407 是在大量注入 SONICS 数据后重新训练的。单看排行榜,它是一场大捷。
| 指标 | v9.3_hn | v10_260407 |
|---|---|---|
| SONICS F1 | 0.9937 | 0.99995 |
| SONICS 伪造样本 TPR | 98.60% | 100% |
| SONICS 真实样本 FPR | 1.23% | 0.04% |
就 SONICS 而言,v10_260407 几乎完美:真实音乐的误报从 1.23% 降到 0.04%,伪造样本的检测率达到 100%。如果就此打住,我们就会把 v10_260407 发布到生产环境。
接着我们在SONICS 之外做验证,结果整个局面反转了。
| AI 来源 | v9.3_hn | v10_260407 |
|---|---|---|
| 最新的 Suno v4(873 首) | 99.8% | 4.3% |
| SONICS udio-120s | (基准内) | 99.5% |
| MoM diffrythm / udio / yue | 100% | 99–100% |
对最新 Suno v4 的检测率从 99.8% 崩到了 4.3%。 v10_260407 仍能抓住 SONICS 里已有的生成器(chirp、udio),却几乎完全漏掉了生产环境中真正的最新生成器,这些正是 SONICS 没有收录的。873 首里它只抓到了 38 首。
这就是基准饱和。 当模型过拟合某个基准的分布时,该基准的分数会撞上天花板而饱和,分布之外的泛化能力却崩塌。v10_260407 把 SONICS 里 chirp/udio 的特征记得一清二楚,代价是丢掉了检测“泛指的 AI 音乐”的能力。SONICS F1 0.99995 不是实力,而是死记硬背换来的分数。
那天我们在笔记里写下的教训很短:
不要只看基准 F1。如果没有在新数据上的真实场景验证,你的能力会一边死去,分数一边攀升。
v10_260407 被废弃,v9.3_hn 再次确认为真实场景下的 SOTA。用较少的数据广泛泛化,胜过用堆积如山的数据过拟合单一基准——这是本章的第一根支柱。
深挖 v10_260407 这件事,又翻出一个更让人不舒服的事实:我们用来做对比的流水线本身就有 bug,所以没有一个数字能按表面值采信。 4 月中旬,我们抓到了三处严重的不匹配。
这个教训与 v10_260407 事件同根同源:只有整条流水线都处于掌控之下,才谈得上比较模型。 当一个没对齐的 HPSS 就能抹掉 50 个点时,在那种状态下争论“哪个模型更好”毫无意义。
这段经历促成了下一个决定:不再每次手工做对比,而是搭建一个受控的、公平的基准测试框架。
ArtifactBench 是一个基准测试框架,在相同的来源、相同的健全性检查和相同的指标下评估多个检测模型。它不只测一个 F1,而是同时测量下面这些:
这个框架立刻把我们一直称作“SOTA”的模型 v9.3_hn 的隐藏弱点揪了出来。
在 v9.3_hn 上运行 ArtifactBench 触发了 6 个 FAIL,其中两组结果令人震惊。
| 项目 | v9.3_hn |
|---|---|
| FMA 困难负样本(MP3 真实)FPR | 98.7% |
| MoM 真实(MP3 真实)FPR | 98.3% |
| 编解码器配对 Δ 均值 | 0.896 |
| 编解码器配对 Δ 最大值 | 1.000 |
把同样的真实音乐编码成 MP3 后,几乎全部被误认为 AI(98.7%)。编解码器配对 Δ 均值为 0.90,意味着把同一首歌分别以 WAV 和 MP3 输入时,判定相差 0.90——实际上就是抛硬币。
原因很清楚。训练里的真实音乐绝大多数是 WAV,所以模型学到了一个虚假的关联:“MP3 编解码器伪影 = AI 特征”。SONICS 基准从来没有发现这个弱点——SONICS 不做编解码器配对测试。直到我们搭建了更广泛、对抗性更强的基准,SONICS 一直藏着的这个弱点才终于显形。
这是第二根支柱:基准必须对真实世界的分布施压。 在一个从不涉及编解码器、新生成器或困难真实音乐的基准上拿到的 SOTA,可能在这三者中的任何一项上崩塌。
诊断清楚了,解法也就清楚了:用 4 路编解码器增强重新训练 UNet——把训练配对扩充为原始 + MP3 + AAC + Opus,让模型把编解码器伪影当作“正常的、非 AI 的信号”来学习。我们把这个编解码器感知的 UNet 称为 codec4 UNet。
这里起决定作用的是一条存档的旧教训:UNet 与 CNN 联合重新训练,会形成一种取舍——MP3 的 FPR 下降,WAV 的 TPR 却随之崩掉。 所以我们只用编解码器增强重新训练 UNet,再在它之上单独微调 CNN——这是一种分阶段的策略。
结果(v9.4 = R1 微调 + codec4 UNet)相当惊人。
| 项目 | v9.3_hn | v9.4 (codec4) |
|---|---|---|
| FMA 困难负样本 FPR | 98.7% | 8.0% |
| MoM 真实 FPR | 98.3% | 0.5% |
| 编解码器配对 Δ 均值 | 0.896 | 0.025 |
| 编解码器配对 Δ 最大值 | 1.000 | 0.698 |
| ArtifactBench FAIL | 6 | 4 |
编解码器配对 Δ 均值从 0.90 降到 0.025——如今同一首歌无论用哪种编解码器,判定都几乎一样。MP3 下真实音乐的误报从 98.7% 降到 8.0%,MoM 真实样本降到 0.5%。
说实话,这并不是一次彻底的修复。 编解码器配对的最大 Δ 仍有 0.698(最差的一首曲目依然会波动),udio_extra 等个别生成器的 TPR 仍停在 86%。但原本如“抛硬币”般的编解码器鲁棒性,显然已经提升到了可实用的水平。
随后,我们在完整的 SONICS 数据集(约 23,000 首曲目)上验证了 v9.5(codec4 UNet + cnn_v95,即对 CNN 的进一步强化)。
| 指标 | v9.5 |
|---|---|
| SONICS F1 | 0.9993 |
| SONICS 真实样本 FPR | 0.086% (9 / 10,510) |
| AUC | 0.99999 |
| 各生成器 TPR | chirp-v3/v3.5/udio-30s 100%、chirp-v2 99.8%、udio-120s 99.7% |
与 v10_260407 的决定性差别在于:v9.5 在 SONICS 上得分很高,同时还保住了编解码器鲁棒性和对最新生成器的检测能力。 分数是解决弱点之后的结果,而不是追着分数跑出来的。
ArtifactBench 的真正目的不是欣赏我们自己的模型,而是让竞争模型在同一个擂台上较量。 所以我们把两个基线模型移植到了同一环境中:
以下是在相同条件下跑完整个 SONICS 数据集(约 23,000 首曲目;约 12,800 首 AI / 约 10,500 首真实)的结果。
| 模型 | 参数量 | SONICS F1 | 真实 FPR | AUC |
|---|---|---|---|---|
| ArtifactNet v9.5 | 4.2M | 0.9993 | 0.086% | 0.99999 |
| SpecTTTra α-120s | 18.7M | 0.8874 | 17.97% | 0.9303 |
| CLAM | 194M | 0.7652 | 67.16% | 0.8222 |
最让人震惊的数字是真实 FPR。 194M 参数的 CLAM 把67% 的 SONICS 真实音乐误判成了 AI。 SpecTTTra 同样过度标记了 18%。相比之下,4.2M 的 ArtifactNet 只有 0.086%——10,510 首里只错了 9 首。
解读:这些巨型模型被训练成“把 AI 抓好”,所以它们对真实音乐过度怀疑。 在真实世界里,真正的代价是误报——把人类创作的音乐打成 AI——而付出最高代价的恰恰是最大的模型。一个专注于残差物理(RVQ 量化痕迹)的 4.2M 模型,在实战中比体量是它 46 倍的模型更强。
(注:在编解码器配对不变性上,ArtifactNet codec4 同样最稳定。SpecTTTra 的 Δ 均值为 0.060,CLAM 为 0.126——两个基线在编解码器变化下都出现了波动。)
在自己的基准上赢是很容易的。所以我们用一个独立的外部检测器在完整的 SONICS 数据集上重新测了同样的数据——跑的是一个 Deezer ISMIR 一脉的 AI 音乐检测研究模型。
这个外部模型在 SONICS 上的结果验证了我们的流水线:
这次交叉验证告诉了我们两件事。第一,udio 系列并不只是我们的弱点,而是整个检测领域都难啃的一类(我们的 v9.5 在 udio-30s 上达到 100%,远远领先外部模型)。第二,外部模型的数字落在合理范围内,说明我们的基准测试框架是可信的。用外部实现来核对自己的测量,是 v10_260407 给我们烙下的习惯。
编解码器的问题解决了,但 ArtifactBench 仍然指向一个地方——困难真实音乐的误报。 codec4 已经把 FMA 困难负样本的 FPR 降到了 8%,但没有降到零。那些“因为失真严重而听起来像 AI”的真实音乐——lo-fi、业余上传、一些老录音——依然存在。
于是在 4 月底,我们尝试了大量加入困难负样本的 v96。但困难真实音乐加得越多,两个风险就再次冒头——正如存档里的一条警告所说:(a) 向已收敛的模型批量加入困难负样本,有过拟合和震荡的风险,(b) 压制困难真实音乐可能连带拉低 AI 的 TPR。v96 在微调中出现了震荡,也没有给出足够明确的改进来取代 codec4 v9.5,所以我们没有把它发布到生产环境。
困难真实音乐的问题在 4 月并没有了结。而且——看过本系列最后一部分的读者都知道——这个“弱点”的真正面目,要到很久以后我们发现自己评估集中的数据泄漏时才会被改写。
这个月被人记住的是教训,而不是胜利。
下一部分,我们去解决那些尚未解决的困难真实音乐误报——最终意识到我们一直把问题测错了。
ArtifactNet 研究团队 · 2026 年 4 月