背景:最近个人 project 需要做了一个方言的机器学习分类器,目前就两种,输入是视频的音频,模型是最简单的 1dCNN 只有几层,数据量大约有 30 小时,两种方言对半分。在测试集上准确率都在 80%以上,偶尔飙升到 90%多。但实际场景的话,有一种方言被严重多估大概一半。
分析:第一点大概是数据不够,在 CNN 下面加 BatchnNormalization 的话准确率很低,所以或称了 dropout 效果就好很多了。但大概也是如此,因为人工标注的数据太少,导致实际场景准确率没有测试集高,而且都是某一种方言错得特别多,另一种准确率则不错。第二点大概是模型问题,因为我是业余的,所以也懂得不多。第三是提取特征的问题,音频的分析用的是 librosa,提取 mfcc/zero_crossing/tempogram/bandwidth 等特征。我猜更好可能是先要分离背离音,然后再分析比较好。
问题:目前优化怎样会比较好?增加数据量?尝试在分离特征上努力,分离背景音?只选没有背景音的输入数据?优化模型?谢。
1
Philippa OP 其他方法,传统的机器学习或开源或第三方服务也可以的
|
2
dji38838c 2020-06-12 02:34:41 +08:00 1
每个样本的长度是多少? 可以 data augmentation 自己生成一点,扩充一些数据量。提取 MFCC 这些特征本身应该已有分离背景音的效果了。
|