Skip to content

IOAI 2025 GAITE Synthetic Speech Detector

  • 来源:noai-mis/IOAI/IOAI-2025/GAITE-Contest/Synthetic_Speech_Detector
  • 类型:Audio
  • 原始资料:Task Description、Baseline、Ref Result notebook、metrics_v6
  • 题面完整性:完整
  • 解法资料完整性:有 reference solution

题面大意

区分真实人声 bonafide 与 AI 合成语音 spoof。数据已经从原始音频转换为 Mel spectrogram,并以 .pt tensor 保存。训练集按 bonafide/spoof/ 子目录组织,验证/测试无标签。提交 submissionA.csvsubmissionB.csv,每行一个 0/1,无表头。评分是 F1-score。

数据特点

输入是频谱图张量,可视作单通道或多通道图像。合成语音与真实语音差异可能体现在高频伪影、相位/频谱纹理、能量平滑性和声学统计。F1 对正类/负类平衡敏感,类别比例需要检查。

考点

核心考点是将音频伪造检测转成频谱图二分类。题面允许 ResNet18,也可自写 CNN。由于时间 20 分钟,模型大小和训练 epoch 需要权衡。

涉及知识点

  • Mel spectrogram classification。
  • ResNet18 输入通道适配。
  • Binary/CrossEntropy loss。
  • F1-score 与阈值调优。
  • 训练/验证切分和过拟合控制。

解法思路

参考 solution 实现 SpectrogramDataset 读取 .pt 文件,对训练目录根据子文件夹赋标签。模型可用自定义 AudioNet 或 ResNet18,训练若干 epoch 后对 validation/testing 目录推理,输出 argmax 标签。若用 ResNet18,需要把输入 resize/通道扩展到模型要求,或修改第一层卷积。

可选/多种解法

小 CNN:训练快,适合 spectrogram。

ResNet18:更强的纹理分类能力,但注意训练时间。

统计特征 + 传统模型:提取频带能量、谱平滑度等,作为轻量 baseline。

特殊技巧

F1 不是 accuracy,阈值可在本地验证 split 上调。训练时可做 SpecAugment、时间裁剪、频带 mask,但不要破坏伪造痕迹。若类别不平衡,使用 class weight 或 balanced sampler。

调参优化

题解中最关键的可调项是二分类阈值,因为评分是 F1 而不是 accuracy。建议从本地训练集切出验证集,保存 spoof 概率后扫描阈值,例如 0.2..0.8,选择验证 F1 最优点;同时比较 ResNet18 与轻量 CNN 的训练时间和过拟合程度。频谱增强可从轻到重调:先加时间/频率 mask,再尝试随机裁剪和增益扰动,观察是否破坏伪造痕迹。类别不平衡时优先调 class_weight 或 balanced sampler,再调阈值。

注意事项

题面提示不要修改官方 SpectrogramDataset 以免加载错误。提交无表头,一行一个标签。若 notebook 省略训练过程只提交模型,也要保证评测环境能加载所有依赖和权重。

推广意义

这题是音频 deepfake 检测的入门版。核心流程可推广到语音伪造、设备指纹、音频异常检测和生成式媒体鉴别。