顺藤摸瓜一下神级网络DCCRN
顺藤摸瓜一下神级网络DCCRN前言一根藤上5个瓜U-NETCRNDEEP COMPLEX NETWORKSDeep Complex CRNDeep Complex U-Net小结参考文档前言作为井底之蛙,其实一直对业界的动态不是很了解,幸好有老师指点,看了西北工大谢磊教授对他们研究成果的介绍,领略了神经网络在语音增强领域取得的重大进展。这期间最瞩目的莫过于DCCRN在DNS-Challenge竞赛
顺藤摸瓜一下神级网络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) z∗k=(a+ib)∗(c+id)=ac−bd+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)∗(c−id)(a+ib)∗(c−id)=c2+d2ac+bd+i(bc−ad)
好在卷积算法只涉及乘法。进而假设一组复值向量为 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) W∗z=A∗x−B∗y+i(B∗x+A∗y)
假设在卷积网络下,上面的公式已经可以表示用两套卷积核,经过简单的后期运算,就可以实现复数的卷积操作。至于复杂的求导(差分)、激活、正则化、初始化问题,暂时不研究了。
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
更多推荐



所有评论(0)