MFA-Conformer

news2024/11/15 18:17:22

基于多尺度特征聚合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.coloradmin.cn/o/1140722.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android intent的一些小使用

目录&#xff1a; 1. Test5.java2. activity_main5.xml3. Empty.java (这个是用来带参数打开Activity按钮用的)4. activity_empty.xml5. 总结 一些基本的问题就不进行说明了&#xff0c;直接上代码&#xff01;&#xff01;&#xff01; // 最后的隐形intent和带返回值没有解决…

2023最新短剧小程序搭建,短剧分销系统功能介绍

#短剧小程序# 基础功能最近新增功能 1.对接流量主变现 2.影视作品观看 3.支持创作者入驻 4.PC独立后台管理 5.壁纸&#xff0c;表情包下载 6.内容管理分类&#xff0c;专题分类 7.可单次付费或月会员 8.会员开通与支付功能 9.微信端使用 10.后台数据清晰明了 11.可定制搭建 新…

安装Redis使用make命令报异常

报错信息如下&#xff1a; 解决方案&#xff1a; 安装 gcc yum install gcc-c -y清空编译失败残留文件&#xff1a; make distclean使用 make 命令进行编译&#xff1a; make -j 2 PREFIX/usr/local/redis install

JAVA实现生活废品回收系统 开源

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容三、界面展示3.1 登录注册3.2 资源类型&资源品类模块3.3 回收机构模块3.4 资源求购/出售/交易单模块3.5 客服咨询模块 四、免责说明 一、摘要 1.1 项目介绍 生活废品回收系统是可持续发展的解决方案&#xff0c;旨在鼓…

缓解光纤激光切割机老化之如何保养光纤激光切割机的光学镜片

激光切割头具备极高的精密度和昂贵的价格&#xff0c;是光纤激光切割机最关键的运行部分之一。在日常的光纤激光切割机维修过程中频繁出现的关于切割头使用寿命的问题就是内部光学镜片的污染及损坏。 部分导致光纤激光切割机激光切割头光学镜片污染的原因主要包括&#xff1a;对…

安卓开发实例:随机数

点击按钮生成一个1-100之间的随机数 activity_random_number.xml <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayoutxmlns:android"http://schemas.android.com/apk/res/android"xmlns:a…

Java实现电子元器件管理系统

目录 一、摘要1.1 项目简介1.2 项目录屏 二、研究内容三、界面展示3.1 登录&注册&主页3.2 元器件单位模块3.3 元器件仓库模块3.4 元器件供应商模块3.5 元器件品类模块3.6 元器件明细模块3.7 元器件类型模块3.8 元器件采购模块3.9 元器件领用模块3.10 系统基础模块 四、…

javascript错误处理和调试工具

目录 错误处理 try-catch语句 throw语句 Promise错误处理 调试工具 控制台打印 断点调试器 错误堆栈追踪 结论 1. 错误处理 2. 调试工具 3. 最佳实践和注意事项 结论 错误处理 try-catch语句 try-catch语句是处理JavaScript错误的基本方法。它允许我们尝试执行可…

EdgeCloudSim官方Sample运行——Windows+IntelliJ IDEA+Matlab

简介 EdgeCloudSim是一个用于模拟边缘云计算环境的开源仿真工具。它基于CloudSim&#xff0c;一个广泛使用的云计算仿真工具&#xff0c;但专门设计用于模拟边缘计算场景。 下载地址&#xff1a;https://github.com/CagataySonmez/EdgeCloudSim 使用步骤 1.IntelliJ IDEA中…

Vuex 动态模块状态管理器

模块化思想 我们之前的博文已经讲述了Vuex怎么使用命名空间实现模块化状态管理。详情可以看&#xff1a; Vuex命名空间及如何获取根模块、兄弟模块状态管理器_AI3D_WebEngineer的博客-CSDN博客https://blog.csdn.net/weixin_42274805/article/details/133269196?ops_request_…

