MFA-Conformer

基于多尺度特征聚合Conformer说话人识别模型的创新与应用

论文:https://arxiv.org/abs/2203.15249

代码:GitHub - zyzisyz/mfa_conformer

收录于 INTERSPEECH 2022

1. 简介

本文由清华大学与腾讯科技(北京)有限公司、台湾大学及香港中文大学合作。提出了一种基于Conformer的多尺度特征融合的说话人识别模型(MFA-Conformer),通过融合各层不同尺度的特征,增强说话人特征的表征能力。实验表明,与目前主流的声纹识别网络ECAPA-TDNN相比,本文所提出的MFA-Conformer在识别性能和推理速度上都有大幅提升。该工作在腾讯科技有限公司的合作业务部门落地上线,新模型上线后实现了业务准确率20-40个点的巨大提升节省线上服务资源30%。论文投稿半年收到12点谷歌学术引用。在工业和学术领域均产生了一定的影响力。

2. 背景动机

当前业内主流的说话人模型,如x-vector、r-vector、ECAPA-TDNN等,主要基于卷积神经网络构建。卷积神经网络可以很好地建模语音信号中局部特征(如pronunciation pattern),但很难有效建模语音的长程时序关系。与此相反,RNN/LSTM或者Transformer等时序模型可以有效捕捉到上下文信息,但较难学习到丰富的局部信息。因此,如何更好地实现局部特征和全局上下文信息统一建模,是当前声纹识别领域的研究热点之一。

3. 贡献

本文探索了端到端语音识别领域最主流的网络结构Conformer在声纹识别任务中的应用,提出了一种基于Conformer的多尺度特征融合的说话人识别模型(Multi-scale Feature Aggregation Conformer, MFA-Conformer)。

MFA-Conformer的设计受端到端语音识别网络Conformer和说话人识别网络ECAPA-TDNN的启发:其首先使用一个卷积降采样模块对输入的声学特征进行降采样,从而降低模型运算量;随后使用多个不同的Conformer块进行局部特征和全局特征的学习;最后将不同Conformer块的输出进行拼接,并通过一个注意力统计池化层(Attentive Statistics Pooling)提取说话人表征。

所提出的模型在Voxceleb1-O、SITW.Dev、SITW.Eval三个主流的声纹测评集上分别取得0.64%、1.29%、1.63%的等错误率(Equal Error Rate, EER)。实验揭示,通过对音频信号进行局部建模和全局建模统一,可有效提取更鲁棒的说话人表征;与主流声纹识别网络ECAPA-TDNN相比,MFA-Conformer在识别性能和推理速度上都有大幅提升。

MFA-Conformer主要具有4点显著优势:

1. 代码迁移成本低。MFA-Conformer主要是在Conformer的基础上进行简单修改,可复用已有成熟的端到端语音识别代码。只需进行简单适配,就可以实现快速迁移和部署,从而降低企业的研发成本。

2. 识别性能更好。在参数量接近的情况下,MFA-Conformer相比ECAPA-TDNN性能有明显优势,在短时测试场景下性能相对提升22%、在长时测试场景下性能相对提升32%。

3. 推理速度更快。与ECAPA-TDNN相比,MFA-Conformer的实时率(Real Time Factor,RTF)相对提升32.7%。并且可根据降采样率大小的不同进一步提升推理速度。

4. 后续可拓展性高。基于Conformer结构可以相对容易地快速实现联合语音识别、声纹识别、语种识别、情绪识别的多任务模型,从而可以更好地用于短视频、直播、在线会议等场景下的音频内容理解相关任务。

4. 解决方法

MFA-Conformer模型结构如上图所示,主要包括:(1)卷积将采样层 (Convolution Subsampling):由2维卷积组成,主要功能是对输入音频进行降采样,加速模型推理速度;(2)Conformer Block:进行局部特征和全局特征的学习;(3)注意力统计池化层(Attentive Statistics Pooling):将不同Conformer块之间的输出进行拼接,并通过通过注意力池化层为不同块的输出提供不同的权重,从而提取说话人表征。

4.1 Conformer

音频信号的局部特征和全局上下文信息在提取鲁棒的说话人表征中都起着至关重要的作用。为了更好地对局部特征和全局上下文信息进行统一建模,从而有效地提取更鲁棒的说话人表征,本文使用Conformer Block来达到该目的。

Conformer是谷歌提出的用于端到端语音识别任务的网络结构,其将卷积网络和Transformer模型进行结合,在Transformer的多头注意力(Multi-headed Self-attention, MHSA)层之后引入卷积模块,通过MHSA层捕捉全局上下文信息,通过卷积模块提取局部特征,从而更好地实现全局和局部特征的统一建模。相比于经典的Transformer,Conformer主要存在3点不同:(1)Conformer Block引入了卷积模块;(2)Conformer采用相对位置编码,Transformer采用绝对位置编码;(3)Conformer Block采用马卡龙(Macaron)结构,比Transformer多一个FFN(Feed Forward Network)模块。

