声纹识别-3.i-vector/PLDA(上篇)
前言
前面两篇博文分别介绍了声纹识别的绪论和传统的GMM-UBM声纹识别算法。本文介绍,到目前为止,声纹识别领域仍具很大影响力的i-vector1/PLDA2(identification vector, Probabilistic Linear Discriminant Analysis,辨识向量,概率线性判别分析)。i-vector是代表说话人的向量,PLDA是一种信道补偿算法。由于整个i-vector识别框架涉及的知识点较多,为了尽可能详细阐述各个知识点的数学逻辑,博文分为上下篇。
i-vector是从GMM均值超向量(GMM mean supervectors3,该超向量代表说话人)中提取一个更紧凑向量,也叫全因子(total factors),是在联合因子分析(Joint Factor Analysis,JFA)的理念上发展来的。Patrick Kenny(JFA作者,加拿大蒙特利尔研究所)认为声纹信息可以用一个低秩的超向量子空间来表示,噪声和其他信道效应也用一个不相关的超向量子空间进行表达,如下图4所示。
上图中所示的超向量
来表示某个说话人,它是自多个高斯模型的均值(从UBM自适应到GMM后的均值)堆积,如下图3所示。可以看出,
是经过UBM自适应之后得到的超向量,这个超矢量同时包含说话人影响和信道影响,也就是说,前篇博文提及的GMM-UBM算法,实际上并没有细致到把信道对说话人的影响考虑进来,所以其跨信道性能差。
研究显示,一段语音中包含的说话人因子和会话因子(信道及背景信息)很难通过JFA的方法完全分离,因为JFA方法得到会话因子仍包含有一定说话人的信息——所以,Patrick Kenny的学生Dehak提出了i-vector, ,式中 为上文提及的说话人、信道依赖的超向量, 为说话人、信道独立的超向量,一般用UBM的均值向量代替, 即identity vector,total factor,而 叫做total variability matrix。
PLDA是一种信道补偿(channel compensation)算法,所谓信道补偿——由于信道信息的存在,对我们做说话人识别产生了干扰,甚至严重影响系统的识别准确率。于是,我们就要想办法尽量减小该影响。信道补偿可以从说话人识别的三个维度来做,特征维度,模型维度和打分维度,而PLDA在特征维度给i-vector做了很好的信道补偿,因为i-vector同时含有说话人和信道的信息,我们只关心说话人信息。
整个i-vector/PLDA系统如下图5所示。
Step1. 训练UBM
UBM的训练与上一篇博文的训练方法相同,即使用EM算法基于一批说话人数据(提取成MFCC特征)训练得到通用背景模型,此处不再赘述。
Step2. 计算统计量和 矩阵
1. i-vector框架
i-vector定义了一个低维度向量 , (先验假设,根据数据继续迭代计算调整——贝叶斯理派)来表示某语音段(utterance)。 这个公式用来模拟GMM supervector的产生,i-vector架构下并没有真正训练某个人的GMM,自然就没有GMM supervector; 是被建模的某个说话人对应的ideal特征超向量——经过T矩阵乘i-vector,加上UBM均值超向量;
作为UBM均值超向量,假设UBM包含 个高斯混合分量 ,那么 就是所有混合分量均值向量 的组合, 的维度为 , 的维度为 , 表示MFCC特征的维度,比如39维。
对于每一个混合分量 ,我们还有参数混合权重 , 和协方差矩阵 。我们可以进一步拆分 矩阵为 个 的组合, 的维度为 , 假如i-vector的维度为 ,MFCC向量的维度为 ,那么 的维度为 。 矩阵和 的关系如下所示。
定义一段语音特征数据 ,其特征维度为 ,时序为 ,即 。 中属于第 个高斯分量的子集为 ,子集中某Frame(帧) ,则 由此可得如下公式,这个形式叫做component-wise form6
2. 为什么要计算统计量?
求解i-vector的过程实际上是MAP(最大后验概率)估计过程,即给定说话人数据,估计i-vector的后验概率分布 ,分布的均值就是该说话人的i-vector;该过程中,包含EM算法过程——用以求解模型参数T矩阵,而w实际上就是隐变量
可以联想GMM-UBM框架下,某个说话人的GMM的参数并不是直接由该说话人的大量语音数据使用EM算法求解MLE(最大似然估计),而是训练一个UBM,然后使用MAP估计得来的;同理,i-vector框架也是一样,它是GMM-UBM的升级版,而i-vector就是压缩版或者更加抽象的GMM supervector。
为了得到这个后验概率分布的均值,我们需要alignment statistics,align的意思表示某个说话人的语音数据中的某些帧,依附于,产生于,来自于UBM中某个分量高斯,我们可以得到一系列alignment statistics,包括零阶、一阶、二阶统计量。用soft counting(来自某个高斯分量的概率),得到的是Baum-Welch statistics ,基于hard counting(来自某个高斯分量的概率最大,即为1),得到Viterbi statistics,与上一篇GMM-UBM博文相同,我们使用Baum-Welch statistics。
其中,
需要对上述统计量进行中心化计算,即减去高斯分量的均值然后再进行乘法操作,如中心化一阶分量,
基于上述统计量,可得
后验概率分布的方差和均值,分别Cov(
)和<
>7(文章中用的是
)表示,证明过程为Kenny(公式推导狂魔)文章Eigenvoice Modeling With Spare Training Data的
8
至此,我们可以看出,alignment statistics的作用。接下来,我们需要计算的就是
,也就是
矩阵(
矩阵拆分为多个
)。
3. 矩阵计算
对于矩阵 的求解,实际上就是因子分解中常见的EM算法,需要单独列个篇章讲讲(挖个坑),但在实际求解T矩阵的过程中,为了追求效率,我们用的是这篇paper9里面的逐行估计的方式来计算的。
D. Matrouf, N. Scheffer, B. Fauve, J.-F. Bonastre, “A straightforward and efficient implementation of the factor analysis model for speaker verification,” in Proc. INTERSPEECH, Antwerp, Belgium, Aug. 2007, pp. 1242-1245.
代码可以直接参照Reference 55.
Step3. 计算i-vector
实际上在Step2中,我们已经知道了,i-vector的计算公式,再写一遍。
写成用
矩阵表示的形式如下,
其中,
维度为
的对角矩阵,对角block为
,
是
的超向量,由所有的一阶BW统计量
组成。
下篇正在撰写中
Reference
N Dehak, PJ Kenny, R Dehak, P Dumouchel, P Ouellet, “Front-end factor analysis for speaker verification”, IEEE Transactions on Audio, Speech, and Language Processing 19 (4), 788-798 ↩︎
S. J. D. Prince and J. H. Elder, “Probabilistic Linear Discriminant Analysis for Inferences About Identity,” 2007 IEEE 11th International Conference on Computer Vision, Rio de Janeiro, 2007, pp. 1-8. ↩︎
W. M. Campbell, D. E. Sturim and D. A. Reynolds, “Support vector machines using GMM supervectors for speaker verification,” in IEEE Signal Processing Letters, vol. 13, no. 5, pp. 308-311, May 2006. ↩︎ ↩︎
Deledalle, C.A., 2007. Factor analysis based channel compensation in speaker verification. ↩︎
M.W. Mak, “Lecture Notes on Factor Analysis and I-Vectors”, Technical Report and Lecture Note Series, Department of Electronic and Information Engineering, The Hong Kong Polytechnic University, Feb 2016. ↩︎
Kenny, Patrick. "A Small Footprint i-Vector Extractor."Odyssey 2012-The Speaker and Language Recognition Workshop. 2012. ↩︎
P. Kenny, G. Boulianne, and P. Dumouchel, “Eigenvoice modeling with sparse training data,” IEEE Trans. Speech Audio Processing, vol. 13, no. 3, pp. 345–359, May 2005. ↩︎
D. Matrouf, N. Scheffer, B. Fauve, J.-F. Bonastre, “A straightforward and efficient implementation of the factor analysis model for speaker verification,” in Proc. INTERSPEECH, Antwerp, Belgium, Aug. 2007, pp. 1242-1245. ↩︎