闻声识人——声纹识别技术简介

  从模式识别的相关定义上来说,GMM是一种参数化(Parameterized)的生成性模型(Generative Model),具备对实际数据极强的表征力;但反过来,GMM规模越庞大,表征力越强,其负面效应也会越明显:参数规模也会等比例的膨胀,需要更多的数据来驱动GMM的参数训练才能得到一个更加通用(或称泛化)的GMM模型。

  假设对维度为50的声学特征进行建模,GMM包含1024个高斯分量,并简化多维高斯的协方差为对角矩阵,则一个GMM待估参数总量为1024(高斯分量的总权重数)+1024×50(高斯分量的总均值数)+1024×50(高斯分量的总方差数)=103424,超过10万个参数需要估计(搞深度学习的同学你们中箭了吗?)!

  这种规模的变量别说目标用户几分钟的训练数据,就算是将目标用户的训练数据量增大到几个小时,都远远无法满足GMM的充分训练要求,而数据量的稀缺又容易让GMM陷入到一个过拟合(Over-fitting)的陷阱中,导致泛化能力急剧衰退。因此,尽管一开始GMM在小规模的文本无关数据集合上表现出了超越传统技术框架的性能,但它却远远无法满足实际场景下的需求(毕竟95年的技术了...)。

  时间来到了2000年前后,仍然是DA Reynolds的团队,提出了一种改进的方案:既然没法从目标用户那里收集到足够的语音,那就换一种思路,可以从其他地方收集到大量非目标用户的声音,积少成多,我们将这些非目标用户数据(声纹识别领域称为背景数据)混合起来充分训练出一个GMM,这个GMM可以看作是对语音的表征,但是又由于它是从大量身份的混杂数据中训练而成,它又不具备表征具体身份的能力。

  那它有什么用呢?

  学术圈的人就会告诉你:从贝叶斯框架的角度上来说,这个四不像GMM可以看作是某一个具体说话人模型的先验模型。形象的比方就是说你准备去相亲,媒人给你看了小莉的照片,你耳边浮现的肯定是小莉各种可能的温柔的声音,而不是你家旺财的叫声。

  这个混合GMM就是起到了类似的作用,它对语音特征在空间分布的概率模型给出了一个良好的预先估计,我们不必再像过去那样从头开始计算GMM的参数(GMM的参数估计是一种称为EM的迭代式估计算法),只需要基于目标用户的数据在这个混合GMM上进行参数的微调即可实现目标用户参数的估计,这个混合GMM也有一个很洋气的名字,叫通用背景模型(Universal Background Model,UBM)。

  UBM的一个重要的优势在于它是通过最大后验估计(Maximum A Posterior,MAP)的算法对模型参数进行估计,避免了过拟合的发生。MAP算法的另外一个优势是我们不必再去调整目标用户GMM的所有参数(权重,均值,方差)只需要对各个高斯成分的均值参数进行估计,就能实现最好的识别性能。 这下子待估的参数一下子减少了一半还多(103424 -> 51200),越少的参数也意味着更快的收敛,不需要那么多的目标用户数据即可模型的良好训练。(八卦时间:据说Douglas A. Reynolds正是因为提出了GMM-UBM的框架而当选了IEEE的Fellow,如果有误请忽略)

物联网

  图10:基于UBM的MAP用户模型训练算法

  但GMM-UBM框架够好了吗?并没有 (咳咳,2000年前后…),至少有两个问题GMM-UBM框架仍然没法解决:

  待估的参数仍然还是太多了。在NIST SRE的标准测试中,一个目标用户的可用语音约在5min左右,去掉静音段和停顿,大约只能保留1分半到2分半左右的有效长度,看起来已经挺短了,但是你能想象在在实际产品中一个用户对着手机连续读五分钟进行注册吗?absolutely no!这个长度的有效语音对于一个1024个高斯分量组成的GMM模型来说还是太短了,MAP算法只能对其中一部分落在某些高斯分量上的特征进行相应的高斯分量进行参数优化,而另外相当一部分得不到观测数据的高斯分量怎么办?那就只能老老实实待在原地不动了。这就造成了目标用户GMM某些区域具备良好的目标用户身份表达能力,而另外一些GMM区域则基本和UBM的参数相同,这无疑降低了文本无关识别应用中模型的表达能力;

  GMM-UBM缺乏对应于信道多变性的补偿能力,直白点说就是它不抗干扰,你拿爱疯手机在云端注册模型,换个小米手机拿来做识别,不通过!这下真的发烧了。但了不起的科学家们总有改进的办法,WM Campbell将支持向量机(Support Vector Machine,SVM)引入了GMM-UBM的建模中,通过将GMM每个高斯分量的均值单独拎出来,构建一个高斯超向量(Gaussian Super Vector,GSV)作为SVM的样本,利用SVM核函数的强大非线性分类能力,在原始GMM-UBM的基础上大幅提升了识别的性能,同时基于GSV的一些规整算法,例如扰动属性投影(Nuisance Attribute Projection, NAP),类内方差规整(Within Class Covariance Normalization,WCCN)等,都在一定程度上补偿了由于信道易变形对声纹建模带来的影响,这里也不多过多展开,有兴趣的读者们也可以查阅相关文献或与我们一起讨论。