WangDeLiangReview2018 - (5.4)说话人分离

2023-10-25 17:10

本文主要是介绍WangDeLiangReview2018 - (5.4)说话人分离,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【WangDeLiangOverview2018】

Supervised Speech Separation Based on Deep Learning: An Overview

DeLiang Wang / Jitong Chen @ Ohio

IEEE/ACM Trans. ASLP2018

 

【目录】

1. 引入

2. 学习机器(learning machines)

3. 训练目标(training target)

4. 特征

5. 单声道分离

    5.1 语音增强(speech separation)

    5.2 语音增强的泛化

    5.3 语音去混响 & 去噪(speech dereverberation & denoising)

    5.4 说话人分离(speaker separation)

6. 多声道分离(阵列分离)

7. 更多内容

 

【正文】

说话人分离(speaker separation)的目标是,从一个包含2个or多个voice的mixture里提取多个语音信号,每个说话人(speaker)对应一个。在深度学习被证明能胜任语音增强之后,在类似的框架下,DNN已被成功应用在说话人分离中,如图12是2说话人分离,或者叫共信道分离(cochannel separation)

Huang[81]是最早为此引入DNN的。他们的研究使用forward DNN和一个RNN来解决2说话人分离。作者说,在帧t时候,2个estimated sources的spectra,\hat{s_1}(t)\hat{s_2}(t),的和,不保证能等于mixture的spectrum。因此,网络中加入masking layer,来产生2个输出:

这相当于3.1中介绍的training target:signal approximation。binary masking和ratio masking都被发现有效。除此之外,discriminative training被用于最大化一个说话人语音的和另一个人的语音的估计之间的差别。训练时,最小化如下cost:

实验表明masking layer和discriminative training都能提升说话人分离[82]。

几个月后,Du[38]独立提出了与[81]相似的用DNN做说话人分离。在他的研究中,DNN被训练来估计cochannel mixture中目标说话人的log power spectrum。在另一个文章[162]中,他们训练了一个DNN来映射一个cochannel信号到目标说话人(target speaker/talker)的spectrum以及干扰者(interfering speaker/interferer/interfering talker)的spectrum,如图12,[37]是一个延伸的版本。比起[81],一个值得提及的延伸是,这些文章还解决了一种情况,当只有目标说话人在训练和测试时候是相同的,而干扰者在训练和测试(testing)时候是不同的。

在说话人分离中,如果潜在的说话人从训练到测试时候不变,为说话人相关(speaker-dependent)。如果干扰者可以变,但目标说话人固定,叫做target-dependent。最少约束条件的是,不要求说话人在训练和测试时候一样,叫做说话人无关(speaker-independent)。从这个角度讲,Huang[81][82]的方法是speaker dependent,[38][162]的方法对speaker dependent和target-dependent都处理。他们放松干扰者约束的方式是简单地用目标说话人和许多干扰者的cochannel mixture来训练。

Zhang和Wang提出一种deep ensemble network来实现speaker-dependent和target dependent分离[206]。他们使用mullti-context network来在不同分辨率集成时序信息(temporal information)。一个ensemble通过堆叠多个模块构造,每个模块做multi context masking/mapping。在这个研究中多个training target被考察。对于speaker-dependent分离,signal approximation被证明更有效;对target-dependent分离,ratio masking和signal approximation的组合更有效。进一步,target-dependent分离的的表现与speaker-dependent分离的接近。近来,Wang[174]在放宽speaker dependency上跟进了一步。他们的方法将每个说话人聚类到4个cluster中的1个里(2个男性和2个女性cluster),然后训练一个DNN-based的gender mixture识别器来决定mixture中2个潜在说话人所属的cluster。尽管是在每个cluster里的说话人的子集上做训练,他们的evaluation结果显示,说话人分离犯法对另外的cluster里没训练过的说话人也能工作得很好。或者说是,这个说话人分离方法显示了一定程度的speaker independency。

Healy[63]近来用DNN做speaker-dependent的cochannel separation并对DNN做了关于HI和NH听者的speech intelligibility评估。DNN被训练来估计IRM和它的补充(complement),对应于目标说话人和干扰者。和更早的DNN-based cochannel separation研究相比,这里面的算法使用一个多样性的特征集合,以及预测多个IRM帧,导致一个更好的分离。intelligibility的结果如图13。

