首页 > 其他分享 >论文翻译:TEA-PSE 3.0

论文翻译:TEA-PSE 3.0

时间:2023-08-01 12:34:14浏览次数:29  
标签:训练 TEA PSE TCN 3.0 我们

<TEA-PSE 3.0: TENCENT-ETHEREAL-AUDIO-LAB PERSONALIZED SPEECHENHANCEMENT SYSTEM FOR ICASSP 2023 DNS-CHALLENGE>

摘要

  文介绍了我们团队提交的ICASSP 2023深度噪声抑制(DNS)挑战赛。我们将之前的工作TEA-PSE扩展到其升级版本:TEA-PSE 3.0。具体来说,TEA-PSE 3.0在压缩时间卷积网络(S-TCN)后加入了残差LSTM,以增强序列建模能力。此外,引入局部全局表示(LGR)结构来增强说话人信息提取,并利用stft分辨率损失来有效捕获语音信号的时频特征。此外,采用基于冻结训练策略的再训练方法对系统进行微调。根据官方结果,TEA-PSE 3.0在ICASSP 2023 dnchallenge track 1和track 2中均排名第一。

前言

  我们之前的工作,腾讯以太音频实验室个性化语音增强(TEA-PSE)[1],在ICASSP 2022深度噪声抑制(DNS)挑战赛中排名第一。在这次成功的基础上,我们改进了以前的模型,并提出了我们的升级系统TEA-PSE 3.0,以参加今年的DNS挑战赛。首先,受TaylorEnhancer[2]中的导数算子模块的启发,我们在每一层压缩时间卷积网络(S-TCN)后引入残差LSTM来增强序列建模能力。其次,我们利用局部全局表示(LGR)[3]结构来更好地提取说话人信息。第三,我们采用stft分辨率损失函数[4]来有效地捕捉语音信号的时频特性。最后,我们利用更有效的三步训练策略。具体来说,我们首先训练第一阶段的模型,然后冻结这个模型来训练第二阶段的模型。然后我们加载这个预训练的两阶段模型,并用第二阶段的损失函数微调所有可训练的参数。根据最终结果,我们的模型在头戴式和非头戴式音轨中都获得了第一名[5]。

提出的方法

2.1. TEA-PSE 3.0 network

  所提出的模型保持了TEAPSE[1]的两阶段框架,即由Mag-Net和Com-Net组成,分别处理幅值和复值特征。图1(a)详细描述了MAG-Net,其中E表示从预训练的ECAPA-TDNN网络中获得的说话人嵌入。

2.1.1 Encoder and decoder

  编码器由多个频率下采样层组成,而解码器由多个频率上采样层堆叠而成。每个FD层从一个门控卷积层(GConv)开始,对输入频谱进行下采样,然后是一个累积层范数(cumulaive Layer Norm, cLN)和PReLU。FU层与FD层几乎相同,而不是用转置门控卷积层(TrGConv)代替GConv进行上采样。

2.1.2 Sequence modeling structure

  S-TCN由多个压缩时间卷积模块(S-TCM)组成,如图1(c)所示。为了进一步增强模型的序列建模能力,我们在每个S-TCN模块(称为S-TCN&L)后添加残差LSTM,灵感来自[2]。图1(b)为修改后的S-TCN&L结构。说话人嵌入仅在S-TCN模块的第一个S-TCM层使用乘法运算与潜在特征相结合。

2.1.3 Local-global representation

  由于说话人注册语音的局部和全局特征(即锚点)对于目标说话人提取都是必不可少的,因此我们特别将LGR结构[3]纳入我们的模型,如图1(a)所示。该编码器由一个双向LSTM (BLSTM)和几个FD层组成,以注册语音的幅度为输入。请注意,在BLSTM之后还有一个额外的密集层,以保持其维度与输入一致,并且沿着时间维度应用平均池化操作。扬声器编码器的输出与编码器中前面FD层的输出相连接,对应扬声器信息的进一步融合。

