Conv-TasNet论文的详解

Conv-TasNet: Surpassing Ideal Time-Frequency Magnitude Masking for Speech Separation

1、总体框架

 

Conv-TasNet由三部分组成:编码器、分离器、解码器。

编码器:把混合波形转化为特征空间中对应的表示,简单来说就是提取特征。

分离器:根据前面提取的特征,估计每个源的波形掩码,然后特征与掩码相乘,得到各个源对应的特征

解码器:把各个源对应的特征进行解码,就得到各个源的波形。

2、数学描述

2.1、分离任务

前提假设:混合音乐是由各个源Ci 的波形线性相加得来的(可能现实中并不是这样,这是一个很强的假设)

 

现在的任务是已知x(t) 要求出每个源Ci对应的si(t),即一直混合的波形求每个源的波形。

2.2、编码器与解码器

首先把x(t)分为若干段重叠的长度为L的小片段,表示为,其中k=1,...,T,T表示分得的总段数,

就转为N维的向量,整个x(t) 就转为一个T x L的矩阵

然后使用1维卷积计算,得到特征表示,计算式子为其中是一个可选的非线性函数,可以使用Relu来确保特征的非负性;

这样计算出来的特征可以通过使用1维转置卷积计算来重构波形。数学表示为:,其中x尖为重叠的小片段,表示为C x T x L的矩阵,C为源的个数,然后可以对应每个源Ci把重叠的小片段进行合并来重构波形。

2.3 分离器:估计分离源特征的掩码

通过前面编码器的特征提取得到的,估计出C个掩码C为源的个数。

掩码是有约束的,即每个元素的值在0到1之间。

分离后的源的特征表示为,计算式为: 

各个源的波形就可以根据特征di来重构:

2.4、卷积分离模块

时间卷积网络(TCN)由全卷积分离模块组成,这些模块由堆叠的1-d膨胀卷积块组成。

TCN中,每一层由1-D卷积块组成,卷积块的膨胀系数不断增大。

如下图所示,不同颜色的1-D Conv块膨胀因素不同,呈指数增长,以确保有足够大的时间上下文窗口来利用语音信号的长期依赖性。

其中M1-D Conv块分为一组,整个分离器中需要重复R次。

每个1-D Conv块的输入都要相同的长度,不足的用0填充。

 

最终TCN的输出传递到一个1x1 Conv块进行掩码估计,并用一个非线性激活函数来得出掩码。

每个1-D Conv块的组成如图所示:

 


其中用了一个residual path和一个skip-connection path,residual path作为下一个块的输入,所有块的跳转连接路径求和并用作TCN的输出。为了进一步减少参数数量,在每个卷积块中使用深度可分卷积代替标准卷积。

深度可分离卷积算子将标准卷积解耦为两个连续的操作:(关于深度可分离卷积在2.5补充说明)

 

D-conv:深度卷积

S-conv:深度可分离卷积


a depthwise convolution (D-conv(·)) :深度卷积

a pointwise convolution (1 × 1-conv(·)):1x1的点卷积,与标准卷积一样,但大小规定为1x1

是深度可分离卷积的输入,表示P大小的G个卷积核,表示1大小的G*H个卷积核,表示矩阵Y和K的行,表示卷积计算。

简而言之,D-conv() 把输入Y的每一行和矩阵K对应行进行卷积计算,然后又1x1-conv的点卷积对特征空间进行一个线性变换。

如果是标准的卷积计算,参数表示为:,而深度可分离卷积只有G x P+G x H个参数,

而标准的卷积计算有G x H x P个参数,当H远大于P时,,模型所需参数就缩小了P倍

最后在1×1-conv块和D-conv块后分别加入非线性激活函数和归一化运算。

PReLU数学表示:,其中是一个可训练的参数

归一化操作:经验上选择全局层归一化(gLN),gLN中,特征在通道和时间维度上被归一化:

 

其中,表示特征,是可训练参数,数值稳定性的一个小常数,用于避免分母为0,可设置为1e-8。


这与计算机视觉模型中应用的标准层归一化是相同的,其中通道和时间维度对应于图像的宽度和高度维度

在因果结构中,gLN不能应用,因为它依赖于信号在任何时间步长上的未来值。

这时用一个累积层归一化(cLN)操作来执行因果系统中的逐级归一化:

 

其中,是第k帧的特征,对应表示共有k帧的特征

是可训练参数,用于全部的帧。

为了确保分离模块不受输入缩放的影响,在将所选的归一化方法传递给分离模块之前,将其应用于编码器输出w,如模型流程图中左下角所示。

 


在分离模块的开始,有一层1x1 Conv,用于决定后续卷积块的输入通道数和residual path

 

例如,该层有B个通道,那么1-D Conv块的输入就有H个通道,卷积核大小为P;

那么1x1 Conv 和 1-D Conv对应权重应该为

residual paths中内核大小表示为

跳转连接路径中的输出通道数可以与B不同,将该路径中的内核大小表示为

 

2.5、补充

深度卷积(depthwise_conv),每个通道都有独立的卷积核来计算,输出为通道数乘卷积核个数;

与标准卷积计算相比较,标准卷积计算是把所有通道的计算结果都累加起来,输出为卷积核个数。

深度可分离卷积(depthwise_separable_conv),在基于深度卷积的基础上,得到结果①,结果①为通道数x卷积核个数,然后把结果①在进行一次标准的卷积计算,得到结果②,结果②为卷积核个数。

3、编码器和解码器工作流程的可视化

 

4、网络超参数表

符号

含义

N

编码器的卷积核个数

L

长度为L的波形小片段

B

residual paths的1x1 Conv的通道数

Sc

skip-connection的1x1 Conv的通道数

H

分离器中的卷积块的通道数

P

每个卷积块的核大小

X

重复卷积块的个数

R

重复卷积组的个数

5、不同超参数的实验结果

 

6、结束语

这篇论文还有很多其他的内容,这篇文章主要是对整个模型进行详细的描述,如果有错误请指出,还请多多包涵。

猜你喜欢

转载自www.cnblogs.com/shuaiqi-XCJ/p/12383474.html