文本无关说话人确认的深度神经网络嵌入
摘要
在说话人无关的说话人确认系统中,可以通过神经网络的时间池化层(Temporal Pooling Layer)来聚合说话人语音,以捕获长期的的说话人特征,从而实现长度变化的语音转化为固定维度的说话人嵌入。D. Snyder 提出了一种新的前端-后端说话人确认框架,其中前端模型采用深度神经网络(Deep Neural Network, DNN)提取说话人嵌入,后端模型采用概率判别分析对注册语音和测试语音进行评分计算。该方法在 NIST SRE 2010 英文语料与 2016 Cantonese 与 Tagalog 非英文语料上评测短时、语音不匹配的系统性能。结果表明:1)1)DNN 嵌入与 i-vector 相当,2)两种向量的得分融合互补,3)DNN 嵌入在短时语音上更优,4)DNN 对语音不匹配更鲁棒。
方法
论文中提及了两种说话人确认的系统:i-vector 系统与 DNN 嵌入系统:
- i-vector 系统
- 模型:输入(60-d) ↦ \mapsto ↦ UBM(2048-c) ↦ \mapsto ↦ i-vector 提取器(600-d) ↦ \mapsto ↦ PLDA
- 输入:共 60 维度,帧长 25 ms 的均值归一化 20 MFCC + Δ \Delta Δ + Δ Δ \Delta\Delta ΔΔ,两帧间距 10 ms,在此基础上,基于能量的语音活动检测(VAD)选择对应语音帧,语音最长 3 s
- UBM(2048-c):2048 分量全协方差高斯混合模型
- i-vector提取器:提取 600 维 i-vector,进而在进行中心化处理
- PLDA:LDA(150-d) ↦ \mapsto ↦ L-norm ↦ \mapsto ↦ PLDA ↦ \mapsto ↦ 自适应 s-norm,LDA 用于降维处理,转化为 150 维度,再长度归一化
- DNN 嵌入系统
- 模型:输入 ↦ \mapsto ↦ TDNN(前端) ↦ \mapsto ↦ PLDA(后段)
- 输入:共 20 维度,帧长 25 ms 的均值归一化 20 MFCC,两帧间距 10 ms,在此基础上,基于能量的语音活动检测(VAD)选择对应语音帧,语音最长 3 s
- TDNN:延时深度神经网络(Time-delay DNN),包含 5 层帧层次结构、统计池化层(Statistics Pooling Layer, 计算沿时间的均值与标准差,即 Temporal Pooling Layer 的一种实现)、2 层全链接(512 维度与 300 维度),激活函数为 ReLU,采用多分类损失函数,训练采用了 2-10 s 的数据采样,7 epochs,约 3400 样本/人(4733人,共 16,000,000+样本)
- 嵌入 a:统计池化层的仿射变换
- 嵌入 b:嵌入 a 经过激活函数之后的仿射变换
- PLDA:与 i-vector 系统的相同
数据集
数据都是电话语音,训练数据来自有 Switchboard 与 SRE 系列组成,评测数据来自 SRE,其中训练数据进行了筛选,具体地说,删去少于 10 s 的记录,删去少于 4 条记录的说话人,将原来 65,000 记录 6,500 人的训练数据减少为 4,733 人。
- 训练数据
- SWBD:Switchboard 2 Phases 1, 2, 3 与 Cellular
- SRE:NIST SRE04-08
- 评测数据
- SRE10:10s-10s conditon、core conditon 5 的全长注册语音-{5, 10, 20, 60, 全长}s 测试语音
- SRE16:Tagalog 与 Cantonese 语音,2472 语音段,注册时长 60s,测试时长 10-60s;该数据集还用于得分中心化
模型/语料 | SWBD | SRE | SRE16 |
---|---|---|---|
UBM与i-vector提取器 | Yes | Yes | |
TDNN | Yes | Yes | |
PLDA | Yes | 得分中心化 |
系统及其性能
本文评测了 3 种嵌入和 2 种融合的嵌入,其中后段模型采用相同的 PLDA:
- ivector:i-vector 系统的说话人特征
- 嵌入 a:DNN 嵌入的统计池化层的仿射变换
- 嵌入 b:DNN 千蕊的统计池化层的第二层仿射变换
- 嵌入融合(embeddings):嵌入 a 与嵌入 b 在 PLDA 得分上的平均
- ivector 与嵌入的融合(fusion):ivector 与 embeddings 在 PLDA 得分上的平均
系统/语料 | SRE10 | SRE16 | ||||||
---|---|---|---|---|---|---|---|---|
10s-10s | 5s | 10s | 20s | 60s | full | Cantonese | Tagalog | |
ivector | 11.0 | 9.1 | 6.0 | 3.9 | 2.3 | 1.9 | 8.3 | 17.6 |
嵌入 a | 11.0 | 9.5 | 5.7 | 3.9 | 3.0 | 2.6 | 7.7 | 17.6 |
嵌入 b | 9.2 | 8.8 | 6.6 | 5.5 | 4.4 | 3.9 | 7.8 | 17.6 |
embeddings | 7.9 | 7.6 | 5.0 | 3.8 | 2.9 | 2.6 | 6.5 | 16.3 |
fusion | 8.1 | 6.8 | 4.3 | 2.9 | 2.1 | 1.8 | 6.3 | 15.4 |
根据结果可知:
- i-vector 与 DNN 嵌入的得分结果是互补的
- DNN 嵌入性能在短时测试语音(5s、10s、20s)上较优于 i-vector
- DNN 嵌入对于语言不匹配相对鲁棒
这些结果进一步暗示着:
- 判别学习方法使得 DNN 嵌入具有更好的表示能力
- 无监督学习,例如 i-vector,能够在长时语音上学到更好的效果
参考文献
[1] Snyder D, Garcia-Romero D, Povey D, et al. Deep Neural Network Embeddings for Text-Independent Speaker Verification. 18th Annual Conference of the International Speech Communication Association[C]. 2017: 999–1003.
[2] D. Snyder, D. Garcia-Romero, G. Sell, D. Povey and S. Khudanpur, "X-Vectors: Robust DNN Embeddings for Speaker Recognition," 2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), Calgary, AB, 2018, pp. 5329-5333.
[3] Peddinti V, Povey D, Khudanpur S. A time delay neural network architecture for efficient modeling of long temporal contexts. Proceedings of the Annual Conference of the International Speech Communication Association, INTERSPEECH[C]. International Speech and Communication Association, 2015, 2015-Janua: 3214–3218.
作者信息:
CSDN:https://blog.csdn.net/i_love_home?viewmode=contents
Github:https://github.com/mechanicalsea
2019级同济大学博士研究生 王瑞 rwang@tongji.edu.cn
研究方向:说话人识别、说话人分离