[论文] FRCRN:利用频率递归提升特征表征的单通道语音增强
本文介绍了ICASSP2022 DNS Challenge第二名阿里和新加坡南阳理工大学的技术方案,该方案针对卷积循环网络对频率特征的提取高度受限于卷积编解码器(Convolutional Encoder-Decoder, CED)中卷积层有限的感受野的问题,将阿里达摩院之前的FSMN与发展自DCCRN/DCCRN的CRN with CCBAM结合。本文提出了一种频率递归卷积循环网络(frequency recurrence Convolutional Recurrent Network, FRCRN)框架在卷积循环编码器结构的基础上利用前馈顺序记忆网络(feedforward sequential memory network, FSMN)以提高沿频率特征的表征能力。具体而言,在CRED的每个卷积层之后利用FSMN沿频率维度对三维特征图(feature map)进行频率递归以建模范围更广的频率相关性并加强语音输入的特征表示;在编码器和解码器之间也插入了两个堆叠的FSMN层以进行时序建模。FRCRN在复数域预测复值理想比掩模(cIRM),并利用时频域和时域损失优化,在ICASSP2022 DNS Challenge中取得第二名。
论文题目:FRCRN: Boosting feature representation using frequency recurrence for monaural speech enhancement
作者:Shengkui Zhao, Bin Ma (阿里巴巴), Karn N. Watcharasupat, Woon-Seng Gan (新加坡南洋理工大学)
背景动机
CRN结构尤其是DCCRN在语音增强领域取得了优异的性能,但是卷积核有限的感受野限制了对频率维度的长范围建模。本文受DCCRN+中频率相关性建模研究的启发,提出了FRCRN以提高沿频率轴的特征表示。FRCRN在每个卷积之后加入一个用于频率递归的且相比LSTM参数量更小的FSMN层对特征图的沿频率轴建模,卷积层和频率递归层构成卷积递归(convolutional recurrent, CR)块。通过在编码器和解码器中叠加多个CR块来形成CRED,从而不仅能捕捉局地的时间谱结构,还能捕捉长范围的频率相关性。不像之DCCRN+只专注于建模时序关系,本工作专注于改进编码器-解码器结构的整体特征表征。整个模块如DCCRN+一样采用复值网络并估计复值理想比值掩码(cIRM),利用时频域和时域损失函数进行联合优化。
模型架构
模型处理的整体流程如下图,带噪信号经过STFT后送入网络,估计得到的cIRM与带噪复谱按复数规则相乘得到增强复谱,反变换得到增强语音。FRCRN主要由CRED和时序建模模块组成,其中CRED包括对称的编码器模块和解码器模块,两个模块都包含多个CR模块。时序建模模块由两个堆叠的复值FSMN (CFSMN)层组成,带CCBAM的跳跃连接(skip connection)连接编码器和解码器以促进信息流动。

CR模块:由复值二维卷积层、复值BN、LeakyReLU和CFSMN层构成。复值二维卷积和复值BN操作可参看DCUNet或DCCRN论文。其中卷积层的kernel size在时间维和频率维上分别为(2,7),stide为(1,2),时间维通过补零保证因果性,频率维不补零,输出通道数均为128。

CFSMN可以暂且当成LSTM理解,CR中的CFSMN就是将频率特征维当作torch中的seq_len维度,通道维度当成torch中的input_size维度。其操作如下(和原文略有不同是因为已将文中参数带入公式):
Step1(置换操作,对每帧并行处理): \(U_{r/i} \in \mathcal{R}^{C \times T \times F} -> U_{r/i} \in \mathcal{R}^{T \times F \times C}\)
Step2(对当前帧): \(S_{r/i} = U_{r/i}[t,:,:] \in \mathcal{R}^{F \times C} =\{s_{f_1}, \cdots, s_{F}\}\)
Step3(FSMN层,共有两组,分别为\(FSMN_r\)和\(FSMN_i\)):
\(h_{f_i} = ReLU(W_{f_i} s_{f_i} + b_{f_i})\)
\(p_{f_i} = V_{f_i} h_{f_i} + v_{f_i}\)
\(s_{f_i} = s_{f_i} + p_{f_i} + \sum_{\tau=0}^{20}{a_{\tau} \cdot p_{f_i-\tau}}\)
Step4(复值操作):\(S = (FSMN_r(S_r)-FSMN_i(S_i)) + j(FSMN_r(S_i)+FSMN_i(S_r))\)
时序建模:将编码器输出的实(虚)部特征图频率特征维度和通道特征维度拉直成一维,而后对时间维进行CFSMN
CCBAM(个人补充):该模块参考了图像中的SENet并拓展到复制网络,即分别对通道维和语谱维做attention。通道维注意力机制是对特征做均值池化和最大值池化后经过两个线性层通过Sigmoid函数得到注意力得分;空间维注意力机制是对特征做完以上两种池化后通过Sigmoid得到注意力得分。示意图如下:

But,这里有个疑问是,如果只是这样简单地使用池化操作,在通道维注意力机制时是怎么保证模型因果的
损失函数:



模型参数:编解码器中各有6个CR模块,时序建模中有两个CFSMN。帧长20ms帧移10ms,STFT点数为1920,按1-641,641-1282,1282-1921的频点索引将整个STFT谱分为三组并沿通道为拼接,即网络输入通道数为3。网络输出的cIRM为对于为1921。
数据与结果
共生成3000小时的数据用于训练和开发,其中30%带混响。信噪比在0~15dB之间随机选取
参数量10.27M,计算量12.30GMACS每秒


