【kaldi学习.5】I-vector的主要理论

通过前面对run.sh的初步学习,大概搞懂了Aishell的步骤,可以看到这篇文章【kaldi学习.4】Aishell V1(说话人识别、声纹识别)中的run.sh详解 - 简书,其中主要涉及到MFCC、UBM、I-vector、Plda这四个模型,今天这篇文章就是来了解其中一个模型I-vector。

MFCC、UBM的理论基础可以见这篇文章声纹识别(说话人识别).2 - 简书,MFCC是提取特征,UBM是通用背景模型。plda后期会讲。


I-vector

受到JFA理论的启发,Dehak提出了从GMM均值超矢量中提取一个更紧凑的矢量,称为I-Vector。即为Identity-Vector

1 均值超矢量

均值超矢量(supervector)是GMM-UBM模型的最终结果。在GMM-UBM框架下,说话人模型是从UBM模型自适应得到的,过程中只改变了均值的大小,因此说话人之间的区别信息都蕴含在GMM的均值矢量中。将说话人GMM模型的每个高斯成分的均值堆叠起来,形成一个高维的超矢量,即为均值超矢量。假设语音声学特征参数的纬度为P,GMM的混合度为M(M个高斯成分),那么这个GMM的均值超矢量的维度为MP。均值超矢量生成过程如下图:

2 模型概述

在I-Vector模型中,我们采用全局差异空间(Total Variability Space,T),即包含了说话者之间的差异又包含了信道之间的差异。所以I-Vector的建模过程在GMM均值超矢量中不严格区分话者的影响和信道的影响。

给定说话人s的一段语音h,这一新的说话人及信道相关的GMM均值超矢量定义为如下公式:M_{s,h}=m_u+T\omega _{s,h}

其中,m_u是说话人与信道独立的均值超矢量,即为UBM的均值超矢量,该超矢量与具体说话人以及信道无关;T为全局差异空间,\omega 为全局差异空间因子,它的后验均值,即为I-Vector矢量,它先验地服从标准正态分布。M_{s,h}服从均值m_u协方差矩阵为TT^*的正态分布。

在给定的公式(如下)中,M和m是我们可以计算的出的,而全局差异空间矩阵(T)和全局差异空间因子(w)是我们需要估计的。

在I-Vector的确认中,我们需要基于如下两个关键步骤:

1、全局差异空间矩阵T的估计

2、I-Vector的估计

这就是为什么在kaldi中,要先训练I-Vector,然后再提取I-Vector,训练时为了得到M、m、T,\omega ,然后根据\omega ,来提取I-Vector——\omega _{s,h}

3 全局差异空间矩阵T的估计

全局差异空间矩阵(T)认为所有给定的数据都来自不同的说话人,即使是一个说话人的多段语音也同样认为是来自不同人。

对于此我们的采用如下过程来估计T矩阵:

1、计算训练数据库中每个说话人所对应的Baum-Welch统计量

2、随机产生T的初始值。采用如下EM算法,迭代估计T矩阵

E-Step:计算隐变量\omega 的后验分布,\omega _{s,h}的后验均值和后验相关矩阵的期望形式。

M-Step:最大似然值重估,重新更新T矩阵。

多次迭代(大概10次)之后,得到全局差异空间矩阵T。

具体计算过程

3.1 计算Baum-Welch统计量

给定说话人s和他的特征矢量序列Y_1,Y_2...,假设GMM-UBM有C个高斯分类,每一个高斯分量c,本文定义混合权值、均值矢量、协方差矩阵对应的Baum-Welch统计量如下公式:

N_c(s)=\sum_{t}^{}\gamma _t(c)

F_c(s)=\sum_{t}^{}\gamma _t(c)Y_t

S_c(s)=diag(\sum_{t}^{}\gamma _t(c)Y_tY_t^*)

其中,在每一时刻t\gamma _t(c)是特征矢量Y_t相对于每一个高斯分量c的状态占有率,也就是在t时刻Y_t落入c状态的后延分布。计算公式如下:

\gamma _t(c)=\frac{w_cp_c(Y_t)}{\sum\nolimits_{j=1}^C w_jp_j(Y_t) }

其中,w_c为UBM中c分量的混合权值。在Baum-Welch统计量中,我们可以定义\tilde{F} _c(s)\tilde{S} _c(s)为一阶、二阶中心统计量:

\tilde{F} _c(s)=\sum_{t}^{}\gamma _t(c)(Y_t-m_c)

\tilde{S} _c(s)=diag(\sum_{t}^{}\gamma _t(c)(Y_t-m_c) (Y_t-m_c)^*)

用Baum-Welch统计量表示为:

\tilde{F} _c(s)=F_c(s)-N_c(s)m_c

\tilde{S} _c(s)={S} _c(s)-diag(F_c(s)m_c^*+m_cF_c(s)^*-N_c(s)m_cm_c^*)

3.2 E步骤

计算隐变量\omega 的后验分布:

对说话人s的第h段语音,令l(s)为:l_T(s)=I+T^*\sum\nolimits_{}^{-1} NN(s)T

那么,在给定说话人sh段语音的特征矢量和参数集(V,\Sigma  )的条件下,w s,h的后验分布是

均值为:l^{-1}(s)T^*\Sigma ^{-1}F_h(s) ,协方差矩阵为l^{-1}(s)的高斯分布。

写成期望形式:

E[\omega _{s,h}]=l^{-1}(s)T^*\Sigma ^{-1}\tilde{F} _h(s)

E[\omega _{s,h}\omega _{s,h}]=E[\omega _{s,h}]E[\omega _{s,h}^*]+l^{-1}(s)

3.3 M步骤

最大似然值重估:

通过训练集计算如下统计量:

\phi _c=\sum_{s}^{} \sum_{h}^{} N_{c.h}(s)E[\omega _{s,h}\omega _{s,h}^*],(c=1,...C)

\Omega =\sum_{s}^{} \sum_{h}^{}\tilde{F} _h(s) [\omega _{s,h}^*]

同样对于每一个高斯混合分量c=1...C和特征参数的每一维f=1...P,令i=(c-1)P+f,则说话人全局差异空间矩阵T的更新公式如下:

T_i\phi _c=\Omega _i,(i=1,...CP)

循环EM步骤后,全局差异空间矩阵T训练完毕。

4 I-vector提取

得到T后,接下来就可以提取I-vector矢量,即式中的w_{s,h},具体过程如下:

1、计算数据库中每个目标说话人所对应的Baum-Welch统计量

2、读入已训练好的全局差异空间矩阵T

3、把已知的代入式中M_{s,h}=m_u+T\omega _{s,h},求出w_{s,h},然后计算w_{s,h}的后验均值,即I-vector。



参考:

https://blog.csdn.net/weixin_38206214/article/details/81541497

https://blog.csdn.net/weixin_38206214/article/details/81096092

https://www.zhihu.com/question/63978977

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容