声纹识别 算法 初步了解

GMM-UBM(混合高斯-通用背景模型)
混合高斯-通用背景模型(Gaussian Mixture Model-Universal Background Model,GMM-UBM)将声学特征投影到高维空间上,得到高维的均值超矢量。UBM采用大规模的说话人语料训练完成,并因此可以被采进行说话人的共性特征的描述。然后,以UBM为初始模型,采用目标说话人数据进行基于最大后验概率(Maximum A Posterior, MAP)的自适应训练,得到目标说话人的混合高斯模型(GMM)。通过计算似然值的方法进行说话人打分,进而进行识别判决。

高斯混合模型(GMM)是声纹识别中最常用的模型之一,因为在声纹识别中,如何将语音特征很好地进行总结及测试语音如何与训练语音进行匹配都是非常复杂难解决的问题,而GMM将这些问题转为对于模型的操作及概率计算等问题,并进行解决。高斯混合模型可以逼近任何一个连续的概率分布,因此它可以看做是连续型概率分布的万能逼近器。GMM模型是一个有监督的训练过程。它的基本思想就是利用已知的样本结果来反推最有可能(也就是最大概率)导致该个结果的参数值,在这个原则之下,GMM通常采用最大期望算法(EM)模型进行迭代直到收敛来确定参数。

虽然GMM模型座位一种通用的概率模型,对说话人识别的效果很好,但是实际上,我们经常会遇到训练语音比较短、或者预料比较少的情况,这样就不能训练处好的GMM模型,从而使识别率遍地。所以在GMM模型的基础上,有些专家就提出了高斯混合模型-全局背景模型(GMM-UBM)

而GMM-UBM系统利用大量的说话人语音训练出一个全局背景模型(UBM),因此在较小的训练集情况下仍然可以获得较为准确的模型,识别性能及鲁棒性都很好。

说话人矢量因子(Identity-Vector,I-Vector)

传统的联合因子分析建模过程主要是基于两个不同的空间:由本征音空间矩阵定义的说话人空间,由本征信道空间矩阵定义的信道空间。受联合因子分析理论的启发,Dehak提出了从GMM均值超矢量中提取一个更紧凑的矢量,称为I-Vector。这里的I是身份(Identity)的意思,出于自然的理解,I-Vector相当于说话人的身份标识。

I-vector方法采用一个空间来代替这两个空间,这个新的空间可以成为全局差异空间,它即包含了说话者之间的差异又包含了信道间的差异。所以I-Vector的建模过程在GMM均值超矢量中不严格区分话者的影响和信道的影响。这一建模方法的动机来源于Dehak的又一研究: JFA建模后的信道因子不仅包含了信道效应也夹杂着说话人的信息。

所以到现在,我们主要用的特征是i-vector。这是通过高斯超向量基于因子分析而得到的。这玩意是基于单一空间的跨信道算法,该空间既包含了说话人空间的信息也包含了信道空间信息。相当于用因子分析方法将语音从高位空间投影到低维。

你可以把I-vector看做是一种特征,也可以看做是简单的模型。最后,在测试阶段,我们只要计算测试语音I-vector和模型的I-vector之间的consine距离,就可以作为最后的得分。这种方法也通常被作为基于I-vector说话人识别系统的基线系统。

信道补偿算法

其实,信道补偿相关的工作从有声纹识别领域以来就一直有研究,包括上面的GMM-UBM系统和联合因子分析系统。信道补偿主要分三个层次:基于特征的补偿,基于模型的补偿和基于得分的补偿。由于我所研究的方面都是在I-vector特征的基础上的,所以这里重点说一下基于I-vector特征的信道补偿算法。

什么叫信道补偿呢?为什么要信道补偿呢?

前面说I-vector的时候说了,I-vector特征中既包含说话者信息又包含信道信息,而我们只关心说话者信息。也就是说,由于信道信息的存在,对我们做说话人识别产生了干扰,甚至严重影响系统的识别准确率。于是,我们就要想办法尽量减小这种影响。这就是所谓的信道补偿。

LDA线性鉴别分析

LDA至多可生成C-1维子空间(C为分类类别数),LDA降维后的度区间在 [1,C-1] ,与原始特征数n无关,因此二分类问题至多可以降维到一维,导致有些线性不可分数据分布情况无法分类。在声纹识别中,大部分情况是二分类问题,所以这里LDA的作用是将原始高维特征数据降维到一维,这样每一个样本特征向量映射为一维上的一个点,这个点的数值表示该点到原点的距离。

当一个说话人有很多语音时,表现为这些语音在说话人空间中聚集为一簇。如果这些语音收到信道的影响,那么就表现为这个说话人的语音的方差很大。然后,LDA尝试着找到一个新的方向,将原来的所有数据投影到这个方向,使得在这个方向中同一说话人的数据具有最小的类内方差,同时不同说话人之间的距离尽量大。这样,就达到减小信道差异的影响了。

LDA其实也是一种降维方法。它尽量去移除不需要的方向,最小化类内的方差信息量。也就是,LDA寻找一个新的方向去更好地对不同的类做出分类。可见,LDA非常适合作为说话人识别系统的信道补偿算法。

当使用LDA对测试数据和模型的I-vector进行重新投影后,然后计算它们之间的cosine距离,就可以作为最后的得分。

LDA如何找到这个映射方向。前面不是说LDA的目的是最大化类间距离,最小化类内距离么。LDA是可以直接求取解析解的。具体方法就是对目标函数求导并且令导数为零。但是在求导之前,记得对分母进行归一化,因为如果不归一化的话,映射方向扩大任意倍等成立,所以不好确定映射方向的具体值。在求解析解的过程中,经过一系列变化,我们最终只要求出原始样本的均值和方差就可以最佳映射方向 w,这就是Fisher 于 1936年提出的线性判别分析。

推荐论文:
I-vector: Front-End Factor Analysis for Speaker Verification

参考:
https://www.jianshu.com/p/19d34b19517b

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值