本文翻译自英文原文,如有出入,以英文原文为准。

ArtifactNet 研究 · 第 4 部分 · 1/3 · 2026 年 4 月

基准饱和陷阱

追着 SONICS 分数跑,真实场景的表现却在崩盘

Intrect Research 2026-04-25 研究ArtifactBench

ArtifactNet 研究历程的第 4 部分,也是 2026 年 4 月这一章。刚拿到 SOTA、正觉得“再推一把就完美了”的时候,我们撞上了整个系列里代价最高的一课:追逐基准分数,就会毁掉真实场景下的表现。 除了成功的编解码器感知重新训练和我们搭建的公平基准,夹在这两者之间的那次退步和那场错觉,我们也原原本本地保留了下来。

TL;DR

想看看当前模型的实际效果? 用免费演示处理任意曲目——与下文所述相同的取证流程,无需账号。


1. 起点:刚摸到 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 的开端。


2. 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。用较少的数据广泛泛化,胜过用堆积如山的数据过拟合单一基准——这是本章的第一根支柱。


3. 支线任务:“对比本身”在说谎

深挖 v10_260407 这件事,又翻出一个更让人不舒服的事实:我们用来做对比的流水线本身就有 bug,所以没有一个数字能按表面值采信。 4 月中旬,我们抓到了三处严重的不匹配。

  1. HPSS 不匹配(严重):GPU 加速的 HPSS(平均池化近似)产生的特征分布,与训练时使用的中值滤波 HPSS 不同。CNN 被喂入了从未见过的分布,TPR 一下子掉了整整 50 个百分点。 我们在所有环境里都强制使用中值滤波 HPSS。
  2. MLP 判定不匹配:旧的判定层误读了新的 CNN 特征,把 CNN 判为真实(概率 0)的歌翻成了 AI(概率 0.73)。FPR 飙升到 52%。我们改为直接采用 CNN 的中位判定。
  3. UNet / 归一化不匹配:有一个 UNet 检查点损坏了,把每一首真实曲目都判成 AI;而且 Mac 与 RTX 上的 mel 归一化版本不一致,于是其中一侧的每首曲目算出的概率都是 0。

这个教训与 v10_260407 事件同根同源:只有整条流水线都处于掌控之下,才谈得上比较模型。 当一个没对齐的 HPSS 就能抹掉 50 个点时,在那种状态下争论“哪个模型更好”毫无意义。

这段经历促成了下一个决定:不再每次手工做对比,而是搭建一个受控的、公平的基准测试框架。


4. ArtifactBench:搭建一个公平的擂台

ArtifactBench 是一个基准测试框架,在相同的来源、相同的健全性检查和相同的指标下评估多个检测模型。它不只测一个 F1,而是同时测量下面这些:

这个框架立刻把我们一直称作“SOTA”的模型 v9.3_hn 的隐藏弱点揪了出来。

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,可能在这三者中的任何一项上崩塌。


5. codec4 UNet:正面解决编解码器脆弱性

诊断清楚了,解法也就清楚了:用 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 上得分很高,同时还保住了编解码器鲁棒性和对最新生成器的检测能力。 分数是解决弱点之后的结果,而不是追着分数跑出来的。


6. 公平的 3 方对比:模型越大,越不信任真实音乐

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——两个基线在编解码器变化下都出现了波动。)


7. 交叉验证:用外部研究来怀疑我们自己的测量

在自己的基准上赢是很容易的。所以我们用一个独立的外部检测器在完整的 SONICS 数据集上重新测了同样的数据——跑的是一个 Deezer ISMIR 一脉的 AI 音乐检测研究模型。

这个外部模型在 SONICS 上的结果验证了我们的流水线:

这次交叉验证告诉了我们两件事。第一,udio 系列并不只是我们的弱点,而是整个检测领域都难啃的一类(我们的 v9.5 在 udio-30s 上达到 100%,远远领先外部模型)。第二,外部模型的数字落在合理范围内,说明我们的基准测试框架是可信的。用外部实现来核对自己的测量,是 v10_260407 给我们烙下的习惯。


8. 更进一步:v96 与困难真实音乐这堵墙

编解码器的问题解决了,但 ArtifactBench 仍然指向一个地方——困难真实音乐的误报。 codec4 已经把 FMA 困难负样本的 FPR 降到了 8%,但没有降到零。那些“因为失真严重而听起来像 AI”的真实音乐——lo-fi、业余上传、一些老录音——依然存在。

于是在 4 月底,我们尝试了大量加入困难负样本的 v96。但困难真实音乐加得越多,两个风险就再次冒头——正如存档里的一条警告所说:(a) 向已收敛的模型批量加入困难负样本,有过拟合和震荡的风险,(b) 压制困难真实音乐可能连带拉低 AI 的 TPR。v96 在微调中出现了震荡,也没有给出足够明确的改进来取代 codec4 v9.5,所以我们没有把它发布到生产环境。

困难真实音乐的问题在 4 月并没有了结。而且——看过本系列最后一部分的读者都知道——这个“弱点”的真正面目,要到很久以后我们发现自己评估集中的数据泄漏时才会被改写。


9. 4 月留给了我们什么

这个月被人记住的是教训,而不是胜利。

下一部分,我们去解决那些尚未解决的困难真实音乐误报——最终意识到我们一直把问题测错了。


ArtifactNet 研究团队 · 2026 年 4 月

全部文章 第 5 部分:迈向实时 →

用你自己的曲目试用检测器

上传任意文件——使用本系列所述的同一套取证流程。