顺藤摸瓜一下神级网络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

SVPWM(Space Vector Pulse Width Modulation)是一种常用的电力电子变换器控制策略,可以用于永磁同步电机控制。SVPWM控制策略通过调节电压的矢量值和相位角来控制电机运行,与其他PWM控制策略相比,具有更高的电机效率和更低的谐波失真。 以下是SVPWM控制算法的详解: 1. 原理及法则推导 SVPWM的基本思想是将三相电压转换为一个等效的矢量信号,然后通过控制该矢量信号的大小和相位角来控制电机运行。SVPWM控制算法的核心是计算矢量信号的大小和相位角。 首先,我们需要将三相电压转换为两个正交的矢量信号——d轴和q轴。d轴矢量与电机磁通成一定的夹角,q轴矢量与d轴垂直。然后,我们可以通过控制d轴和q轴矢量的大小和相位角来实现对电机的控制。 SVPWM控制算法的基本原理是将d轴和q轴矢量转换为一个等效的矢量信号,即空间矢量。空间矢量可以表示为两个正交矢量的和,其中一个矢量的大小和方向由d轴矢量确定,另一个矢量的大小和方向由q轴矢量确定。 通过控制d轴和q轴矢量的大小和相位角,我们可以得到不同的空间矢量。然后,我们可以通过PWM技术将空间矢量转换为电压信号,从而控制电机的运行。 2. 控制算法详解 SVPWM控制算法的主要步骤如下: Step 1:测量电机d轴和q轴电流以及电机转速。 Step 2:计算d轴和q轴矢量大小和相位角。 Step 3:将d轴和q轴矢量转换为一个等效的空间矢量。 Step 4:将空间矢量转换为PWM信号。 Step 5:通过PWM信号控制电机运行。 在实际控制中,我们通常使用如下控制算法: Step 1:将d轴电流设为目标值,q轴电流设为0。 Step 2:根据电机转速计算d轴和q轴矢量大小和相位角。 Step 3:将d轴和q轴矢量转换为一个等效的空间矢量。 Step 4:将空间矢量转换为PWM信号。 Step 5:通过PWM信号控制电机运行。 需要注意的是,SVPWM控制算法的实现需要高性能的控制器和精确的测量设备。在实际应用中,还需要考虑电机的特性以及控制器的稳定性和抗干扰能力等因素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值