首页 > AI工具 > VeriSpoof:墨尔本大学的语音取证模型 真假和来源一套权重回答

VeriSpoof:墨尔本大学的语音取证模型 真假和来源一套权重回答

更新时间:2026-11-11 00:27:39 发布时间:7小时前 阅读:10次

VeriSpoof 是墨尔本大学在 2026 年 11 月 3 日提交到 arXiv 的音频大模型,做语音深度伪造检测。同一套权重回答四类取证问题,在 Speech-DF-Arena 的合并 EER 是 2.14%,开源权重里排第一。权重、代码、在线 Demo 和评测基准都放在 Hugging Face 与 GitHub 上,许可为 CC BY-NC 4.0,只允许非商业用途。

VeriSpoof 项目主页首屏
项目页首屏,标题下方写明它要回答的是真假、生成系统、是否同源、经过什么信道四个问题

VeriSpoof 是什么

论文编号 arXiv 2611.04634,作者是 Yang Xiao 和 Ting Dang,两人都在墨尔本大学。它要解决的不是二分类:一条录音被当成证据提交时,做取证的人还要知道是哪个系统合成的、和另一段可疑录音是不是同一个来源、录制时经过了什么处理、依据是什么。

做法是把这几类问题都变成对同一句答案的打分。模型里没有任务专用的输出头,每个答案都是模型自己生成的一句话,再用这句话的概率当分数。

公开的东西可以按用途分开找:

VeriSpoof 能回答哪五个问题

界面上把五个问题排成一行标签,点开每个都能看到示例录音的选项和分数。

VeriSpoof 五个取证问题的界面卡片
项目页把五类问题做成卡片,每张给出示例录音的选项和打分,右下角写着分数的算法 s = log p(a⁺) − log p(a⁻)

VeriSpoof 为什么不用分类头

传统检测器在最后接一个二分类头,输出一个分数。VeriSpoof 把答案本身当输出,分数从这个答案句的概率算出来:

s = log p(spoof answer) − log p(bona fide answer)

这样做的结果是不存在分数和解释对不上的环节。榜单上评的那个数,就是使用者读到的那句话的概率。

VeriSpoof 的模型结构怎么搭

两段现成模型中间加一个从头训练的音频分词器,三段拼起来是 2.85B 参数,其中只有 29.7M 参与训练。

VeriSpoof 模型结构图
官方结构图:左边是音频编码器与音频分词器,中间是 MiniCPM5-2B,右边是五类问题的输出,底部标着三个阶段

训练按三个阶段推进,每个阶段只训一部分部件:

VeriSpoof 的检测错误率是多少

Speech-DF-Arena 官方协议共 14 个测试集、234 万条试验,用一个阈值统计全部试验得到合并 EER。VeriSpoof-Plus 是 2.14%,平均 EER 1.79%;VeriSpoof-Base 是 4.43%。

Speech-DF-Arena 上各系统合并 EER 对比
官方给出的对比图,数值越低越好,深蓝是 VeriSpoof-Plus,浅蓝是 VeriSpoof-Base,灰色为其他系统

VeriSpoof 怎么判断两段录音同源

同源判断在 MLAAD 上按三种协议测:训练中见过的生成器、没见过的生成模型、没见过的模型架构。对照物是在开源检测器 DF-Arena-1B 的冻结特征上专门训练的配对探针,训练数据按同一套列表配齐。

测试协议 配对探针 Base Plus
训练中见过 29.0% 17.23% 7.68%
未见生成模型 26.5% 13.80% 6.17%
未见模型架构 24.8% 20.25% 15.00%
MLAAD 上同源判断的 EER 对比
三种协议下的同源判断 EER,未见生成模型那组 Plus 是 6.17%,比配对探针低 77%

