i-vector 和 d-vector 的区别
Posted
技术标签:
【中文标题】i-vector 和 d-vector 的区别【英文标题】:Difference between i-vector and d-vector 【发布时间】:2016-09-27 06:46:08 【问题描述】:有人能解释一下 i-vector 和 d-vector 之间的区别吗?我所知道的只是它们广泛用于说话人/语音识别系统,它们是表示说话人信息的模板,但我不知道主要区别。
【问题讨论】:
【参考方案1】:我不知道如何用通俗易懂的语言正确表征 d-vector,但我可以提供一点帮助。
身份向量,或i-vector,是特定语音片段的频谱特征,通常是一小段音素,很少(据我所知)像整个音位。基本上,它是以与时间片的高斯混合同构的形式表示的离散频谱图。
编辑
感谢那些提供 cmets 和出色答案的人。我更新这个只是为了替换我最初尝试中的错误信息。
d-vector 是从 Deep NN 中提取的,即 DNN 最终隐藏层中特征向量的平均值。这成为说话人的模型,用于与其他语音样本进行比较以进行识别。
【讨论】:
我绝对不同意d-vector 是从i-vectors 序列中提取的说法。 d-vector是从(D)NN模型中提取的,i-vector是从GMM模型中提取的。 我同意,i-vector 的解释很好,但是 d-vector 的解释是错误的,根据 E. Variani、X. Lei、E. McDermott、IL Moreno 和 J. G -Dominguez,“用于小尺寸文本相关说话人验证的深度神经网络”,在 Proc 中。 ICASSP,2014 年,第 4080-4084 页。【参考方案2】:I-vector 是表示帧级特征分布模式的特质特征的特征。 I向量提取本质上是GMM超向量的降维(尽管在计算i向量时没有提取GMM超向量)。它以与特征语音适应方案或 JFA 技术类似的方式提取,但按句子(或输入语音样本)提取。
另一方面,d-vector 是使用 DNN 提取的。为了提取 d 向量,训练了一个 DNN 模型,该模型采用堆叠滤波器组特征(类似于 ASR 中使用的 DNN 声学模型)并在输出上生成 one-hot 说话人标签(或说话人概率)。 D-vector 是这个 DNN 的最后一个隐藏层的平均激活值。因此,与 i-vector 框架不同,这对特征的分布没有任何假设(i-vector 框架假设 i-vector 或潜在变量具有高斯分布)。
因此,总而言之,这是从完全不同的方法或假设中提取的两个不同特征。我建议你阅读这些论文:
N。 Dehak、P. Kenny、R. Dehak、P. Dumouchel 和 P. Ouellet,“说话人验证的前端因素分析”,IEEE Transactions on Audio、Speech, and Language Processing,第一卷。 19,没有。 4,第 788-798 页,2011 年。
E. Variani、X. Lei、E. McDermott、I. L. Moreno 和 J. G-Dominguez,“用于小尺寸文本相关说话人验证的深度神经网络”,Proc。 ICASSP,2014 年,第 4080-4084 页。
【讨论】:
frame-level
是什么?
“帧级特征”是指从每个语音帧中提取的声学特征(例如 MFCC)。
什么是speech frame
?
“语音框架”本质上是语音的一小部分。例如,您可以每 10 毫秒(这通常称为帧步长或步幅)提取一个声学特征,上下文窗口为 25 毫秒。在这种情况下,这 25 ms 的语音片段就是帧,因此从每个帧中提取的声学特征称为帧级特征。您应该查看此链接以了解其要点:practicalcryptography.com/miscellaneous/machine-learning/…以上是关于i-vector 和 d-vector 的区别的主要内容,如果未能解决你的问题,请参考以下文章