李宏毅DLHLP.12.Speech Separation.2/2. TasNet

介绍

本门课程是2020年李宏毅老师新课:Deep Learning for Human Language Processing(深度学习与人类语言处理)
课程网站
B站视频
公式输入请参考:在线Latex公式

TasNet – Time-domain Audio Separation Network

[Luo, et al., TASLP’19]
直接看其架构
在这里插入图片描述
可以看到整个模型的输入和输出是声波,不用抽取acoustic feature。
模型分三个部分:Encoder、Decoder、Separator
声波经过Encoder得到一个Feature map
Feature map经过Separator产生两个Mask
这两个Mask分别乘以Feature map得到两个结果
把这两个结果分别通过Decoder就产生两段声音信号。
注意:如果两个speaker是固定的,可以不用PIT,反正要用PIT。
下面具体来看下Encoder、Decoder:

Encoder、Decoder

在这里插入图片描述
Encoder如上图所示,是一个linear的transform(相当于一个矩阵),输入是一小段声音,16 samples可以看成是16维的vector,通过Encoder后得到512维的vector
Decoder与之相反。
这里注意:
1.Encoder得到的结果不一定到要为正值,原文中用relu强行掰正效果并无提升;
2.Encoder和Decoder实际上就是矩阵,这里二者不需要互为reverse的关系,原文实验表明非要有reverse关系效果反而变差。
下图是Encoder的可视化实例,里面不同颜色的深浅代表了声音的频率的高低,人声低频比较多,所以红色多一点。
在这里插入图片描述

Separator

在这里插入图片描述
Separator吃encoder的512维的输出,然后Separator自己是1维的CNN构架
第一层吃两个vector,吐一个vector
Separator的CNN是dilate的,在第二层会跳一个(d=2)来读取vector
第三层跳三个(d=4)来读取vector
第四层d=8
因此在得到最上面那个vector结果的时候,Separator模型已经看过很多维vector了。因为整个模型输入只有16k的长度声音,比较短,用来做预测不够,现在dilate CNN可以让模型看到更多的输入,再来做预测就会更加准确。
最上面那个vector结果再经过transform和sigmoid得到两个mask,这里加sigmoid的意思是要获取vector结果是属于语者1还是语者2的多一些。这里不需要对两个mask相同维的和为1做限制,这样做是要用softmax,原文实验表明这样效果并不会有提升。
在实作的时候,CNN是很深的d会到达128:
在这里插入图片描述
到d=128完了以后,再从d=1开始再走一波,走3-4波(具体几波是超参数)
在这里插入图片描述
• If repeat 3, the model considers 1.53s.
• 这里还用了Depthwise Separable Convolution,以减少模型参数。
这里还有一个小插曲,最开始Separator用的是LSTM,LSTM对于输入是有要求的,如果输入不是从句子的起始位置开始,那么其性能就会下降,所以下图中绿色线条就显示出波动很大。而CNN就比较稳定。
在这里插入图片描述
除了以上内容之外Speech Separation还有其他一些研究的方向或者说点。

Unknown number of speakers

将TAS模型用在多个数量的语者的情况,用迭代的方式每次分离一个语者:
在这里插入图片描述
判断迭代停止的条件是剩下是声音没有杂讯。
Multiple Microphones
多麦克风阵列
在这里插入图片描述

Visual Information

使用视频信息来加强语音分离,例如图中有两个人,那么就可以帮助模型进行分离。
在这里插入图片描述

Task-oriented Optimization

对于不用的应用或者说目标不一样,那么优化的目标也不同,例如如果语音处理的目标是给人听的,越清楚或者是越响亮越好,那么优化的目标是Quality、Intelligibility
如果目标是给机器进行下游任务,那么优化目标是:系统的性能,准确率等。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oldmao_2000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值