一个conformer block = conformer块,包括四个部分:

  1. feed-forward module,前向网络
  2. self-attention module,自注意力模块;
  3. 卷积模块
  4. 第二个feed-forward module。

4.1.1 multi-head self-attention module 多头自注意力模块

这里的模块,采用了relative sinusoidal positional encoding scheme,即相对位置的正弦编码方案。这个相对位置编码,可以让自注意力模块更好地对输入序列的长度进行泛化,从而让整个模块可以更好地应对输入wav的五花八门的长度。

vanilla Transformer中的绝对位置编码

pos对应输入的位置,i这里在翻译上是维度。我在很多讨论该论文的帖子上看到,i有很多人有疑问,到底是指什么维度。在Vaswani的Attention is what you need论文中,是用上面的公式。举个例子,如pos=3,d(model)=128,那么3对应的位置向量如下

相对位置编码(NOT CLEAR

相对位置由向量e(ij)表达,ij是指j相对于i的位置,当j与k的绝对值差大于k的时候,都用k代替(这样做的目的是保证效率,作者后来也发现k>2之后并没有明显的收益)。类似自注意力,相对位置向量e(ij)亦由ak(ij)和av(ij)两个向量经过对齐模型计算出。

4.1.2 卷积模块

上图2给出的是卷积模块的细节。

一共包括了八个部分,和一个残差求和操作:

  1. layernorm
  2. pointwise conv
  3. glue activation
  4. 1d depthwise conv
  5. batchnorm
  6. swish activation
  7. pointwise conv
  8. dropout
  9. 残差residual 操作

swish激活函数:

4.1.3 feed-forward模块

按照图中所示,其包括:

  1. layernorm
  2. linear layer,第一个线性层
  3. swish activation,非线性激活函数,
  4. dropout
  5. linear layer,第二个线性层
  6. dropout
  7. 残差求和操作

4.2 多尺度特征聚合 & 注意力统计池化层

现有说话人识别网络在做池化(Pooling)提取最终说话人表征时,大多数网络只将最后一层输出的特征(Feature Map)送给池化层。已有不少研究表明,低层网络输出的特征(Feature Map)对说话人表征的学习也是有帮助的。比如,目前主流的说话人识别模型ECAPA-TDNN,即利用了这一特点,将每个Res2Block的输出进行拼接后再送到池化层。

借鉴了这一思想,本文将所有Conformer Block输出的特征(Feature Map)进行拼接,随后使用注意力统计池化层(Attentive Statistics Pooling)为不同块的输出提供不同的权重,从而聚合形成最终的说话人表征。

5. 实验验证

所有模型均在Voxceleb1&2 dev上训练,在VoxCeleb1-O、SITW.Dev和SITW.Eval测试集上进行性能测试:其中SITW可以看作是长时场景,平均测试语音时长为35秒;VoxCeleb1-O可以看作是短时场景,平均测试语音时长为5秒。

表格中MFA-Conformer(1/2)的意思表示输入的声学特征进行1/2的卷积降采样。从实验结果可以看出,MFA-Conformer(1/2)在实时率(RTF)和识别性能这两个上维度上均大幅好于ECAPA-TDNN,特别是在SITW的长时场景下,性能提升效果更加明显。

把SITW测试集切分为 {<5s, <10s, <30s, <50s} 四组进行测试,通过比较3个模型在不同时长测试集下的性能表现

从图中可以看出,随着测试音频时长的提高,所提出的MFA-Conformer的性能提升效果越发明显。这进一步表明,MFA-Conformer通过使用多头注意力层进行全局建模,可以有效地在长时测试场景下提取更鲁棒的说话人表征。

局部建模对声纹识别性能的影响

Conformer与经典Transformer网络结构相比,通过引入卷积模块以更好地挖掘局部信息。为了探究局部建模对声纹识别性能的影响,本文继续通过实验对比Conformer Block与Transformer Block以及各Block个数不同所引起的性能差异,实验结果如下图所示:

从实验结果可以看出,Conformer Block在识别性能上相比于Transformer有着碾压性的优势;当Block数量设置为6的时候,MFA-Transformer和MFA-Conformer的性能都可以达到最好,Block数量过多或过少都可能导致识别性能的降低。

消融实验

为了验证本文所提的MFA-Conformer不同组件所带来的性能提升,本文进行了一系列消融实验,在Voxceleb1-O上的实验结果如下表所示。可以看出,MFA-Conformer具有出色性能的关键主要在于:(1)Confomer Block中的卷积模块(Conv),该模块的引入使得性能相对提升54.9%;(2)多尺度特征拼接(Multi-scale Feature Aggregation, MFA),该模块的引入使得性能相对提升48.3%。

参考文献:

基于多尺度特征聚合Conformer说话人识别模型的创新与应用 - 知乎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/151127.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么进行压力测试? 有哪些方法?

在信息技术飞速发展的今天&#xff0c;软件系统的性能已经成为了用户满意度的决定性因素之一。而要确保一个系统在实际使用中能够稳定可靠地运行&#xff0c;压力测试就显得尤为关键。本文将深入探讨什么是压力测试&#xff0c;为什么它是如此重要&#xff0c;以及一些常见的压…

asp.net学生考试报名管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net学生考试报名管理系统是一套完善的web设计管理系统系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使 用c#语言开发 应用技术&#xff1a;asp…

Redis快速上手篇(四)(Spring Cache,缓存配置)(注解方式)

Spring Cache 从3.1开始&#xff0c;Spring引入了对Cache的支持。其使用方法和原理都类似于Spring对事务管理的支持。Spring Cache是作用在方法上的 使用Spring Cache的时候我们要保证我们缓存的方法对于相同的方法参数要有相同的返回结果。 使用Spring Cache需要我们做两方面…

微信小程序如何使用地球半径计算两组经纬度点之间的距离(自身位置与接口返回位置)【上】

目录 1.配置位置权限 2.获取当前自身经纬度 3. 请求接口拿到返回经纬 4. 循环取每一项的经纬 5.如何判断是否打开了定位权限 6.进行距离计算操作 7.运行效果 8.完整代码 首先在使用小程序时&#xff0c;请求的接口一定要去配置合法域名&#xff0c;才能够进行接下来…

RPA除了和OCR、NLP技术结合,还能和什么技术结合?

鉴于业内现在也经常把RPA称为数字员工&#xff0c;就虚拟一个人的形象来解答吧。 首先是头部&#xff0c;实现人的“听看说想”能力&#xff1a; 听&#xff1a;ASR&#xff08;语音识别技术&#xff09;&#xff0c;主要用于听取和理解语音输入&#xff0c;让RPA能处理语音数…

读高性能MySQL(第4版)笔记21_读后总结与感想兼导读

1. 基本信息 高性能MySQL&#xff1a;经过大规模运维验证的策略&#xff08;第4版&#xff09; High Performance MySQL, Fourth Edition [美] Silvia Botros(西尔维亚博特罗斯)&#xff1b;Jeremy Tinley(杰里米廷利) 电子工业出版社,2022年10月出版 1.1. 读薄率 书籍总字…

vue3.0运行npm run dev 报错Cannot find module node:url

vue3.0运行npm run dev 报错Cannot find module 问题背景 近期用vue3.0写项目&#xff0c;npm init vuelatest —> npm install 都正常,npm run dev的时候报错如下&#xff1a; failed to load config from F:\code\testVue\vue-demo\vite.config.js error when starting…

EtherNet/IP转profienrt协议网关连接EtherNet/IP协议的川崎机器人配置方法

EthernetIP 协议一般用于采集机器人&#xff0c;控制器等设备的数据。 下面介绍通过远创智控YC-EIPM-PN网关把EtherNet/IP协议的川崎机器人通过西门子1500PLC的控制方法。有些 EIP 的从站设备提供了 EDS 文件&#xff0c;可以从EDS 文件中获取点位信息。这些信息是需要填写到网…

供应 JOSEF约瑟 电源监视继电器 HJZZ-92/2A HJZZ-91 DC220V

品牌&#xff1a;JOSEF约瑟名称:监视综合继电器型号:HJZZ-91、HJZZ-92/2A额定电压:48,110,220VDC/110,220,380VAC功率消耗:≤10W触点容量:250V5A 系列型号&#xff1a; HJZZ-91分闸、合闸、电源监视综合装置&#xff1b; HJZZ-92/1分闸、合闸、电源监视综合装置&#xff1b;…

【计算机网络笔记】Cookie技术

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…

Unity Spine 指定导入新Spine动画的默认材质

指定导入新Spine动画的默认材质 找到Spine的Editor导入配置如何修改方法一: 你可以通过脚本 去修改Assets/Editor/SpineSettings.asset文件方法二&#xff1a;通过面板手动设置 找到Spine的Editor导入配置 通常在 Assets/Editor/SpineSettings.asset 配置文件对应着 Edit/Prefe…

Web攻防06_sqlmap的使用

文章目录 参考链接&#xff1a; SQLMAP简介支持五种不同的注入模式 数据猜解-库表列数据权限操作引出权限&#xff1a;引出文件&#xff1a;引出命令&#xff08;执行命令&#xff09;&#xff1a; 提交方法-POST&HEAD&JSONPost注入cookie注入注入请求头中&#xff08;…