文本无关说话人确认的深度神经网络嵌入
文本无关说话人确认的深度神经网络嵌入
论文: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 嵌入系统:
- 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
研究方向:说话人识别、说话人分离
文本无关说话人确认的深度神经网络嵌入相关推荐
- 端到端的文本无关说话人确认的深度神经网络嵌入
端到端的文本无关说话人确认的深度神经网络嵌入 论文:Snyder D, Ghahremani P, Povey D, et al. Deep neural network-based speaker ...
- 深度学习文本摘要_使用深度神经网络的文本摘要
深度学习文本摘要 介绍 (Introduction) The amount of textual data being produced every day is increasing rapidly ...
- python深度神经网络文本二分类代码_如何用Python和深度神经网络识别图像?
只需要10几行Python代码,你就能自己构建机器视觉模型,对图片做出准确辨识和分类.快来试试吧! 视觉 进化的作用,让人类对图像的处理非常高效. 这里,我给你展示一张照片. 如果我这样问你: 你能否 ...
- Deep-Learning-with-Python] 文本序列中的深度学习
将文本数据处理成有用的数据表示 循环神经网络 使用1D卷积处理序列数据 深度学习模型可以处理文本序列.时间序列.一般性序列数据等等.处理序列数据的两个基本深度学习算法是循环神经网络和1D卷积(2D卷积 ...
- 深度神经网络与人脑神经网络哪些区域有一定联系?
matlab中BP神经网络OCR识别? 单看错误率分析不出来什么,可能是样本量太少,也可能是别的原因.可以把错误识别的样本拿出来,看看是哪些地方导致的错误,再有针对性的改进. 还可能是特征工程不到位, ...
- 什么是深度学习?45分钟理解深度神经网络和深度学习 刘利刚教授
什么是深度学习? - 45分钟理解深度神经网络和深度学习 刘利刚 中国科学技术大学图形与几何计算实验室 http://staff.ustc.edu.cn/~lgliu [绪言] 近年来,人工智能(Ar ...
- 深度神经网络在NLP的应用!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:张泽,华东师范大学,Datawhale优秀学习者 深度学习正在给自 ...
- 深度神经网络是否过拟合?
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:Lilian Weng 编译:ronghuaiyang 导读 ...
- [译]深度神经网络的多任务学习概览(An Overview of Multi-task Learning in Deep Neural Networks)...
译自:http://sebastianruder.com/multi-task/ 1. 前言 在机器学习中,我们通常关心优化某一特定指标,不管这个指标是一个标准值,还是企业KPI.为了达到这个目标,我 ...
最新文章
- usaco Hamming Codes
- return2libc学习笔记
- C++ 使用copy_if获得数组vector掩膜
- Docker 的优势
- python绘制派大星_彩色派大星简笔画步骤
- 知识图谱学习笔记-图操作
- Redis之压缩链表ziplist
- Linux环境上的图形化界面SVN客户端软件“RabbitVCS”
- react 逆地理 高德地图_高德地图又出逆天黑科技!全国各大城市模型直接获取...
- 网页客户端调用gSoap发布服务,以及中文乱码问题
- C语言程序设计 | 模拟实现内存操作函数:strncpy, strncat, strncmp, memcpy, memmove
- 从放牛娃到北大博士,这篇论文后记刷屏
- C#LeetCode刷题之#819-最常见的单词(Most Common Word)
- HDU 1158 Employment Planning【DP】
- 物联网芯片的协议之Lora及其调制
- 我的团长我的团第二集
- 关键字查询输入%问题
- matlab 2015 积分,Matlab中如何求解积分?
- 智能家居,产业跌宕三十年
- 关于编码问题的复制黏贴
热门文章
- interrupt、interrupted 、isInterrupted 详解04
- csp-s2020 儒略日(含源代码)
- python闰年判断 从儒略历到格里高利历 公历历史
- 天线巴伦制作和原理_传输线巴伦的原理设计制作及测试
- java线程池的应用_Java线程池的使用
- shelljs库使用js达到linux命令操作
- matlab三维曲线的绘制
- change charset of existed MySQL db
- 手动埋点转无痕埋点,如何做到代码“零”入侵
- My findings:CoordConv坐标嵌入技术及其泛化性能