顺藤摸瓜一下神级网络DCCRN

前言

作为井底之蛙,其实一直对业界的动态不是很了解,幸好有老师指点,看了西北工大谢磊教授对他们研究成果的介绍,领略了神经网络在语音增强领域取得的重大进展。这期间最瞩目的莫过于DCCRN在DNS-Challenge竞赛中取得的好成绩,遂求锤得锤的学习一下。

一根藤上5个瓜

这个神级网络也是吸收了很多优秀的成果,所以研究他之前,先要顺着藤摸一摸U-NET,DCU-NET,CRN。同时也需要深入的理解复数卷积如何实现。

U-NET

U-net网络的命名来自于自身的拓扑结构,论文【10】提出的网络如下:
在这里插入图片描述这里对原图稍稍加工了一下,这样看来很像一个去噪的自编码器,但是原论文是用来做图像切分的,似乎和降噪完全不着边,另外输出和输入的维度信息也不一样。此处稍有不明的是所谓的UP-CONV是我理解的转置卷积么?但是原模型是基于matlab实现的【11】,暂不去深挖了。

CRN

CRN 即融合了卷积和循环神经网络的一种编码器结构【3】,框图引自论文:
在这里插入图片描述
可以看出自编码器框架特别的适合降噪范式的训练。操练【3】的代码得到tensorboard结果来看已经很带感了。

在这里插入图片描述作者Ke Tan(估计是导师Deliang Wang)再接再厉,提出了带相位信息的CRN【18】,如果上文提出的框架是下图:
在这里插入图片描述那么直接将实部和虚部(联想一下RBG三色层图像的输入)作为两层输入,那么结果是不是可以训练出等价的增强后的输出呢?
在这里插入图片描述作者在此基础上又提出了abcd的变种,其中d的设计已经要脱离原来的实数系思考了,篇幅所限不做展开学习。

DEEP COMPLEX NETWORKS

可能最烧脑的还是复数神经网络,考虑以此文【16】为主干,把复数计算,以及如何搭建复数DL网络了解一下,复数有实部虚部 z = a + i b z=a+ib z=a+ib,复数的加减很容易,但复数的乘除法就比较难哩。如果假设另一个复数 k = c + i d k=c+id k=c+id,则 z ∗ k = ( a + i b ) ∗ ( c + i d ) = a c − b d + i ( a d + b c ) z*k= (a+ib)*(c+id)=ac-bd + i(ad+bc) zk=(a+ib)(c+id)=acbd+i(ad+bc),而除法就比较麻烦了 z / k = a + i b c + i d = ( a + i b ) ∗ ( c − i d ) ( c + i d ) ∗ ( c − i d ) = a c + b d + i ( b c − a d ) c 2 + d 2 z/k=\frac{a+ib}{c+id}=\frac{(a+ib)*(c-id)}{(c+id)*(c-id)}=\frac{ac+bd+i(bc-ad)}{c^2+d^2} z/k=c+ida+ib=(c+id)(cid)(a+ib)(cid)=c2+d2ac+bd+i(bcad)
好在卷积算法只涉及乘法。进而假设一组复值向量为 z = x + i y \bold z=\bold x+i\bold y z=x+iy,经过复值神经网路,一般表达为向量元素和矩阵元素(卷积网络的卷积核)点乘加,所以可以用矩阵 W = A + i B \bold W=\bold A+i\bold B W=A+iB与向量 z = x + i y \bold z=\bold x+i\bold y z=x+iy的乘法来表达: W ∗ z = A ∗ x − B ∗ y + i ( B ∗ x + A ∗ y ) \bold W*\bold z=\bold A*\bold x-\bold B*\bold y + i(\bold B*\bold x+\bold A*\bold y) Wz=AxBy+i(Bx+Ay)
假设在卷积网络下,上面的公式已经可以表示用两套卷积核,经过简单的后期运算,就可以实现复数的卷积操作。至于复杂的求导(差分)、激活、正则化、初始化问题,暂时不研究了。

Deep Complex CRN

顾名思义,就是将复数卷积和CRN整合在一起,这个拿下了DNS-Challenge竞赛第一名。作者在论文中讲到是从DCUNET得到了很大的启发(说明是在DCUNET之后诞生的),论文中的框图如下:
在这里插入图片描述和CRN大同小异吧。

Deep Complex U-Net

很显然将复数卷积和CRN整合在一起就是DC U-net。

小结

也许随着复数神经网络应用的突破和成熟,在音频处理中重幅值,轻相位的情况会慢慢成为历史,此处在考虑找一个自编码网络,依葫芦画瓢手动改造一下变成复数网络,也许有surprise呢?。。。

参考文档

1.论文精读:DCCRN from 知乎
2.DCCRN: Deep Complex Convolution Recurrent Network for Phase-Aware Speech Enhancement
3.A Convolutional Recurrent Neural Network for Real-Time SpeechEnhancement
4.PHASE-AWARESPEECHENHANCEMENT WITHDEEPCOMPLEXU-NET
5.DCCRN: Deep Complex Convolution Recurrent Network for Phase-AwareSpeech Enhancement
6.https://github.com/microsoft/DNS-Challenge
7.tencent:conferencingspeech-2021
8.DESNET: A MULTI-CHANNEL NETWORK FOR SIMULTANEOUS SPEECHDEREVERBERATION, ENHANCEMENT AND SEPARATION
9.https://github.com/huyanxin/DeepComplexCRN
10.U-Net: Convolutional Networks for BiomedicalImage Segmentation
11.Minute Teaser Presentation of the U-net
12.图像分割中的深度学习:U-Net 体系结构
13.U-Net中的重叠-切片(Overlap-tile)
14.自编码器(Autoencoders)
15.Stacked Denoising Autoencoders: Learning Useful Representations in
a Deep Network with a Local Denoising Criterion

16.DEEPCOMPLEXNETWORKS
17.深度学习:深度复数网络(Deep Complex Networks)-从论文到pytorch实现
18.COMPLEX SPECTRAL MAPPING WITH A CONVOLUTIONAL RECURRENT NETWORKFOR MONAURAL SPEECH ENHANCEMENT

  • 8
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值