mert_pretrain.md 2.18 KB

音乐翻唱检测与音频片段检索系统 (CSI) 核心能力结构清单

1. 核心架构逻辑

  • 底座 (Backbone):MERT (冻结预训练权重) - 负责音频语义理解。
  • 头部 (Head):CoverHunter (可训练 Conformer+Attention) - 负责旋律与结构的对比学习。
  • 对齐方式:双流融合 (MERT 语义特征 + Melody/Chroma 旋律特征)。

2. 数据与特征工程 (Data Pipeline)

  • 数据集结构:以 Song_ID 为唯一键,物理隔离原曲、压缩版、录音与环境音。
  • 动态增强 (Data Augmentation)
    • 物理扰动:音高平移 (Pitch Shifting)、变速 (Time Stretching)。
    • 环境注入:背景噪声混入 (Environment Injection)。
    • 频率掩码:频段擦除 (Frequency Masking) - 逼迫模型脱离音色依赖,转向旋律核心。
  • 数据对齐:使用插值 (Interpolation) 将 MERT 序列长度与 Melody 序列长度对齐至一致的 Time_Steps

3. 训练与优化策略 (Training Strategy)

  • 样本采样 (Sampler):PairSampler - 确保 Batch 中包含强配对的“原曲-翻唱”与精心挑选的“原曲-难负样本”。
  • 难负样本挖掘 (Hard Negative Mining)
    • 使用冻结 MERT + Faiss 构建初始索引。
    • 挖掘曲风相似但旋律不同的“假孪生兄弟”歌曲作为 Negative 样本。
  • 损失函数 (Loss Function):InfoNCE Contrastive Loss - 拉近正样本余弦距离,推远负样本余弦距离。

4. 推理与检索引擎 (Inference & Retrieval)

  • 离线建库:全量原曲切片 -> 特征提取 -> 存入向量数据库 (Faiss/Milvus)。
  • 在线查询:录音片段 -> 滑动窗口切片 -> 提取 Embedding -> 近似最近邻检索 (ANN)。
  • 鲁棒性机制:切片投票机制 (Slice Voting) - 对查询录音切片所得的 Top-K 结果进行统计,按票数加权归一化排序。

5. 工程化关键节点 (Engineering Checklist)

  • 计算优化:离线特征缓存 (预先存储 .npy 减少 GPU 实时计算压力)。
  • 部署优化:ONNX/TensorRT 模型编译 + 动态批处理 (Dynamic Batching)。
  • 数据飞轮:在线难例挖掘 (基于用户反馈的 False Positives 循环重训)。