张鹏鹏

暂无个性签名

暂无个人介绍
  • 辛苦, 内容很全面~, 个人一点建议,可以针对问题主要内容进行抽离和总结。

    比如:

    【问题】GMM建模为什么更适合用MFCC而不是FBank?

    【回答讨论】:

    lucas 03:54

    [引用:gmm是求hmm中某个状态的对应当前帧的发射概率。你说的部分是采用em算法的时候找到某个状态对应一组mfcc,用来更新gmm参数,并且由于fbank的各个向量存在相关性,不可以使用在hmm模型中,而采用进行了dct最后mfcc作为输入]
    理论也不是不可以相关输入,只是为了大量减少参数估计,如传统一般把gmm协方差矩阵假设只为对角矩阵,然后通过对特征维度去相关变换来做。

     

    李先刚 | Xiangang Li 10:03

    [引用:我认为实际上可以,因为你可以忽略这些要求,直接送入fbank,实际准确率就会比使用mfcc来得低;理论上反倒是不可以,因为hmm的2个假设的其中一个是观察独立性假设,这个独立性可以从2层理解,第一从上下文的角度,第二从向量本身。第一条其实是不成立的,因为各帧之间就是有关联的;而第二点我们可以通过去相关性得到满足。
    ]
    13维mfcc的各维独立主要还是为了降低gmm复杂度考虑的,与hmm本身关系不是很大,之前有很多研究讨论这一块。此外在实际操作的时候本身其实做得比较糙,13维mfcc做了一阶二阶差分后,其实是有一些相关性的,例如之前就有研究修改对应的gmm等,但是收益其实不是很大。

     

    axego 10:17

    [引用:13维mfcc的各维独立主要还是为了降低gmm复杂度考虑的,与hmm本身关系不是很大,之前有很多研究讨论这一块。此外在实际操作的时候本身其实做得比较糙,13维mfcc做了一阶二阶差分后,其实是有一些相关性的,例如之前就有研究修改对应的gmm等,但是收益其实不是很大。]
    我理解了,就是让每个高斯之间区分性更好,非常感谢

     

    李先刚 | Xiangang Li 10:31

    [引用:我理解了,就是让每个高斯之间区分性更好,非常感谢]
    需要从这个角度理解会更合适:对于gmm建模来说,当特征的各维不独立的时候,例如fbank,就需要把一整个向量来统计均值方差,就意味着gmm中的每个高斯都的均值矩阵和方差矩阵都需要得是全矩阵。当特征各维独立的时候,如13维mfcc,则可以把每一维特征单独来看,也就是说,这时候gmm的每一个高斯的均值方差矩阵都可以直接是对角矩阵。刚才提到的从13mfcc差分后到39mfcc,严格来说,从这个角度来考虑,需要将39维mfcc特征做一些特殊排列后,采用三对角矩阵是更合理的,但实际操作大家没这么做。实际操作中为什么那么倾向于只用对角矩阵,主要还是因为参数量的考虑,参数量少了就对数据库规模要求就更低,参数量少了就使得计算也更高效


    李先刚 | Xiangang Li 10:35

    mfcc、fbank、gmm这些事,一般的教程里面都不太会讲到,大家能讨论到这个点上,挺好的。希望对大家的理解有帮助