(undone) 学习语音学中关于 i-vector 和 x-vector
来源:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8461375 (这是一篇跟 X-vector 有关的论文)
这里有更适合初学者的两个资料:
1.https://www.youtube.com/watch?v=R3rzN6JYm38 (MIT教授的youtube视频)
2.https://people.csail.mit.edu/sshum/talks/ivector_tutorial_interspeech_27Aug2011.pdf (MIT教授的slides)
我们来看 MIT 教授的 slides 吧,感觉这玩意儿专注于解释语音学的基本概念
1-10
这个 slides 的目标是提供 现代低维度语音表示 的理论,以及它们在自动语音识别、情绪识别、语言识别上的应用
一些预先知识包括:
– 语音信号的子空间表示
– 联合因子分析和总体变异性建模的算法
– 子空间表示在自动说话人和语言识别系统中的应用
我觉得我们没必要着急去看预先知识,先看后边的内容,卡住了再考虑这些预先知识
Just 目录,nothing special
可从语音提取的信息有:单词、语言种类(英语 or 中文)、说话者的名字(王思聪的声音有辨识度)、情绪状态
基于能从语音提取的信息,我们能做一些应用:识别。比如识别一段语音是谁说的
这是一个 one-to-many mapping
通常这个问题是一个 “封闭集合识别”,也就是假设 unknown voice 的说话者必然在我们查找的集合里
语音也可以用于 验证/身份验证/检测
也就是,确认一个 unknown speacker 是否是一个特定的 speaker
这是 one-to-one mapping 问题
这里的 unknown speech 可以来自于相当大量的 unknown speech,也就是,这是一个 “开放集合” 验证
我们可以通过给 “封闭集合” 加上一个 “除这些之外的其它选择”元素,来让 “封闭集合” 识别变成 “开放集合”识别
还有一种应用是语音分割。应用有:
- 识别一段声波中,speaker 什么时候改变。
- 在一段声波中,把属于同一个 speaker 的声波片段组合起来
- 之前的 speaker 信息此时不一定可获得
这似乎是在讲语音识别应用,分为有文本和没文本
如上图,是一个 说话者/语言 识别系统。介绍了训练阶段和识别阶段两个阶段。
其中很多人会忽略的是 特征提取。
11-20
一段语音,是一个随时间变化的信号,这个信号通常带有多层信息,包括:单词、说话人、语言、情绪
这些信息通常能在信号的时域和频域被观察
通常来说,为了捕捉信号里的信息,我们需要提取时间序列特征。
典型的方法是使用滑动窗口提取一些频谱特征(spectra)
上图是一个 STFT 短时傅里叶变换,即,使用滑动窗口做傅里叶变换
这样能看到信号各频率强度随时间的变化
TODO: here
首先是摘要
在本文中,我们使用数据增强来提高深度神经网络(DNN)嵌入矢量在说话人识别中的性能。DNN经过训练以区分不同的说话人,将可变长度的语音片段映射为我们称之为x-vectors的固定维度嵌入(有点类似于 NLP 中的嵌入矢量)。先前的研究发现,嵌入在利用大规模训练数据集方面比i-vectors表现更佳。然而,收集大量标记数据进行训练可能具有挑战性。我们使用数据增强,包括添加噪声和混响,作为一种廉价的方法来增加训练数据量并提高鲁棒性。我们在“野外说话人”数据集和NIST SRE 2016粤语数据集上将x-vectors与i-vector基准进行了比较。结果发现,虽然数据增强对PLDA分类器有益,但对i-vector提取器并没有帮助。然而,x-vector DNN由于其监督训练,能够有效利用数据增强。因此,x-vectors在评估数据集上取得了更优的性能。
看完摘要,初步判断这是比较 x-vector 和 i-vector 的文章,我们来直接跳到第二节 SPEAKER RECOGNITION SYSTEMS,也是类似于其它文章的 BACKROUND
本节描述了为本研究开发的说话人识别系统,包括两个i-vector基准和DNN x-vector系统。所有系统均使用Kaldi语音识别工具包构建。
基于文献[11]中描述的GMM-UBM方法的传统i-vector系统作为我们的声学特征基准系统。特征为20个MFCC,帧长度为25毫秒,在最长为3秒的滑动窗口内进行均值归一化。增添了Delta和加速度,形成60维特征向量。基于能量的语音活动检测(SAD)系统选择与语音帧对应的特征。UBM为2048个成分的全协方差GMM。该系统使用600维的i-vector提取器,并采用PLDA进行评分(见第2.4节)。
(感觉似乎并没有讲述 i-vector 是个啥)
TODO: here