2.2. Loss function

  我们使用几个损失函数来训练我们的模型。具体来说,使用了标度不变信噪比(SI-SNR)损耗Lsisnr和power-law相感损耗(幅度损耗Lmag和相位损耗Lpha)。此外,我们使用非对称损耗Lasym来约束估计的频谱,以避免过度抑制。这些损失函数的定义方式与我们之前的工作[6]相同。首先,我们只训练L1的Mag-Net。之后,冻结预训练的Mag-Net参数,仅对Com-Net进行L2优化。   此外,对于所有频域损失函数,我们探索了多STFT分辨率[4],其中m表示不同STFT配置对应的尺度。我们按上述顺序训练Mag-Net和Com-Net,然后加载这些预训练模型,使用L2重新训练整个系统。

实验

3.1 Dataset

  我们使用ICASSP 2022 dns挑战全波段数据集[7]进行实验。噪声数据来源于DEMAND、Freesound和AudioSet。我们基于RT60∈[0.1,1.0]s的图像方法[8]生成100,000个房间脉冲响应(RIRs)。

3.2. Training setup

  窗长和移码分别为20ms和10ms。对于多stft分辨率损失,我们使用3个不同的group,FFT∈{512,1024,2048},窗长∈{480,960,1920},帧移∈{240,480,960}。对于单stft分辨率损失,我们使用FFT长度1024,窗口长度960和帧移480。使用Adam优化器对模型进行优化,初始学习率为1e−3。如果验证损失连续2次没有减少,学习率将减半。我们使用实时数据生成来增加生成数据的多样性并节省存储空间,这与TEA-PSE保持相同的设置。   编码器和解码器分别由6个FD层和6个FU层组成。编码器和解码器中的GConv和TrGConv在时间轴和频率轴上的核大小和步长分别为(2,3)和(1,2)。所有GConv和TrGConv层的通道设置为64。S-TCN&L模块有4个S-TCM层,其中扩展Conv (DConv)的核大小为5,扩展率为{1,2,5,9},LSTM的隐藏大小为512。S-TCN&L中的所有卷积通道都设置为64,除了最后一个点卷积(PConv)层。我们堆叠4个S-TCN&L组来建立连续帧之间的长时间依赖关系,并组合扬声器嵌入。对于扬声器编码器,我们使用隐藏大小为512和5个FD层的BLSTM,并且扬声器编码器中所有GConv层的通道设置为1

3.3. Results and analysis

  根据表1的盲源检验集结果,可以得出几点观察结果。首先,在每个S-TCN模块后添加残余LSTM可以提高性能。其次,LGR结构在增强说话人信息提取方面具有较好的效果。第三,通过使用stft分辨率损失函数,该方法对Track 1和Track 2的OVRL分别提高了0.015和0.042。最后,用预训练模型对双阶段网络进行再训练,可以获得额外的性能增益。   表2显示了在DNS 2023盲源测试集上的平均意见得分(MOS)和单词准确性(WAcc)结果。TEA-PSE 3.0的BAK和OVRL最高。此外,与未经处理的语音相比,提交模型的SIG和WAcc都有所降低,这是合理的,因为该模型对提取的语音引入了轻微的失真。   TEA-PSE 3.0共有2224万个可训练参数。TEA-PSE 3.0的乘法累加操作(MAC)次数为19.66G / s。ONNX导出的提交方法每帧的平均实时因子(RTF)在Intel(R) Xeon(R) CPU E5-2678 v3主频为2.4 GHz时为0.46。

结论

  提出的TEA-PSE 3.0利用S-TCN&L模块,提供增强的序列建模功能。利用LGR结构,我们的方法可以更好地利用说话人的信息。此外,我们还研究了多stft分辨率损失函数的有效性,并将其与单stft分辨率进行了比较。在冻结训练策略的基础上,探讨模型再训练的效果。根据官方挑战赛结果,TEA-PSE 3.0在两项中均排名第一。

标签:训练,TEA,PSE,TCN,3.0,我们
From: https://www.cnblogs.com/151302017lyx/p/17596138.html