同一套权重还能直接点名生成系统,在 MLAAD 上准确率 96.8%;识别噪声、混响和编解码的准确率 81.3%。作为对照,六个通用音频大模型在同样的选择题上,同源判断落在 48.4% 到 53.3% 之间,二选一的随机水平是 50%,录音条件只有 16.4% 到 22.6%,随机水平是 12.5% 到 20%。这说明音频理解做得好的模型,不一定能分辨合成痕迹和信道特征。

VeriSpoof 的推理为什么能核对

推理按固定字段写,每一类陈述都有不依赖模型本身的检查器:

训练时加了反事实样本。把推理里的定位改成“没有合成片段”,结论要翻转;只改信道或观测行,结论必须保持不变。项目页写的是,99.5% 的决策能跟随训练中没见过的改法。

先写推理再下结论,能抓住一步回答漏掉的局部伪造。中文集 HAD 上,一步回答的检出率是 48.4%,推理后到 97.6%;英文 PartialEdit 上,Base 从 78.4% 到 99.6%,Plus 从 94.4% 到 99.6%。逐 token 定位头在 HAD、PartialEdit、PartialSpoof 上的 F1 分别是 0.91、0.79、0.77。

局部伪造录音在推理前后的检出率对比
只改一个词的局部伪造,直接回答与先写推理再结论的检出率对比,柱子越长越好

VeriSpoof 怎么安装和调用

需要一张 12 GB 显存以上的 CUDA 显卡,权重第一次运行时下载。

  1. 拉取代码与权重:hf download AustinXiao/VeriSpoof-Plus --include "code/*" --local-dir verispoof
  2. 安装:pip install ./verispoof/code
  3. 读一条录音,拿标签和分数:model.detect("sample.wav")
  4. 要理由,拿推理文本、结论、片段和逐 token 概率:model.explain("sample.wav")
  5. 比两段录音,指定比对层级:model.same_source("a.wav", "b.wav", level="generator")
  6. 查录音条件或点名生成器:model.condition("sample.wav", attr="codec")、model.generator("sample.wav", ["XTTS-v2", "Bark", "VITS"])
hf download AustinXiao/VeriSpoof-Plus --include "code/*" --local-dir verispoof
pip install ./verispoof/code
from verispoof import VeriSpoof

model = VeriSpoof.from_pretrained("AustinXiao/VeriSpoof-Plus")
model.detect("sample.wav")                              # 标签 + 分数
r = model.explain("sample.wav")                         # 推理文本、结论、片段、逐 token 概率
print(r["decision"], r["spans"], r["token_prob"])
model.same_source("a.wav", "b.wav", level="generator")  # 也可 acoustic_model / vocoder
model.condition("sample.wav", attr="codec")             # 也可 noise / reverb

要批量跑可以换 vLLM 后端,官方给的说法是批量时约 46 倍加速。安装时带上 [vllm] 扩展,调用改成 VeriSpoofVLLM.from_pretrained,explain 和 compare 都能一次传多个文件或配对。

VeriSpoof-Plus 和 Base 怎么选

版本 训练数据 合并 EER 适合的用法
Base 11 个语料,约 38 万条 4.43% 受控对照实验
Plus 23 个语料,约 440 万条 2.14% 直接使用

Base 只用公开语料的官方训练集,训练步数 8k、20k、10k,全局 batch 32,单张 48 GB 显卡约 14 GPU 小时。技术报告里的对照研究都基于 Base,复现别人的结论要从它开始。Plus 在同一套配方上多加 12 个语料,伪造部分按 211 个来源均衡采样、归并成 82 个架构族,真人部分按 18 个数据集均衡,避免大语料占多数。

两个版本的推理开销一样,任意采样率的录音直接输入,用 vLLM 批量 64 时一条 A100 上每条约 0.05 秒。

VeriSpoof 现在能用到什么程度

权重、代码、Demo、基准都已经是公开状态,装上就能跑,不用申请。

语音合成和语音克隆的门槛降到几秒样本之后,一个真假分数已经不够用。VeriSpoof 给出的方向是把取证拆成可以逐条核对的陈述,分数、来源、位置分开写,哪一条站不住一眼能看出来。

相关文章