【文献学习】DCCRN: Deep Complex Convolution Recurrent Network for Phase-Aware Speech Enhancement

文献地址
Pytorch实现的源码

1 简介和创新点

在语音增强领域,改进CRN中的技术,设计了一种复数值操作的新网络结构,使用复数技术下的LSTM去处理上下文信息,称为深度复数卷积递归网络(DCCRN)

本文主要针对基于DL的单通道语音增强,以实现更好的感知质量和清晰度,尤其是针对低模型复杂度的实时处理。

参数复杂性只有CRN的1/6,仅有3.7M的参数

2 理论综述

(1)语音增强网络包括 两种,时频(TF)域的网络和时域神经网络。作者的实现是在TF域上的创新
在这里插入图片描述

(2)通常通过使用具有时间建模能力的网络(例如时间卷积网络(TCN)和长期短期记忆(LSTM))将增强网络插入编码器和解码器之间。
(3)早期研究仅关注与幅度相关的训练目标,而忽略了相位,还仅通过简单地将估计的幅度与嘈杂的语音阶段相结合来重新合成估计的语音。现在的研究虽然解决了此类问题,但是神经网络还是实数值。
(4)作者启发点:

  • 卷积递归网络模型CRN来源文献《A convolutional recurrent neural network for real-time speech enhancement》,用于复数频谱映射(CSM),以同时估计混合语音的实部和虚部频谱图,该方法也采用与时域方法相似的CED结构,提取了高级特征,以便从嘈杂的语音频谱图中通过2维卷积更好地分离。 但是该模型的应用只是在实数神经网络。
  • U-Net《Phase-aware speech enhancement with deep complex u-net》深度复数u-net结合了深度复数网络(来源文献《DeepComplexNetwork》)和u-net的优点来处理复数值谱图.但是该方法是通过许多卷积来提取上下文信息,从而导致较大的模型和复杂度。

2 模型

2.1 系统模型

模型框架是CRN来源文献《A convolutional recurrent neural network for real-time speech enhancement》,但是其中的LSTM处理的复数。在编码器和解码器之间有两个LSTM,编码器包括5个2维卷积,解码器将低分辨率特征重构为输入的原始大小,从而使编码器-解码器结构达到对称设计。其中的2维卷积块包括了卷积层、解卷积层、batch-normalization和激活函数。
在修改CRN网络中,CNN、batch-normalization、激活函数、LSTM都是来自应用复数处理技术。并不是传统的实数处理技术
在这里插入图片描述

复数卷积公式如下,h=x+iy是要卷积的复数.W = A+iB,W是构造的复数,A、B是实数矩阵
在这里插入图片描述

同理实现复数的LSTM公式如下,复数是h = Xr +Xi j,就是Xr是实部,Xi是虚部
在这里插入图片描述

2.2 选择训练集的Label(Target)

在这里插入图片描述

(1)根据以上图中介绍,随着时间的推移,不断有新的掩码提出,最新的CRM通过同时增强干净语音和混合语音频谱图划分的实部和虚部去实现语言重建。因此作者在这儿选择CRM作为标准的label,就是作者所说的Target,除此之外,同时选择SMM作为对比实验。其中S是干净的语音,Y是带有噪声的语音。下标r和i表示复数的实数和虚数部分
在这里插入图片描述

对比实验的SMM= |S|/|Y|,|S|和|Y|分别表示干净语音的振幅和带有噪声语音的振幅。对应CRM和SMM的信号逼近损失函数分别表示为CSA和MSA。
(2)为了对比实验,作者提出三种DCCRN的模式。都是DCCRN,只是DCCRN-C以CSA的方式获得S〜,DCCRN-R分别估计Y〜的实部和虚部的掩码。 DCCRN-E在极坐标中执行,并且在数学上类似于DCCRN-C。 区别在于DCCRN-E使用tanh激活功能将掩码幅度限制为0到1
在这里插入图片描述

2.3 损失函数

SI-SNR公式表示如下。s表示干净的语音,s~表示估计时域波形。<,>表示表示两个向量之间的点积。||2表示L2范数。思路是使用STFT内核初始化的卷积/解卷积模块来分析/合成波形,然后将其发送到网络并计算损失函数。
在这里插入图片描述

3 模型参数

3.1 统一参数

实现框架:pytorch
窗口长度:25ms
hop大小:6.25ms
FFT长度:512
优化器:Adam
学习率:初始0.001,当验证损失增加时,它将衰减1/2
波形图采样:16Khz

3.2 对比实验参数

(1)LSTM
两层,每层800个神经元,一个Conv1层,卷积核大小为7.预读6帧以实现半因果关系。输出层是257个神经元。输入输出是带有MSA的噪声和估计的干净频谱图
(2)CRN
具有最佳配置的一个编码器和两个解码器。 输入和输出是带噪和估计的STFT复杂频谱图的实部和虚部。 两个解码器分别处理实部和虚部。
在频率和时间维度上卷积核为(3,2),步长是(2,1),输入的特征图示【batchSize,2,Frequency,Time】,编码器中每一层的输出通道为16、32、64、128、256、256。LSTM的神经元是256,全连接程度 神经元是1280。实或虚解码器输入通道中的每一层为512,512,256,128,64,32
(3)DCUNET
使用DCUNET-16进行比较,并将时间跨度设置为1以符合DNS质询规则。 编码器中的通道设置为[72,72,144,144,144,160,160,180]

4 实验分析

以语音质量感知评估(PESQ)https://www.itu.int/rec/T-REC-P.862-200102-I/en做对比实验分析。得出借助复数的乘法规则,在相似的模型参数配置中,DCCRN在PESQ和平均意见分数(MOS)方面可以实现比其他模型更好的性能
para是参数数量
在这里插入图片描述

5 疑问和思考

(2)作者提到的U-Net也是处理语音的常用网络,需要了解一下并阅读一下该网络的应用
(3)DCCRN的的网络结构还是有点模糊,在模型介绍部分,并没有介绍详细,两个Encoder和两个decoder是如何实现的,未知,需要阅读一下源码。网络如何把频谱图转为模型输入,如何输出频谱图的,未知,需要阅读源码。
(3)思考如何修改网络实现输出是解调的信号比特流。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Better Bench

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值