相关文章

  • ServletRequest与HttpServletRequest有什么区别
    ServletRequest和HttpServletRequest是JavaServletAPI中的两个接口,它们都用于表示客户端发起的HTTP请求,但在功能和用法上有一些区别。ServletRequest接口:ServletRequest是JavaServletAPI中的基本接口,它定义了所有Servlet请求对象必须遵循的通用行为和功能。Http......
  • HttpServletRequest
    HttpServletRequest是JavaServletAPI中的一个接口,用于表示客户端的HTTP请求信息。它提供了访问客户端发送的请求的方法和属性,包括请求的URL、请求参数、请求头、会话信息、Cookie、请求方法(GET、POST等)、请求体等等。在JavaWeb应用程序中,当客户端发送HTTP请求时,Web......
  • python发送消息到Teams以及阿里云的上传与删除
    1importurllib2importtime3importoss24importos5importrandom6frompathlibimportPath7importrequests8importdatetime9fromdecoupleimportconfig1011fromurllib.parseimportunquote121314#......
  • 【13.0】DRF之接口文档
    【一】引入后端把接口写好后登录接口注册接口查询所有图书带过滤接口前端人员需要根据接口文档,进行前端开发前后端需要做对接---->对接第一个东西就是这个接口文档--->前端照着接口文档开发后端编写接口:后端团队负责设计和实现系统中的各个接口,根据业务需求完......
  • DHorse v1.3.0 发布,基于k8s的发布平台
    综述DHorse是一个简单易用、以应用为中心的云原生DevOps系统,具有持续集成、持续部署、微服务治理等功能,无需安装依赖Docker、Maven、Node等环境即可发布Java、Vue、React应用,主要特点:部署简单、操作简洁、功能快速。新增特性增加prometheus的配置功能;支持gradle项目构建;支持......
  • ArcGIS Pro 3.0.2版本 安装
    https://mp.weixin.qq.com/s/j7vbwO2nyttAzdWlSFp4jA链接:https://pan.baidu.com/s/1YZrvEyQRLGd5sRcKcN4X3w?pwd=ZHSL提取码:ZHSL--来自百度网盘超级会员V5的分享框架前置:.NET6.0DesktopRuntime(v6.0.5)1.双击运行框架安装包windowsdesktop-runtime-6.0.5-win-x64.exe......
  • jumpserver 基于docker ins
    jumpeserver的安装部署1.随机生成加密密钥if["$SECRET_KEY"=""];thenSECRET_KEY=`cat/dev/urandom|tr-dcA-Za-z0-9|head-c50`;echo"SECRET_KEY=$SECRET_KEY">>~/.bashrc;echo$SECRET_KEY;elseecho$SECRET_KEY;fiif[&q......
  • Eclipse转IDEA开发java项目spring+mybaits项目踩坑记录
    久了不用一个东西总有遗忘,记录是你快速找回状态之本。今天将原来eclipse写的spring+mybatisDemo在idea上跑起来,花了不少时间。这里将坑记录下:一、IDEA创建项目   1.IDEA中项目project等价于Eclipse中workspace, eclipse的workspace中可以创建多个工程;在IDEA中达到相......
  • 【3.0】DRF之初识
    【一】序列化与反序列化api接口开发,最核心最常见的一个过程就是序列化【1】序列化把我们识别的数据转换成指定的格式提供给别人。例如:我们在django中获取到的数据默认是模型对象(queryset)但是模型对象数据无法直接提供给前端或别的平台使用所以我们需要把数据进行......
  • Flutter 3.0+ 利用VLC播放器使用rtsp协议,本地测试和打包压缩
    Flutter中使用rtsp协议在Flutter中可以集成VLC播放器通过rtsp协议连接到监控相机来实现远程监控,当然也可以用来做直播APP。使用flutter_vlc_player库扩展包地址点我跳转。首先在pubspec.yaml中添加库引用:dependencies:flutter_vlc_player:^7.2.0安卓端配......