在DNS2020和VB-Demand中表现优异,DNS排名第二
消融实验说明了CFSMN频率递归、CCBAM和时序建模的有效性

[论文] FRCRN:利用频率递归提升特征表征的单通道语音增强的更多相关文章
- Dual Path Networks(DPN)——一种结合了ResNet和DenseNet优势的新型卷积网络结构。深度残差网络通过残差旁支通路再利用特征,但残差通道不善于探索新特征。密集连接网络通过密集连接通路探索新特征,但有高冗余度。
如何评价Dual Path Networks(DPN)? 论文链接:https://arxiv.org/pdf/1707.01629v1.pdf在ImagNet-1k数据集上,浅DPN超过了最好的Re ...
- 论文:利用深度强化学习模型定位新物体(VISUAL SEMANTIC NAVIGATION USING SCENE PRIORS)
这是一篇被ICLR 2019 接收的论文.论文讨论了如何利用场景先验知识 (scene priors)来定位一个新场景(novel scene)中未曾见过的物体(unseen objects).举例来 ...
- 【HEVC帧间预测论文】P1.1 基于运动特征的HEVC快速帧间预测算法
基于运动特征的 HEVC 快速帧间预测算法/Fast Inter-Frame Prediction Algorithm for HEVC Based on Motion Features <HE ...
- 如何利用动态URL提升SEO及处理业务逻辑
如果你正在建设一个新网站或者对现有网站重新设计,我们认为应该将网站的 URL 转换为用户友好的 URL,或搜索引擎友好的 URL,这类 URL 也称为语义 URL(Semantic URL).哪些UR ...
- 利用Delphi-cross-socket 库提升kbmmw 跨平台开发
以前我写过了,通过httpsys 提升windows 下,delphi 多层应用.随着delphi 10.2 对linux 的支持,很多人也想在linux 下 发布kbmmw 服务器,但是官方仅通过i ...
- 根据ID和parentID利用Java递归获取全路径名称
如下图所示,本文参考资源:https://jie-bosshr.iteye.com/blog/1996607 感谢大佬的无私奉献. 思路: 定义一个方法getParentName参数为int类型的c ...
- 利用 Label 小小的提升一下用户体验
label ,Html 标签里面很普通的一个,可是她却有一个很独特的作用,我不知道我是忘了她还是不曾记得她,下面简单介绍一下她. 一.定义和用法 <label> 标签为 input 元素定 ...
- python利用eval方法提升dataframe运算性能
eval方法可以直接利用c语言的速度,而不用分配中间数组,不需要中间内存的占用. 如果包含多个步骤,每个步骤都要分配一块内存 import numpy as npimport pandas as pd ...
- 在Angular中利用trackBy来提升性能
在Angular的模板中遍历一个集合(collection)的时候你会这样写: <ul> <li *ngFor="let item of collection"& ...
随机推荐
- 分布式集群中为什么会有 Master?
在分布式环境中,有些业务逻辑只需要集群中的某一台机器进行执行,其他的机 器可以共享这个结果,这样可以大大减少重复计算,提高性能,于是就需要进行 leader 选举.
- Volcano:在离线作业混部管理平台,实现智能资源管理和作业调度
摘要:本文结合华为CCE团队在混合部署方面的研究和实战,介绍了混合部署的背景.概念.混部技术的设计方案和实际落地情况,以及对未来的计划和展望. 现代互联网数据中心的规模随着应用服务需求的快速增长而不断 ...
- 二十、生成BOM表
- 妙趣横生的HTML5 Page Visibility API
起因 最近浏览36kr 的网页的时候偶然发现一个有趣的情况:当浏览器Tab 处于非当前页的时候,36kr 的标题栏会自动换成可爱的大白字符形象.Jeff 在第一次看到的时候就知道这种效果是通过HTML ...
- 结合Vue.js的前端压缩图片方案
这是一个很简单的方案.嗯,是真的. 为什么要这么做? 在移动Web蓬勃发展的今天,有太多太多的应用需要让用户在移动Web上传图片文件了,正因如此,我们有些困难必须去攻克: 低网速下上传进度缓慢,用户体 ...
- 你可能不知道的 css 内容块
position 我们都知道元素都拥有 position 这个css属性,先来看看他的基本定义和可用值. 定义 position 决定了元素位置是如何被渲染的 可用值 值 描述 static 默认值, ...
- 如何用vue打造一个移动端音乐播放器
写在前面 没错,这就是慕课网上的那个vue音乐播放器,后台是某音乐播放器的线上接口扒取,虽然这类项目写的人很多,但不得不说这还是个少有的适合vue提升的好项目,做这个项目除了想写一个比较大并且功能复杂 ...
- Linux 0.11源码阅读笔记-块设备驱动程序
块设备驱动程序 块设备驱动程序负责实现对块设备数据的读写功能.内核代码统一使用缓冲块间接和块设备(如磁盘)交换数据,缓冲区数据通过块设备驱动程序和块设备交换数据. 块设备的管理 块设备表 内核通过一张 ...
- activity-alias属性的使用
activity-alias是Android里为了重复使用Activity而设计的.1. 含义和作用: 对于activity-alias标签,它有一个属性叫android:targen ...
- Android修改app图标
1.按照路径找到AndroidManifest.xml中的icon 2.在drawable添加一个png图片 3.然后在AndroidManifest.xml中的icon,修改其中的值 android ...