conv-tasnet 网络具体结构图

conv-tasnet 网络具体结构图

Note:首先要知道conv和linear的区别:在相同的output channel的情况下,conv能够看一个范围,而linear其实就是一个kernel_size=1的卷积,因此卷积的计算量在output_channel相同的情况下是linear的Kernel_size倍。

  1. 先上来通过一个1维度卷积,卷积的范围视野范围是L。
  2. 然后再通过一个conv对在每个时间维度线性变换一下
  3. 接下来通过R*X个(反正就是很多个)block,每个block的结构是
    1. 先通过一个linear
    2. 然后通过一个dilation不同的conv,conv的groups设置为in_channel个 (使用dilation的原因是通过控制卷积的dilation参数来模拟对时域信号不同频率范围的变换,相当于控制了采样率)(使用groups的原因是in_channel之前是频率维度整个和参数矩阵做内积,但是这样每一个单独的频率的embedding点都会和制定的参数矩阵做内积)
    3. 然后通过norm和relu
    4. 最后再用linear放缩到输入前的维度
  4. 再通过linear生成mask,mask是需要通过softmax进行一个值域的放缩的
  5. 再通过一个上面的block进行decoder,从频域信号变成时域信号
    conv-tasnet 网络具体结构图_第1张图片

你可能感兴趣的:(语音增强)