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 循环重训)。