文本无关说话人确认的深度神经网络嵌入

论文: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.

论文的作者提出了 X-Vector,,X-Vector 可以查看该博文。

文章目录

  • 文本无关说话人确认的深度神经网络嵌入
    • 摘要
    • 方法
    • 数据集
    • 系统及其性能
    • 参考文献

摘要

在说话人无关的说话人确认系统中,可以通过神经网络的时间池化层(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 嵌入系统:

  1. 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 维度,再长度归一化
  2. 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 人。

  1. 训练数据

    • SWBD:Switchboard 2 Phases 1, 2, 3 与 Cellular
    • SRE:NIST SRE04-08
  2. 评测数据
    • SRE10:10s-10s conditon、core conditon 5 的全长注册语音-{5, 10, 20, 60, 全长}s 测试语音
    • SRE16:Tagalog 与 Cantonese 语音,2472 语音段,注册时长 60s,测试时长 10-60s;该数据集还用于得分中心化
表1. 模型训练的数据集
模型/语料 SWBD SRE SRE16
UBM与i-vector提取器 Yes Yes
TDNN Yes Yes
PLDA Yes 得分中心化

系统及其性能

本文评测了 3 种嵌入和 2 种融合的嵌入,其中后段模型采用相同的 PLDA:

  1. ivector:i-vector 系统的说话人特征
  2. 嵌入 a:DNN 嵌入的统计池化层的仿射变换
  3. 嵌入 b:DNN 千蕊的统计池化层的第二层仿射变换
  4. 嵌入融合(embeddings):嵌入 a 与嵌入 b 在 PLDA 得分上的平均
  5. ivector 与嵌入的融合(fusion):ivector 与 embeddings 在 PLDA 得分上的平均
表2. 各种系统在SRE10与SRE16的等错误率(EER/%)
系统/语料 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

根据结果可知:

  1. i-vector 与 DNN 嵌入的得分结果是互补的
  2. DNN 嵌入性能在短时测试语音(5s、10s、20s)上较优于 i-vector
  3. DNN 嵌入对于语言不匹配相对鲁棒

这些结果进一步暗示着:

  1. 判别学习方法使得 DNN 嵌入具有更好的表示能力
  2. 无监督学习,例如 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

研究方向:说话人识别、说话人分离

文本无关说话人确认的深度神经网络嵌入相关推荐

  1. 端到端的文本无关说话人确认的深度神经网络嵌入

    端到端的文本无关说话人确认的深度神经网络嵌入 论文:Snyder D, Ghahremani P, Povey D, et al. Deep neural network-based speaker ...

  2. 深度学习文本摘要_使用深度神经网络的文本摘要

    深度学习文本摘要 介绍 (Introduction) The amount of textual data being produced every day is increasing rapidly ...

  3. python深度神经网络文本二分类代码_如何用Python和深度神经网络识别图像?

    只需要10几行Python代码,你就能自己构建机器视觉模型,对图片做出准确辨识和分类.快来试试吧! 视觉 进化的作用,让人类对图像的处理非常高效. 这里,我给你展示一张照片. 如果我这样问你: 你能否 ...

  4. Deep-Learning-with-Python] 文本序列中的深度学习

    将文本数据处理成有用的数据表示 循环神经网络 使用1D卷积处理序列数据 深度学习模型可以处理文本序列.时间序列.一般性序列数据等等.处理序列数据的两个基本深度学习算法是循环神经网络和1D卷积(2D卷积 ...

  5. 深度神经网络与人脑神经网络哪些区域有一定联系?

    matlab中BP神经网络OCR识别? 单看错误率分析不出来什么,可能是样本量太少,也可能是别的原因.可以把错误识别的样本拿出来,看看是哪些地方导致的错误,再有针对性的改进. 还可能是特征工程不到位, ...

  6. 什么是深度学习?45分钟理解深度神经网络和深度学习 刘利刚教授

    什么是深度学习? - 45分钟理解深度神经网络和深度学习 刘利刚 中国科学技术大学图形与几何计算实验室 http://staff.ustc.edu.cn/~lgliu [绪言] 近年来,人工智能(Ar ...

  7. 深度神经网络在NLP的应用!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:张泽,华东师范大学,Datawhale优秀学习者 深度学习正在给自 ...

  8. 深度神经网络是否过拟合?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:Lilian Weng 编译:ronghuaiyang 导读 ...

  9. [译]深度神经网络的多任务学习概览(An Overview of Multi-task Learning in Deep Neural Networks)...

    译自:http://sebastianruder.com/multi-task/ 1. 前言 在机器学习中,我们通常关心优化某一特定指标,不管这个指标是一个标准值,还是企业KPI.为了达到这个目标,我 ...

最新文章

  1. usaco Hamming Codes
  2. return2libc学习笔记
  3. C++ 使用copy_if获得数组vector掩膜
  4. Docker 的优势
  5. python绘制派大星_彩色派大星简笔画步骤
  6. 知识图谱学习笔记-图操作
  7. Redis之压缩链表ziplist
  8. Linux环境上的图形化界面SVN客户端软件“RabbitVCS”
  9. react 逆地理 高德地图_高德地图又出逆天黑科技!全国各大城市模型直接获取...
  10. 网页客户端调用gSoap发布服务,以及中文乱码问题
  11. C语言程序设计 | 模拟实现内存操作函数:strncpy, strncat, strncmp, memcpy, memmove
  12. 从放牛娃到北大博士,这篇论文后记刷屏
  13. C#LeetCode刷题之#819-最常见的单词(Most Common Word)
  14. HDU 1158 Employment Planning【DP】
  15. 物联网芯片的协议之Lora及其调制
  16. 我的团长我的团第二集
  17. 关键字查询输入%问题
  18. matlab 2015 积分,Matlab中如何求解积分?
  19. 智能家居,产业跌宕三十年
  20. 关于编码问题的复制黏贴

热门文章

  1. interrupt、interrupted 、isInterrupted 详解04
  2. csp-s2020 儒略日(含源代码)
  3. python闰年判断 从儒略历到格里高利历 公历历史
  4. 天线巴伦制作和原理_传输线巴伦的原理设计制作及测试
  5. java线程池的应用_Java线程池的使用
  6. shelljs库使用js达到linux命令操作
  7. matlab三维曲线的绘制
  8. change charset of existed MySQL db
  9. 手动埋点转无痕埋点,如何做到代码“零”入侵
  10. My findings:CoordConv坐标嵌入技术及其泛化性能