Appearance
MusicArtist-F 多类艺人识别
- 来源:
noai-train/联合训练/Day1/T3 MusicArtist 陈浚源 - 类型:Audio / multimodal tabular fusion
- 原始资料:
PROBLEM.md、baseline.py、metrics.py、Day1.md、Day1 ref/T3 MusicArtist_ref - 题面完整性:完整
- 解法资料完整性:有 baseline 与多个参考脚本;题解主要来自 Day1 总结与代码推断
题面大意
给定 60 秒、16 kHz、单声道的音乐片段,以及与片段对齐的 CSV 侧向特征(如 BPM、谱面难度等),预测该片段对应 20 类音乐游戏供曲艺人之一。提交 submission.py 生成 submission.csv,主指标是多分类准确率。题目禁止使用任何预训练模型或额外数据,只能在公开训练音频和侧向特征上从零训练或做特征工程。
数据特点
音频长达 60 秒,信息量远大于侧向表格特征;同时艺术家类别可能通过节奏、音色、能量分布、BPM 范围和谱面侧信息体现。训练集规模有限,直接从零训练大型音频深网风险较高。侧向特征与音频特征存在互补关系,但标签只有 20 类,随机森林/梯度提升等传统模型在手工特征上很有竞争力。
考点
考点是“无预训练条件下的音频特征工程与多源特征融合”。参赛者需要从音频中提取 mel、MFCC、频谱质心、带宽、rolloff、zero-crossing、节奏等统计量,再与 BPM/难度等侧信息融合。另一个难点是测试分布和训练分布可能不完全一致,需要验证集设计和集成降低偶然性。
涉及知识点
- 音频预处理:重采样、裁剪、归一化、STFT、mel spectrogram。
- 手工音频特征:MFCC 均值/方差、谱质心、谱带宽、色度、节奏特征。
- 表格模型:RandomForest、ExtraTrees、SVM、Logistic Regression、简单 MLP。
- 融合策略:特征级拼接、概率平均、stacking。
- 小数据多分类:分层验证、类别均衡、混淆矩阵分析。
解法思路
第一种稳健路线是手工提取音频统计特征:把每段音频切成若干窗口,计算 mel/MFCC/谱特征的均值、标准差、分位数和极值;再与 train_extra.csv 中的侧向特征拼接,训练随机森林或梯度提升分类器。Day1 总结中也指出,只处理音频就能拿到不错分数,加入侧信息后还能提升。
第二种路线是从零训练小 CNN:把 mel spectrogram 当图像输入,模型预测 20 类。由于不能用预训练,模型要小,增强要足,包括时间平移、随机裁剪、频带/时间遮挡、mixup。最后将 CNN 概率与表格模型概率平均,常比单模型稳定。
可选/多种解法
音频特征 + 随机森林:工程量适中,训练快,对小数据友好。
mel CNN:上限较高,但依赖增强和训练稳定性。
双分支模型:一支处理 mel,一支处理侧向特征,最后融合;需要更细的验证设计。
特殊技巧
长音频不必整段送入模型,可切成多个片段分别预测再平均,既增加训练样本,也减少显存压力。对艺术家识别,BPM 区间、谱面难度、音色统计和节奏稳定性往往是强特征。概率融合时不要只取硬投票,保留模型不确定性更好。
调参优化
调参应分两条线进行:表格/手工音频特征模型调 n_estimators、max_depth、正则强度和特征集合,mel CNN 调输入片段长度、mel bins、学习率、dropout、mixup 与 SpecAugment 强度。验证集最好按歌曲或谱面分组,避免同一歌曲片段泄漏导致参数选择过乐观。融合时不要简单默认 0.5/0.5,可在验证集上扫描表格模型与 CNN 概率的加权系数。若类别混淆集中在相近艺人,优先调类别权重和采样策略,而不是盲目增大网络。
注意事项
题面明确禁止预训练音频/语音/多模态模型,也禁止额外数据和联网下载。artist_labels.csv 只用于理解标签,不能当作输入特征产生语义捷径。评测以 audio_name 对齐,缺行和多行会在 score.json 中报告。
推广意义
这题是“无预训练时代”的音频竞赛模板:用可解释的频谱统计打底,再用小模型和融合提升。它适用于音频事件识别、音乐风格分类、设备声音故障诊断等小数据音频任务。