IEEE SLT 2022论文丨如何利用x-vectors提升语音鉴伪系统性能?
分享一篇IEEE SLT 2022收录的声纹识别方向的论文,《HOW TO BOOST ANTI-SPOOFING WITH X-VECTORS》由AuroraLab(极光实验室)发表。
来源丨AuroraLab
AuroraLab源自清华大学电子工程系与新疆大学信息科学与工程学院,以说话人识别和标记、音频事件检测、知识图谱构建与应用为研究重点,围绕感知智能与认知智能的理论、技术与系统等开展研究。
论文题目:HOW TO BOOST ANTI-SPOOFING WITH X-VECTORS
作者列表:马欣悦,张姗姗,黄申,高骥,胡颖,何亮
论文原文:https://ieeexplore.ieee.org/document/10022504
论文下载:文末点击“阅读原文”下载论文
研究背景
随着语音合成、语音转换技术的进步,人工生成的语音几近以假乱真,给用于身份验证的自动声纹验证(Automatic Speaker Verification,ASV)系统的安全性带来了极大的威胁,因而对语音鉴伪技术的研究刻不容缓。
本文方案
从日常生活经验来看,如果我们熟悉目标说话人,往往会利用记忆中关于他的发声特征来判断某段音频的真或假。但说话人标签不能被直接用于指导鉴伪模型的训练,因为在真实应用场景中很难直接获得真假音频的说话人标签。由此,我们使用预先训练好的 TDNN[1]提取 x-vector,作为辅助鉴伪系统的说话人信息,提出了利用说话人信息增强鉴伪模型真假辨别能力的三套方案。上述方案部署到LightCNN[2]、SeNet34/50[3] 上以验证有效性。
图1 (a)基线, (b)AF-XA, (c)E-XA, (d)E-XA-att的模型结构图
方案一:声学特征阶段x-vectors辅助(Acoustic Feature level X-vectors Assistance,AF-XA)
声学特征阶段x-vectors辅助 (AF-XA) 方法将分段后的 x-vector 与声学特征帧对帧拼接作为防伪网络的输入,如图 1(b) 所示。声学特征向量X为T帧的d维LFCC倒谱系数。x-vectors的特征矩阵Q,它是由音频每10帧提取的x-vector且重复10次拼接而成。此外,我们在网络中加入一个变换矩阵W来降低提取的x-vector的维数,实验发现降至256维性能最佳,考虑模型参数量成本降至48维最好。
方案二:嵌入阶段x-vectors辅助(Embedding level X-vectors Assistance,E-XA)
嵌入阶段x-vectors辅助(E-XA)是利用x-vector适应到语音鉴伪模型的嵌入网络层中,如图1(c)所示。LightCNN 的防伪嵌入为 FC I 层的输出,SeNet34/50 的嵌入为平均池化层的输出。将x-vector与防伪嵌入连接后,增加 FC II层对组合嵌入降维,然后连接到后端分类器。LightCNN 和 SeNet34/50采用 E-XA 方法的网络配置详见表1。
方案三:引入注意力机制的嵌入阶段x-vectors辅助(E-XA with Attention Mechanism,E-XA-Att)
在 E-XA 的基础上,为了使神经网络更好地融合说话人信息和防伪信息,对两部分嵌入赋予注意力权值,权值通过网络训练学习到。防伪嵌入 E 和说话人嵌入 P 先由图1(d) 中名为“Transformer Layer” 的全连接层投影到公共嵌入空间,然后两个新嵌入分别归一化。归一化步骤对于提高系统性能至关重要,使得 Softmax 操作后的权重分配更有意义。将它们连接在一起后,输入到 “Attention Layer” 中计算注意力权重。两个嵌入乘上相应权重再相加输入到后端分类器。LightCNN 和 SeNet34/50 采用E-XA-Att 方法的网络配置详见表1。
表1 使用 E-XA 相关方法的 LightCNN 和 SeNet34/50 网络配置。表中阶段 2-5 的数字指的是全连接层的节点数。“-”表明没有这一层。
实验结果分析
实验使用ASVspoof 2019 LA数据集[4]对上述模型方案展开训练和测试,表2列出了本文提出系统的输入特征、鉴伪模型、说话人信息辅助方案、参数量以及在ASVspoof 2019 LA开发和测试数据集上的性能,同时与现有的一些优秀鉴伪系统进行对比。其中串联决策成本函数 (Tandem Decision Cost Function,t-DCF)[5]为评估组合系统性能的主要指标,EER评估鉴伪系统性能。
表2 x-vectors辅助的各种语音鉴伪系统在 ASVspoof 2019 LA 数据集上的 EER(%)
引入 AF-XA 后, LightCNN,SeNet34 和 SeNet50 使 EER 分别降低 24%、51%和44%。E-XA 方案更有效,三套鉴伪模型分别获得 57%、76%和68%的相对改善。在 E-XA 的方案基础上进一步挖掘说话人信息辅助的潜力,提出为说话人嵌入和鉴伪嵌入的连接增加注意力机制,让网络自行学习鉴伪任务对两者的需求程度。实验表明,E-XA 引入注意力机制后,系统的 EER 又进一步降低了 30% 左右,而对于 E-XA-Att 方案对两个嵌入分别归一化的操作对系统性能至关重要。
x-vectors有效辅助语音鉴伪系统的原因分析
从上述实验结果可知,说话人信息x-vectors强有力地辅助了语音鉴伪系统的性能提升。为了进一步分析原因,在 ASVspoof 2019 LA 训练集和测试集中各随机选择三位说话人,对他们的真假音频提取相应的说话人嵌入,并将这些说话人嵌入的分布利用 t-SNE 方法绘图观察。图2为训练集中 LA_0079、LA_0086、LA_0093 三位说话人各自真假音频提取的 x-vectors 分布,图 3为测试集中 LA_0001、LA_0026、LA_0038 三位说话人三位说话人各自真假音频提取的 x-vectors 分布。两图中不同颜色的叉号表示假音频不同的造假方式,绿色圆点代表真音频。
由两图可以发现,同一说话人真假音频提取的说话人嵌入在图中分布有较大区分度,不同生成方式的假音频说话人嵌入也有明显不同。说话人嵌入能将大部分假音频与真音频区分开,为语音鉴伪系统提供了具有强辨别力的信息,因而可以有效提升语音鉴伪系统性能。
图2 ASVspoof 2019 LA 训练集中 (a)LA_0079 (b)LA_0086 (c)LA_0093 三位说话人真假音频说话人嵌入分布
图3 ASVspoof 2019 LA 测试集中 (a)LA_0001 (b)LA_0026 (c)LA_0038 三位说话人真假音频说话人嵌入分布
小结
本文提出了三种说话人信息x-vectors辅助语音鉴伪模型的有效方案,对语音鉴伪基线系统使用AF-XA可实现 EER 20-50%的相对性能提升,使用E-XA可实现50%以上的性能提升,使用E-XA-Att提升效果会更好。通过实验结果和t-SNE可视化绘图分析都证明了引入说话人信息x-vectors对语音鉴伪任务大有益处。最佳鉴伪系统为SeNet34使用E-XA-Att方案在ASVspoof 2019 LA测试集上EER=0.98%,min-tDCF=0.0294。所提出的方案不仅适用于论文中的LightCNN和SeNet基线系统,还可以作为通用方案拓展到其它鉴伪模型中。
参考资料
[1] David Snyder, Daniel Garcia-Romero, Daniel Povey, and Sanjeev Khudanpur, “Deep Neural Network Embeddings for Text-Independent Speaker Verification,” in Interspeech, 2017, pp. 999–1003.
[2] Xinyue Ma, Tianyu Liang, Shanshan Zhang, Shen Huang, and Liang He, “Improved LightCNN with Attention Modules for ASV Spoofing Detection,” in 2021 IEEE International Conference on Multimedia and Expo (ICME), 2021.↳
[3] Lai C I, Chen N, Villalba J, et al. "ASSERT: Anti-spoofing with squeeze-excitation and residual networks," in Interspeech, 2019, pp. 1013–1017.
[4] ASVspoof 2019: Automatic speaker verification spoofing and countermeasures challenge evaluation plan.[Online].Available: http://www.asvspoof.org/asvspoof2019/ asvspoof2019 evaluation plan.pdf.
[5] Kinnunen T , Delgado H , Evans N , et al. "Tandem Assessment of Spoofing Countermeasures and Automatic Speaker Verification: Fundamentals." IEEE/ACM Transactions on Audio, Speech, and Language Processing, 10.1109/TASLP.2020.3009494. 2020.
相关文章:
IEEE SLT 2022论文丨如何利用x-vectors提升语音鉴伪系统性能?
分享一篇IEEE SLT 2022收录的声纹识别方向的论文,《HOW TO BOOST ANTI-SPOOFING WITH X-VECTORS》由AuroraLab(极光实验室)发表。 来源丨AuroraLab AuroraLab源自清华大学电子工程系与新疆大学信息科学与工程学院,以说话人识别和…...
设计模式(十三)----结构型模式之桥接模式
1 概述 现在有一个需求,需要创建不同的图形,并且每个图形都有可能会有不同的颜色。我们可以利用继承的方式来设计类的关系: 我们可以发现有很多的类,假如我们再增加一个形状或再增加一种颜色,就需要创建更多的类。 试…...
倾向得分匹配案例分析
一、倾向得分匹配法说明 倾向得分匹配模型是由Rosenbaum和Rubin在1983年提出的,首次运用在生物医药领域,后来被广泛运用在药物治疗、计量研究、政策实施评价等领域。倾向得分匹配模型主要用来解决非处理因素(干扰因素)的偏差。 …...
基于SpringCloud的可靠消息最终一致性04:项目基础代码
上一节给出了项目需求和骨架代码,这一节来接着看基础代码。骨架代码和基础代码最主要的区别是:骨架代码都是数据库脚本、POM依赖文件、配置文件内容、运维脚本等,而基础代码则是和业务有关联,但并非关键代码的部分。 这些代码不用一个个地看,主要是看看结构就行。 图二十五…...
操作系统权限提升(十八)之Linux提权-内核提权
Linux 内核提权 Linux 内核提权原理 内核提权是利用Linux内核的漏洞进行提权的,内核漏洞进行提权一般包括三个环节: 1、对目标系统进行信息收集,获取到系统内核信息及版本信息; 2、根据内核版本获取其对应的漏洞以及EXP 3、使…...
华为OD机试真题Java实现【快递运输】真题+解题思路+代码(20222023
快递运输 题目 一辆运送快递的货车,运送的快递均放在大小不等的长方体快递盒中,为了能够装载更多的快递,同时不能让货车超载,需要计算最多能装多少个快递。 注:快递的体积不受限制,快递数最多1000个,货车载重最大50000。 🔥🔥🔥🔥🔥👉👉👉👉👉�…...
java面试题-JVM问题排查
1.常见的Linux定位问题的工具?常见的 Linux 定位问题的命令可以分为以下几类:系统状态命令:包括 top、uptime、vmstat、sar 等命令,用于查看系统整体的状态,如 CPU 使用率、内存使用率、磁盘 I/O 等。进程状态命令&…...
市场上有很多低代码开发平台,不懂编程的人可以用哪些?
市场上有很多低代码开发平台,不懂编程的人可以用哪些?这个问题一看就是外行问的啦,低代码平台主打的就是一个“全民开发”,而且现在很多低代码平台都发展为零代码了,不懂编程也完全可以使用! 所谓低代码开…...
Tina_Linux打包流程说明指南_new
OpenRemoved_Tina_Linux_打包流程_说明指南_new 1 概述 1.1 编写目的 介绍Allwinner 平台上打包流程。 1.2 适用范围 Allwinner 软件平台Tina v3.0 版本以上。 1.3 相关人员 适用Tina 平台的广大客户,想了解Tina 打包流程的开发人员。 2 固件打包简介 固件…...
JVM面试题
JVM 1.jvm的组成部分 类加载器:将javac编译的class文件加载到内存中 运行时数据区:将内存划分成若干个不同的区域。 执行引擎:负责解析命令,提交操作系统执行。 本地接口:融合不同的语言为java所用 2.运行时数据区 方法区&…...
@FeignClient注解
1.在启动类上开启Feign功能 不开会提示找不到所需要的bean Consider defining a bean of type in your configuration SpringBootApplication EnableFeignClients public class AuthApplication {public static void main(String[] args) {SpringApplication.run(AuthApplic…...
一文搞懂如何在 React 中使用 防抖(Debounce)和 节流(Throttle)
在前端的日常开发中,经常会使用到两个函数防抖(Debounce)和节流(Throttle),防抖函数可以有效控制在一段时间内只执行最后一次请求,例如搜索框输入时,只在输入完成后才进行请求接口。…...
Airbyte API
Airbyte API涵盖了Airbyte功能的方方面面,主要分类:Source_definition:来源定义,实现了来源的增删改查功能。Destination_definition:目标定义,实现了目标的增删改查功能。Workspace:工作区管理…...
vue项目使用Electron开发桌面应用
添加npm配置避免安装Electron错误 请确保您的 node 版本大于等于 18. cmd运行: npm config edit 该命令会打开npm的配置文件,请在空白处添加: electron_builder_binaries_mirrorhttps://npmmirror.com/mirrors/electron-builder-binaries/ e…...
std::chrono笔记
文章目录1. radio原型作用示例2. duration原型:作用示例3. time_point原型作用示例4. clockssystem_clock示例steady_clock示例high_resolution_clock先说感觉,这个库真恶心,刚接触感觉跟shi一样,特别是那个命名空间,太…...
接收arp请求并发送回应的实例
本文简单介绍了arp协议,用一个实例查看收到的ARP请求,并对该请求发出ARP回应,实例有完整的源代码,使用C语言在Linux下实现,代码中有详细的注释。 1. ARP协议 ARP(Address Resolution Protocol),地址解析协议;在局域网上通过IP地址获取物理地址MAC的协议,该协议工作在数…...
【高性能计算】TVM使用TE手动优化矩阵乘法算法解析与代码解读
引言 注:本文主要介绍、解释TVM的矩阵优化思想、代码,需要配合代码注释一起阅读。 矩阵乘法是计算密集型运算。为了获得良好的 CPU 性能,有两个重要的优化措施: 提高内存访问的高速缓存命中率。复杂的数值计算和热点内存&#x…...
消息中间件的概念
中间件(middleware)是基础软件的一大类,属于可复用的软件范畴。中间件在操作系统软件,网络和数据库之上,应用软件之下,总的作用是为处于自己上层的应用软件提供运行于开发的环境,帮助用户灵活、高效的开发和集成复杂的…...
窃密恶意软件Raccoon最新样本Stealer v2分析
Raccoon 是一个恶意软件家族,2019 年来一直在地下犯罪论坛中以恶意软件即服务的身份进行售卖。2022 年 7 月,该恶意软件家族发布了 C 语言编写的新版本 Raccoon Stealer v2,打破了以往使用 C 开发的传统。 Raccoon 是一个信息窃密恶意软件&a…...
足球俱乐部管理系统
技术:Java、JSP等摘要:网站是一种主要的渠道。人们通过互联网快速、准确的发布信息、获取信息。而足球俱乐部是足球职业化、专业化的一个标志,是足球运动员以足球谋生时,所被聘用的机构,应运时代发展,规模、…...
2023上半年数学建模竞赛汇总(比赛时间、难易程度、含金量、竞赛官网)
1、美国大学生数学建模竞赛等级:国家级是否可跨校:否竞赛开始时间:2月17日~2月21日综合难度:⭐⭐⭐⭐ 竞赛含金量:⭐⭐⭐⭐⭐竞赛官网:https://www.comap.com/2、MathorCup高校数学建模挑战赛---大数据竞赛…...
【python学习笔记】:PHP7 Null合并运算符
在PHP7,一个新的功能,空合并运算符(??)已被引入。它被用来代替三元运算并与 isset()函数功能结合一起使用。如果它存在并且它不是空的,空合并运算符返回它的第一个操作数;否则返回第二个操作数。 示例 <?php// fetch the value of $_…...
数据结构与算法——3.时间复杂度分析1(概述)
前面我们已经介绍了,研究算法的最终目的是如何花费更少的时间,如何占用更少的内存去完成相同的需求,并且也通过案例演示了不同算法之间时间耗费和空间耗费上的差异,但我们并不能将时间占用和空间占用量化。因此,接下来…...
FPGA学习之日常工作复位电路
最近一个多月没有写博客了,然后最近工作中也遇到一个复位信号的问题。问题是这样的,关于外部复位信号,之前我们的处理方式都是通过PLL产生的Lock信号作为内部的复位信号。但是由于换到A54上面没有IP核,所以只有不用PLL,…...
【洛谷 P1177】【模板】快速排序 题解(快速排序+指针)
【模板】快速排序 题目描述 利用快速排序算法将读入的 NNN 个数从小到大排序后输出。 快速排序是信息学竞赛的必备算法之一。对于快速排序不是很了解的同学可以自行上网查询相关资料,掌握后独立完成。(C 选手请不要试图使用 STL,虽然你可以…...
Pthon--自动化实用技巧篇--文件目录处理
为什么要讲这一篇,主要是因为这个在自动化测试框架或者脚本的编写的时候会用到,还是比较方便的。看上述两个函数。getcwd()、chdir()。使用 os.getcwd() 函数获得当前工作目录。使用 os.chdir()函数改变当前工作目录。所以在用chdir()函数的时候别忘记指…...
想招到实干派程序员?你需要这种面试法
技术招聘中最痛的点其实是不精准。技术面试官或CTO们常常会向我们吐槽: “我经常在想,能不能把我们项目中的代码打印出来,作为候选人的面试题的一部分?” “能不能把一个Bug带上环境,让候选人来试试怎么解决…...
cesium常见操作:鼠标点击获取对象
目录 一、viewer.scene.pick(获取Cartesian2) 二、 viewer.scene.pickPosition(获取Cartesian3) 三、viewer.scene.drillPick(穿透拾取,获取所有对象) 四、viewer.scene.globe.pick…...
【玩转c++】git的安装和使用以及可视化处理
本期主题:git的安装和使用(windows环境)博客主页:小峰同学分享小编的在Linux中学习到的知识和遇到的问题 小编的能力有限,出现错误希望大家不吝赐1.两个工具介绍第一个工具git,链接gitee或者github等代码托…...
第三阶段02-Mybatis框架
Mybatis框架 Mybatis框架是目前最流行的数据持久层框架, 使用Mybatis框架可以帮助程序员自动生成JDBC代码, 程序员只需要通过注解或xml配置文件提供需要执行的SQL语句,以及对象和表的映射关系, Mybatis框架会根据此映射关系和SQL自动生成出JDBC代码,从而提高开发效率 Mybatis框…...
怎么把其他网站视频放到自己网站/注册百度推广账号
当我们初接触云原生技术时,可能会觉得它有些复杂和混乱。不过,我们可以先来了解一个开放,活力的软件社区,即云原生计算基金会(CNCF)。它为数不清的云原生技术项目提供了持续不断的支持和贡献。而且…...
如何规避电子政务门户网站建设教训/如何做到精准客户推广
2019独角兽企业重金招聘Python工程师标准>>> 【中国公益在线广州讯 记者张强】10月19日,由中国.尚洋科技、法国.科诗美蒂卡主办,珠海尚妆生物科技有限公司承办,世界旅游辣妈大赛组委会、广东省色妆职业培训学院、南方日报社、广东…...
黄岩城乡住房和建设局网站/网络推广产品要给多少钱
1、字符串判断 str1 str2 当两个串有相同内容、长度时为真 str1 ! str2 当串str1和str2不等时为真 -n str1 当串的长度大于0时为真(串非空,变量) -z str1 当串的长度为0时为真(空串) str1 当串str1为非空时…...
和恶魔做交易的网站/西安优化外包
ssh推送.py程序到CentOS7服务器端运行出现lost connection错误 (base) F:\workspace>dir 驱动器 F 中的卷是 新加卷 卷的序列号是 C2B9-6277 F:\workspace 的目录2019/03/13 16:44 <DIR> .2019/03/13 16:44 <DIR> ..2019/03/13 16:47 <DIR> .idea2019/03/…...
长春集团网站建设/北京seo相关
基于注意力(Attention)机制的端到端系统,又被称为LAS端到端构架。 [6] W. Chan, N. Jaitly, Q. Le, O. Vinyals. Listen, Attend and Spell: A Neural Network for Large Vocabulary Conversational Speech Recognition. ICASSP 2016. 来自 &…...
网站建设网络公司整站源码/seo基础知识培训视频
首先,Spark是MapReduce-like(架构上和多数分布式计算框架类似),Spark有分配任务的主节点(Driver)和执行计算的工作节点(Worker)。 其次,Low-latency基本上应该是源于Work…...