Vincent's Blog

基于深度神经网络的回声消除和噪声抑制的任务分割

本文是微软对语音前端pipeline基于任务解耦方面的相关工作。区别于目前流行的传统线性AEC+以(线性AEC输出/传声器接收信号/远端信号)作为输入的深度神经网络的结构;采用了NN回声估计+以(估计回声和去回声后的粗谱)作为输入的神经网络的结构,继承了语音增强中任务解耦的思路[1][2]

论文题目:Task splitting for dnn-based acoustic echo and noise removal

作者:Sebastian Braun, Maria Luis Valero (微软)

背景动机

  • 之前任务解耦思路的工作只证明了每个阶段会带来性能收益,以及比基线系统性能更好,但是没比较过会比相似结构的网络无约束优化更好。
  • 之前任务解耦思路的工作要依次训练每个阶段,训练过程很耗时

本文贡献:

  • 设计了一个基于DNN的两阶段系统,该系统由深度声学回声消除 (DAEC)和噪声及残留回声抑制(NRES)模块组成。
  • 提出了一种自适应损失以避免繁琐的多阶段训练。
  • 这种方法,AEC模块只去除回波,这不会产生明显的信号失真;NRES去除噪声和残留回声,只引入一定的信号失真。提出的两级系统优于单级基线,特别是在信号失真方面。

模型架构

模型采用CRUSE,详见CRUSE

DAEC模块网络输入幅度谱压缩后的传声器接收信号和利用幅度平方相干算法帧对齐的远端信号复谱,即输入通道数为4,输出得到估计回声的压缩谱,解压缩后与传声器接收信号相减得到残差信号。

[公式]

NRES模块输入残差信号和估计回声的压缩复数谱,即输入通道数也为4,网络估计得到多帧滤波器系数,对残差信号进行多帧滤波

[公式]

式中K=1,L=2

AEC的编码器输出和NRES的编码器输出用带点卷积的跳转连接通信。

损失函数

[公式]

第一项是CRUSE中的复数谱压缩MSE损失,第二项是为了防止语音过度抑制,第三项是回声估计损失,这里用不压缩的MAE,因为压缩损失会导致回声欠估计严重

[公式]

[公式]

数据与结果

第一张图越偏左上的模型越好,其他三张越偏右上的越好。

  • 单阶段AEC模型CRUSE-AEC-64具有很好的去回声性能但降噪性能明显不如CRUSE-NS-64,因为学习的任务不同
  • DAEC不降噪,也几乎不带来语音失真,只去回声
  • 只见过AEC数据的DAEC与只见过噪声数据的CRUSE-NS级联不如DAEC+NRES联合训练或者CRUSE-AEC
  • 在相似的复杂性下,DAEC-64+NRES-64两级系统的双讲语音失真上略优于单阶段相似复杂度的DRUSE-AEC-128,其他指标二者相似。
  • 降低DAEC的复杂度会带来降噪性能的下降,但是AEC性能变化不明显

loss的消融实验

参考

  1. ^https://www.isca-speech.org/archive/pdfs/interspeech_2021/li21g_interspeech.pdf
  2. ^https://www.isca-speech.org/archive/pdfs/interspeech_2021/liu21b_interspeech.pdf

posted on 2022-05-17 22:38  WenzheLiu  阅读(308)  评论(0编辑  收藏  举报

导航