在HI组,DNN-based分离在intelligibility的提升对于-3dB/-6dB/-9dB的target-to-interferer ratio(TIR)分别是42.5%/49.2%/58.7%;对于NH组,也存在统计性显著的提升,但幅度更小。值得关注的是,HI听者在intelligibility上获得的大幅提升,使得他们在TIR -6dB/-9dB时候可以与NH听者有同等水平的表现。

speaker-independent分离可以视作一个无监督聚类,将T-F units聚类到由独立说话人统治的不同类别[6][79]。聚类是在说话人数量上是一个灵活的框架,但他无法像监督学习那样充分利用鉴别性信息(discriminative information)。Hershey[69]是第一个在DNN框架下解决speaker-dependent多说话人分离的。他们的方法,称为deep clustering(后续记作DPCL2016,结合了DNN-based的feature learning和spectral clustering。给定T-F units的gt划分,affinity matrix A可以计算:

DNN被训练来对每个T-F unit做embed。affinity matrix的估计\hat{A}可以从embeddings导出。DNN通过最小化如下cost来学习如何对T-F units输出similar embeddings:

低阶公式可以用于高效地计算cost以及他的导数。推理(inference)时候,mixture被分段,为每个分段(segment)计算embedding matrix V。然后,所有分段地embedding matrix做连接(concatenated)。最后,用K-means来将所有分段的T-F units聚类到说话人cluster。segment-level的聚类比utterance-level的聚类更准确,但只对独立的segment的聚类结果,需要解决时序组织问题。DeepClutering2016被证明能产生高质量的说话人分离,显著地优于用于speaker-independent的CASA方法[79]和NMF方法。

DeepClutering2016一个近来的延伸是deep attractor network[25](后续记作DeepAttractorNet2017,为T-F units学习高维embeddings。与DeepClustering2016不同,这个深度网络建立与聚类中心相似的attractor points,来将被不同说话人统治的T-F units拉到对应的attractor。说话人分离然后被作为mask estimation任务来展开,通过比较embedded points和每个attractor。结果表明DeepAttractorNet2017比DeepClustering2016产生更好的结果。

虽然clustering-based的方法自然而然地导出speaker-independent模型,DNN-based masking/mapping方法将每个DNN输出联系到一个特定的说哈人,并导出speaker-dependent模型。例如,mapping-based方法最小化如下cost:

为了将说话人的DNN输出联合起来,训练一个使用masking/mapping的speaker-independent模型,Yu[202]近来提出permutation invariant training(后续记作PIT2017),如图14。对2说话人分离,DNN被训练输出2个mask,每个都被应用在noisy speech上来产生一个源估计(source estimation)。在DNN训练时,cost函数动态计算。如果将每个输出分配到一个训练数据中的参考说话人|S_k(t)|,那么有2种可能的分配,每个关联到一个MSE。有更小MSE的分配被选择,DNN被训练来最小化对应的MSE。在training和inference时,DNN接受一个segment或多帧特征,为segment估计2个source。由于DNN的2个输出没有关联到任何说话人,在连续的segment里同一个说话人可能从一个输出切换到另一个输出。因此,估计得到的segment-level source需要做sequential organization,除非segment跟语料一样长。尽管更简单了,说话人分离地结果证实能跟deep clustering得到的结果相持。

在本个说话人分离小节中,从前面文章主体中的一个洞察是,用很多不同speaker pair训练的DNN模型能够分离训练中没有涵盖的speaker pair,即speaker-independent分离,但只能在frame-level左到。对speaker-independent分离,关键要素在于如何在独立的帧/segment上,对已经分离好的语音信号进行分组。这正是sequential organization,在CASA[172]中有很多研究。PIT2017可能被认为是在DNN训练中推行sequential grouping作为约束。另一方面,典型的CASA方法利用pitch controu,vocal tract characteristics,rhyth/prosody,乃至常见的spatial direction当多传感器是可用的,当然一般在监督学习中没有涵盖。看似集成传统的CASA和deep learning是未来研究的一个沃土。

 

 

 

这篇关于WangDeLiangReview2018 - (5.4)说话人分离的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/284011

相关文章

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

微积分-积分应用5.4(功)

术语“功”在日常语言中用来表示完成一项任务所需的总努力量。在物理学中,它有一个依赖于“力”概念的技术含义。直观上,你可以将力理解为对物体的推或拉——例如,一个书本在桌面上的水平推动,或者地球对球的向下拉力。一般来说,如果一个物体沿着一条直线运动,位置函数为 s ( t ) s(t) s(t),那么物体上的力 F F F(与运动方向相同)由牛顿第二运动定律给出,等于物体的质量 m m m 与其

请解释Java Web应用中的前后端分离是什么?它有哪些好处?什么是Java Web中的Servlet过滤器?它有什么作用?

请解释Java Web应用中的前后端分离是什么?它有哪些好处? Java Web应用中的前后端分离 在Java Web应用中,前后端分离是一种开发模式,它将传统Web开发中紧密耦合的前端(用户界面)和后端(服务器端逻辑)代码进行分离,使得它们能够独立开发、测试、部署和维护。在这种模式下,前端通常通过HTTP请求与后端进行数据交换,后端则负责业务逻辑处理、数据库交互以及向前端提供RESTful

聊聊说话的习惯

1 在日常生活中,每个人都有固定的说话习惯。心理学研究表明,通过一个人的说话习惯,也可以分析出他的性格特点。对于每一个人来讲,说话习惯已经融为他们生活中的一部分。在社交活动中,一些不良的说话习惯很可能会给他们带来麻烦。因此,了解说话习惯对心理活动的影响是十分有必要的。 2 具有顺畅的说话习惯的人,大多思路清晰、语速适中、用词准确并且声声人耳,是典型的顺畅型说话方式这种类型的人要么不说话,要么

Nginx反向代理功能及动静分离实现

一:Nginx支持正向代理和反向代理 1.正向代理 正向代理,指的是通过代理服务器 代理浏览器/客户端去重定向请求访问到目标服务器 的一种代理服务。 正向代理服务的特点是代理服务器 代理的对象是浏览器/客户端,也就是对于目标服务器 来说浏览器/客户端是隐藏的。 正向代理是客户端指定让代理去访问哪个服务,代表客户端的利益。 2.反向代理 反向代理,指的是浏览器/客户端并不知道自己要

尝试用java spring boot+VUE3实现前后端分离部署(8/31)

前言         这几天开学了,公司这边几个和学校对接的项目都挺忙的,然后我又开始有点闲的情况了。问大佬能不能继续看看若依的项目,大佬让我自己去学了。在看若依的项目的时候在想,python的FLASK后端实现和JAVA spring boot的实现差别大不大,两者实现的思路估计大差不差,那具体的代码逻辑和代码实现又有多大差别,java面向对象的编程思想又是怎么体现的。这些想法迫使我将原来使用

《深入理解 C++模板分离编译:挑战与解决方案》

在 C++编程的广阔领域中,模板是一个强大而复杂的特性,它为程序员提供了高度的灵活性和代码复用性。然而,模板的分离编译却常常成为开发者们面临的一个难题。本文将深入探讨 C++中模板的分离编译问题,揭示其背后的原理、挑战以及解决方案。 一、模板的强大之处 C++模板允许程序员编写通用的代码,可以适应不同的数据类型和场景。通过模板,我们可以实现泛型编程,提高代码的可维护性和可扩展性。例如,我们可以

积分分离PID控制算法

积分分离PID控制算法 积分分离PID控制:积分分离控制基本思路:积分分离控制算法表示:积分分离式PID控制算法程序流程图: 注:本文内容摘自《先进PID控制MATLAB仿真(第4版)》刘金琨 编著,研读此书受益匪浅,感谢作者! 积分分离PID控制: 在普通的PID控制中引入积分环节的目的,主要为了消除静差,提高控制精度。但在过程启动、结束或大幅度增减设定时,短时间内系统输出

Django+Vue3前后端分离学习(五)(前端登录页面搭建)

1、如果需要使用组合式API,需要安装插件: npm install vite-plugin-vue-setup-extend --save-dev 在vite.config.js里配置: 首先导入: import VueSetupExtend from 'vite-plugin-vue-setup-extend' 添加: 2、创建login.vue 然后再index.js里添加