宝塔面板8.0.3添加数据库mysql8.0版本会提示服务器状态异常问题的解决方案

宝塔面板8.0.3添加数据库提示服务器状态异常 宝塔面板8.0.3添加数据库mysql8.0版本会提示服务器状态异常问题的解决方案&#xff0c;首先是因为我们升级了面板&#xff0c;而我们的项目数据库是mysql8因此发生了莫名奇妙的数据不通问题&#xff0c;更奇怪是添加数据库会提示服…

《计算机工程》期刊投稿记录(2023.10.27更新)

本人于2023-09-22投稿《计算机工程》&#xff0c;预计2023-10-25完成加急外审&#xff0c;目前是2023-10-27&#xff0c;超时2天。同门超时17天。 在CSDN水评论区后发现&#xff1a;近期投稿《计算机工程》的文章&#xff0c;外审时间普遍超时。 最长超时时间有超过一个月的。…

在3分钟内使用AI-Chat生成精美PPT(附AI工具)

前言 在人工智能的大趋势下&#xff0c;AI-Chat是一款令人惊叹的技术。它用强大的自然语言处理技术帮助我们快速生成PPT&#xff0c;提高工作效率。本文将介绍使用ChatAI-Chat生成PPT的方法&#xff0c;以及使用Mindshow转换为炫酷的演示文稿。让技术为我们节省时间&#xff0c…

ChatGLM系列三:Freeze微调

目前主流对大模型进行微调方法有三种&#xff1a;Freeze方法、P-Tuning方法和Lora方法。 Freeze: 即参数冻结&#xff0c;对原始模型部分参数进行冻结操作&#xff0c;仅训练部分参数&#xff0c;以达到在单卡或不进行TP或PP操作&#xff0c;就可以对大模型进行训练。 Freeze…

数字孪生智慧工厂三维可视化系统解决方案,打造新一代智慧工厂

在制造业的快速发展和数字化转型的时代&#xff0c;智慧工厂已经成为制造企业前进的必经之路。数字孪生技术&#xff0c;作为工业数字化转型的核心动力&#xff0c;为打造智慧工厂提供了关键支持。其中&#xff0c;数字孪生智慧工厂三维可视化系统解决方案无疑是制造企业的得力…

PostMan 之 Mock 接口测试

在测试的时候经常会碰到后端开发工程师的接口还没有开发完成&#xff0c;但是测试任务已经分配过来。没有接口怎么测试呢&#xff1f; 测试人员可以通过 mock server 自己去造一个接口来访问。mock server 可用于模拟真实的接口。收到请求时&#xff0c;它会根据配置返回对应的…

如何查询IP地址的位置?

要查询IP地址的位置&#xff0c;您可以使用各种在线工具和服务。以下是一些常见的方法&#xff1a; 1. IP地址查询网站&#xff1a; 有很多在线IP地址查询网站 https://www.ip66.net/?utm-sourceLJ&utm-keyword?1146 &#xff0c;它们允许您输入一个IP地址并获取关于其位…

FL Studio21.2.0官方中文版重磅发布

FL Studio21.2.0官方中文版重磅发布纯正简体中文支持&#xff0c;更快捷的音频剪辑及素材管理器&#xff0c;多样主题随心换&#xff01;Mac版新增对苹果M2/1家族芯片原生支持。全能数字音乐工作站&#xff08;DAW&#xff09;编曲、剪辑、录音、混音&#xff0c;20余年的技术积…

【纯离线】Ubuntu离线安装ntp时间同步服务

Ubuntu离线安装ntp服务 准备阶段&#xff1a;下载安装包 apt-get download ntp apt-get download ntpdate 一、服务端( 192.166.6.xx) 1、环境准备 先判断是否已安装 systemd-timesyncd systemctl is-active systemd-timesyncd 如果返回结果是 active&#xff0c;则表示…