音频频谱图归一化

信息处理 声音的 频谱图 音频处理 深度学习
2022-02-11 02:34:09

我正在使用 mel-spectrograms 作为 ResNet 的输入从音频信号中执行语言分类。只要我所有来自不同语言的音频数据都来自同一个数据集(因此格式相同),它就可以很好地工作。当我使用数据集 1 中的语言 A 进行训练并使用数据集 2 中的语言 A 进行验证时,该语言的准确度显着下降,相反,网络猜测语言 A 的许多信号与数据集 2 是不同的语言。

这让我相信网络首先会选择确定音频来自哪个数据集的特征,然后将语言分类为次要特征。

我尝试重新格式化每个数据集中的数据,以便它包含相同数量的信息。数据集 1 (voxforge) 由 wavfiles 组成,数据集 2 (mozilla common voice) 由 mp3 数据组成,因此我将数据集 1 转换为与数据集 2 具有相同采样率和每个样本位数的 mp3 数据。

我在想数据集中肯定还有其他一些编码工件使我的网络中断。是否有其他人对跨数据集的“标准化”数据或任何关于转换编码以使编码的信息具有同等质量的问题有任何疑问?

2个回答

首先,是的,任何机器学习工具所能达到的效果都与它所训练的数据集一样好。

ML 无法猜测您希望它尊重哪些高维数据的属性,哪些不尊重。

因此,本质上,当涉及到您感兴趣的功能(语言)时,您必须确保所有数据源的概率分布相同。

这样做的一个相对简单的方法是随机抽样,您可以根据语言对所有数据源进行分类,然后为每种语言选择一个记录子集,以便所有数据源的频率相同。然后,您使用不同的随机选择的子集进行训练。

真的,这是贝叶斯统计基础;我认为信号处理在这里不会对您有所帮助。您仍然可以尝试预处理音频数据,使其仅包含相对记录方法不变的特征(即经典音频特征,例如倒谱系数),但是您基本上会做您想做的事情一个神经网络:找到信号的适当属性来区分语言,并且由于问题会持续存在,我非常乐观地认为 Resnet 方法仍然会将其分类与数据源相关联,因为一些信息会当然,通过那个特征发现步骤,你的数据集仍然不是分类目标pdf。

两个数据集中是否有任何语言和词汇?如果是这样,请仅使用两个数据集共有的样本来检查数据集之间的差异。方言、麦克风响应、均衡、背景噪声、房间声学、HRTF 等可能存在差异。