为什么 Mel-filterbank 能量在使用 CNN 进行语音命令识别方面优于 MFCC?

问题描述 投票:0回答:2

上个月,一位名为@jojek的用户在评论中告诉我以下建议:

我可以打赌,如果有足够的数据,CNN 在梅尔能量上的表现将优于 MFCC。你应该试试。对梅尔谱图进行卷积比对去相关系数进行卷积更有意义。

是的,我在 Mel-filterbank 能量上尝试了 CNN,它的性能优于 MFCC,但我仍然不知道原因!

尽管许多教程(例如 Tensorflow 的 this)鼓励在此类应用中使用 MFCC:

由于人耳对某些频率比其他频率更敏感,因此语音识别中的传统做法是对此表示进行进一步处理,将其转换为一组梅尔频率倒谱系数,简称 MFCC。

另外,我想知道 Mel-Filterbank 能量是否仅在 CNN 下优于 MFCC,或者 LSTM、DNN 等也如此。如果您添加参考,我将不胜感激。


更新1

虽然我对@Nikolay的回答的评论包含相关细节,但我将在这里添加:

如果我错了,请纠正我,因为在这种情况下,对梅尔滤波器组能量应用 DCT 相当于 IDFT,在我看来,当我们保留 2-13(含)倒谱系数并丢弃其余部分时,相当于低时间提升以隔离声道成分,并丢弃源成分(例如具有 F0 尖峰)。

那么,既然我关心的语音命令识别模型就是声道组件,为什么我要使用所有 40 个 MFCC?

更新2

另一个观点(链接)是:

请注意,26 个 DCT 系数中仅保留了 12 个。这是因为较高的 DCT 系数代表滤波器组能量的快速变化,而且事实证明这些快速变化实际上会降低ASR 性能,因此我们通过丢弃它们来获得小的改进。

参考资料:

https://tspace.library.utoronto.ca/bitstream/1807/44123/1/Mohamed_Abdel-rahman_201406_PhD_thesis.pdf

deep-learning conv-neural-network speech-recognition feature-extraction mfcc
2个回答
9
投票

问题是,MFCC 是通过简单的矩阵乘法和降维从梅尔能量计算出来的。该矩阵乘法不会影响任何内容,因为任何其他神经网络随后都会应用许多其他操作。

重要的是降维,而不是 40 梅尔能量,而是采用 13 梅尔系数,剩下的就丢掉了。这会降低 CNN、DNN 等的准确性。

但是,如果您不放弃并仍然使用 40 个 MFCC,您可以获得与梅尔能量相同的精度,甚至更好的精度。

所以 MEL 或 MFCC 并不重要,重要的是你的特征中保留了多少个系数。


0
投票

伙计,我也被同样的问题所困扰,目前我有几个假设,并且我仍在尝试忍受它。 (1) mfcc适用于处理不同基频的谐波,例如log(mn)-log(mq)=log(n)-log(q),这意味着无论基频距离如何变化两个和声之间不会改变。这个结果在泛化情况下非常有用,因为即使不同的人以不同的基本频率发音元音,mffc 也不会改变。

(2) 目前mfcc很容易受到nosie和其他声音成分的影响,因此,在应用mfcc之前,现在我正在尝试提取谐波声音。

© www.soinside.com 2019 - 2024. All rights reserved.