语音分离Sepformer

链接:​​​​​​https://arxiv.org/pdf/2010.13154.pdf

github:https://speechbrain.github.io/

摘要

RNN在seq2seq上有很好的表现,但是不能够并行计算,使得计算的代价比较大;而Transformers的出现解决了RNN的这个问题,而Transformers由于attention的缘故,会有比较高的复杂性。后续出现了Transformers的各种变体,后续专门来写。

这篇文章提出了SepFormer,,一种利用Transformers来实现语音分离的方法,在WSJ0-2/3mix数据上实现了SOTA;而且由于Transformers的并行性,SepFormer是更快并且占内存比较小的。

背景

DPRNN是将较长的序列切割成较小的块,在块内和块间进行操作。但是RNN的局限,使得DPRNN也遇到了之前的问题;之后DPTNet整合了Transformers,但是DPTNet仍然嵌入了RNN。

本文的SepFormer,主要有多头attention和前向层组成,并采纳了DPRNN的双路径的框架,将其中的RNN用多尺度Transformers替换,用来学习长短依赖性。

模型框架

 其中,encoder学习输入信号的表示,mask用来估计最优的masks来分离语音信号,decoder重构source.

1. masking network

masking network(图1上)得到encoder的输出h  ,估计混合语言中N个讲话者的mask \left \{m_{1},...,m_{N_{s}}\right \}.

encoder的输出 h 会经过层正则和线性层,然后对此进行切块得到 h^{'} ,其中会有参数每一个块的大小  C以及块的个数 N_{c} ,  被feed到SepFormer block中得到输出 h^{''} ,然后经过PReLU的线性层得到输出 h^{'''} ,然后使用overlap-add得到 h^{''''} ,最后经过FFW和ReLU得到每一个讲话者的掩码  m_{k}

SepFormer block

图1的中部是详细的信息,SepFormer block利用DPRNNs去构建长短依赖,IntraTransformer(IntraT)构建了短依赖,InterTransformer(InterT)构建了长依赖;IntraT独立处理 h^{'} 的每一个块,从而构建了短依赖,InterT对IntraT的输出进行维度变换,并构建块之间的转移,从而构建了块之间的长依赖,整个过程的变换方式:

Intra and Inter Transformers

图1的底部是IntraT和InterT的transformers的结构。

Decoder

主要使用装置卷积层,和encoder的步长和核尺寸一致。source的 m_{k} 和encoder的h进行元素对应相乘:

Experiment

 WSJ0-2mix的结果

WSJ0-3mix的结果 

 

Speed and Memory Comparison

Conclusion

文章提出了一种新的语音分离神经模型SepFormer,是一种无RNN的架构,使用masking network来学习长短依赖。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值