文档章节

基于深层神经网络的语音 增强方法研究

chenxiao60
 chenxiao60
发布于 2016/06/07 21:06
字数 2703
阅读 387
收藏 6

近年来,随着深层神经网络(在语音识别领域的成功应用,给了语音增强任务的研宄人员很多启发。的深层非线性结构可以被设计成一个精细的降噪滤波器。同时基于大数据训练,可以充分学
习带噪语音和干净语音之间的复杂的非线性关系。另外的训练是离线学习的,如同人一样,它能记住一些噪声的模式,因而可以很好地抑制一些非平稳噪声。

首先我们提出了基于的语音增强方法框架,对数功率谱被用作训练模型的特征。则作为映射函数,可以从带噪语音中预测出干净语音。而的训练是分两步进行的,即预训练和有监督训练。预训练是基于受限玻尔兹曼机(的逐层贪婪式初始化,它可以防止陷入局部最优。而有监督调优可以精准地学习带噪语音和干净语音之间的非线性关系。

其次,是一种有监督的学习模型,凡是有监督的模型都存在如何应对测试集不匹配问题,也即如何提升系统的泛化能力。上百种类型的噪声数据被用来构建大规模训练数据,以此提髙模型对未见的测试噪声环境的适应性。同时我们发现,通过此种方法,系统对非平稳噪声有非常强的抑制能力。

再者,对测试中的不匹配带噪语音需要做自适应,这个不匹配主要有:能量不匹配,噪声环境不匹配和语言不匹配等方面。因此我们分别在特征层面,提出了均值移位方法,来解决测试语音的特征分布不一致的问题。而对于噪声类型不匹配问题,我们提出了一种动态的噪声告知训练方法,即先用动态地估计每一帧的噪声,然后用来辅助的学习。语言不匹配问题,主要存在于跨语种测试的时候,由于不同语系发音上的差异性导致的丢音问题。我们提出了通过转移学习的方法,来自适应地解决这个问题。

最后,对数功率谱上的最小均方误差是训练的目标函数,但是直接去优化这个目标函数有一定困难的。我们提出了一种间接的目标函数优化方式。考虑到对数功率谱域上的各个维度间是相互独立的,因此我们把梅尔倒频谱参数(融合到系统中来,让去联合优化对数功率谱特征和特征。利用的每个参数都包含了频率各个维度间的相关性来限制对对数功率谱的估计,以得到一个在频率各个维度上误差更具有一致性的特征预测。除了这种连续性信息,我们还可以用一些具有分类特性的元信息来作为对对数功率谱预测的辅助项,比如它显式地表征了当前时间频率单元是噪声主导的还是语音主导的。另外,经过聚类的噪声编码也用来辅助对对数功率谱特征的学习。

语音增强的定义
语音增强是指干净语音在现实生活场景中受到来自各种噪声干扰时,需要通过一定的方法将噪声滤除,以提升该段语音的质量和可懂度的技术。

语音增强的分类
如果按照录音的通道数来划分,语音增强又分为单声道语音增强和麦克风阵列语音增强。单声道语音增强只利用了时域和频域的信息,而麦克风阵列语音增强不仅利用了时域和频域的信息,还利用了空域的信息。

而如果按照语音增强的方法来分,可以分为无监督语音增强方法和有监督语音增强方法,前者也称为传统语音增强方法,传统语音增强算法虽然不需要离线训练,所需的计算资源也少,但是由于很多不合理的假设的存在,限制了它们的性能上限。而有监督语音增强方法是近些年提出的,利用既有的语音数据或噪声数据,训练相关的统计特性模型,其实就是如同人一样,先让系统学习并记住一些语音和噪声的模式,以此指导将噪声从带噪语音中分离出来。由于有监督语音增强方法充分利用了既有的数据,掌握了一些语音和噪声的统计特性,因而会得到更优的增强性能。但是在有监督的语音增强方法中,重点需要研究的是如何提升其泛化能力。

带噪语音的信号模型
噪声和语音的相互作用关系是非常复杂的。一般认为有两种相互作用关系,即加性噪声和卷积性噪声。分别如下所示:

卷积性噪声的模型如果在频域又是乘积性的关系,故卷积性噪声又称为乘性噪声。但在现实生活场景中,加性噪声是主要的,特别是低信噪比的声学环境中,主要是加性噪声影响了语音的质量和可懂度。因此本论文的研究重点是加性噪声。如果对加性模型,也即公式的两边做短时傅里叶变换(可得加性噪声模型的频域表示,如下:

T和D分别表示该信号总共有多少中贞和总频带数。如果进一步在对公式的两边做平方操作,即得到:

其中表示噪声信号和语音信号间的余弦夹角值,一般的语音增强算法都假设噪声信号和语音信号之间相互独立,得到:

而这通常是不合理的假设,也影响了语音增强系统的性能上限。而本文提出的方法可以避免这一假设,进而得到更优的性能。

 

 

谱减法:谱减法的核心思想即是在非语音倾的地方迭代更新噪声的方差,然后将噪声的方差从带噪语音信号的能量中减掉即得到对干净语音信号的估计,如下所示:

因此,谱减法也遵循图的框架。而且从公式可以看出,如果噪声的方差过估计,容易造成语音失真;反之,如果噪声的方差欠估计,则容易产生“音乐噪声”。

 

 

维纳滤波法:维纳滤波法也是语音增强里的经典方法,它分时域和频域滤波两种形式。

而其估计的过程如下:
 

这里系统称为对的一种估计器,而通过读公式进行求导,最小化干净语音和估计语音之间的误差,从而获得对滤波系统的最优估计,这需要解维纳霍夫方程。

如果对公式的两边进行频域转换,则根据时域卷积,频域则乘积,可得维纳滤波的频域形式:

再通过进一步求导和最小均方误差可得维纳滤波的增益函数,也称为维纳增益

但是不得不提到的是,无论是谱减法,还是维纳滤波法,抑或基于最小均方误差的方法,都无法对非平稳噪声有效抑制,这是因为非平稳噪声具有突发性的特点,仅仅通过利用前面的非语音顿的信息来估计噪声的方差,很难对非平稳噪声进行有效跟踪。

同时需要指出的是,在信噪比比较低的情况下,传统单声道语音增强算法由于无法有效判断语
音巾贞,还是非语音顿,通常也会发生误判的情况,这就导致了语音的严重丢失。同时,如果噪声的能量大于语音的能量,传统的单声道语音增强算法几乎无法将语音谱给恢复出来,而这对能力较低的辅音的语谱结构通常是毁灭性的。

----------------------------------------------------------------------------------------------------------------------------

基于浅层神经网络的语音增强:早在年,就有用浅层神经网络进行语音增强的研宄工作。图给出了利用浅层神经网络在时域上学习带噪语音和干净语音之间的相互作用关系(,每次输入的是个时间上的数据点,因此该网络的隐层节点数是个,该浅层神经网络每次的输出也是对应的个时域上的数据点,是对干净语音的预测。而该网络的初始化是随机的。但是在时域上,带噪信号和语音信号的值都比较随机,且在时域上,带噪语音和干净语音的相互关系可区分度不大,比较难以用浅层祌经网络这个简单的模型进行噪声和语音的分离。


 


 


 

© 著作权归作者所有

chenxiao60
粉丝 9
博文 18
码字总数 23326
作品 0
南京
私信 提问
小米和西工大联手,三篇论文被Interspeech接收

翻译 | 林椿眄 编辑 | 阿司匹林 出品 | 人工智能头条(公众号ID:AI_Thinker) 小米和西北工业大学的“交情”不浅。 去年 7 月,小米和西工大计算机学院的谢磊教授合作,在 arXiv 上提交了一...

AI科技大本营
2018/06/19
0
0
[论文学习]RecSys’16 Workshop on Deep Learning for Recommender Systems (DLRS)

cited: Karatzoglou A, Hidasi B, Tikk D, et al. RecSys' 16 Workshop on Deep Learning for Recommender Systems (DLRS)[C]//Proceedings of the 10th ACM Conference on Recommender Syst......

somTian
2017/06/19
0
0
用脑电图也能做语音识别?新研究造福语音障碍者

文章发布于公号【数智物语】 (ID:decision_engine),关注公号不错过每一篇干货。 大数据文摘专栏作品 作者:Christopher Dossman 编译:conrad、云舟 01本周热门学术研究 01工业界版权检测...

数智物语说
06/25
0
0
揭秘深度学习成功的数学原因:从全局最优性到学习表征不变性

近年来,深度学习大获成功,尤其是卷积神经网络(CNN)在图像识别任务上的突出表现。然而,由于黑箱的存在,这种成功一度让机器学习理论学家颇感不解。本文的目的正是要揭示深度学习成功的奥...

w9JLwB
2017/12/17
0
0
揭秘深度学习成功的数学原因:从全局最优性到学习表征不变性

  选自arXiv   作者:René Vidal、Joan Bruna、Raja Giryes、Stefano Soatto   机器之心编译   参与:黄小天、路雪      近年来,深度学习大获成功,尤其是卷积神经网络(CNN)...

机器之心
2017/12/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一套基于SpringBoot+Vue+Shiro 前后端分离 开发的代码生成器

一、前言 最近花了一个月时间完成了一套基于Spring Boot+Vue+Shiro前后端分离的代码生成器,目前项目代码已基本完成 止步传统CRUD,进阶代码优化: 该项目可根据数据库字段动态生成 controll...

郑清
58分钟前
7
0
javascript-十六进制随机颜色

<script> // 编写一个函数,获得一个十六进制的随机颜色的字符串(如#20CD4F) // function randomColor(){ // var r = random(0,255).toString(16); // var g = random(0,255).toString(16......

ACKo
今天
3
0
springBoot +mybatis 出现sql 语句在数据库可以查询到,但是赋值到实体类上就没有的情况?

1.不要老是反复查看自己是否写错了,为啥有的能出来有的出不来? 可以查看配置文件中是否配置全: 如果在application.yml 文件中是如下配置: mybatis: mapper-locations: classpath:mapp...

kuchawyz
今天
3
0
正则表达式

一、RegExp对象 进行验证和查找的API 1、创建对象: (1)用/创建(直接量):var reg=/正则/ig,表达式固定不变时使用 (2)用new创建:var reg=new RegExp(‘正则’,‘ig’),表达式需要...

wytao1995
今天
3
0
实战限流(guava的RateLimiter)

关于限流 常用的限流算法有漏桶算法和令牌桶算法,guava的RateLimiter使用的是令牌桶算法,也就是以固定的频率向桶中放入令牌,例如一秒钟10枚令牌,实际业务在每次响应请求之前都从桶中获取...

程序员欣宸
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部