一种基于深度学习的高性能语音增强方法与流程

文档序号:15591002发布日期:2018-10-02 18:57阅读:593来源:国知局

本发明涉及一种语音增强方法。特别是涉及一种基于深度学习的高性能语音增强方法。



背景技术:

1、监督学习语音分离基线系统工作原理

监督学习语音分离系统中计算听觉场景分析是一种典型的语音分离方法,它是基于听觉场景分析的感知原则,通常以理想比率掩码为训练目标进行噪声抑制。理想比率掩码是一种从预混合的语音和噪声中构造的时频掩码,定义如下,

其中,s2(t,f),n2(t,f)分别表示时频单元中语音和噪声的能量,时频单元是信号通过γ-tone滤波器组,子带信号分帧后的表达。β是可调的放缩指数,根据经验通常取β=0.5,预混合的训练语音和噪声分别通过一个多通道的γ-tone滤波器组,利用上述公式可求得训练集的子带理想比率掩码。

监督学习语音分离可分为三个关键的步骤:声学特征提取、监督模型构建和训练目标估计,附图1给出了基于听觉场景分析的监督学习语音分离基线系统结构框图,该基线系统主要分为训练和测试两个阶段,基线系统工作流程如下描述:第一阶段为训练阶段,首先预混合的纯净语音与噪声经γ-tone滤波器组后计算训练目标子带理想比率掩码,然后纯净语音与噪声信号混合得到带噪信号,进而从带噪信号中提取声学特征,随后声学特征作为输入,训练目标子带理想比率掩码作为输出,利用反向传播算法进行深层神经网络语音增强模型训练,经迭代训练后得到权重偏置等参数,最后可得训练好的语音分离模型;第二阶段为测试阶段,首先从带噪信号中提取声学特征,然后声学特征作为已训练好的语音分离模型的输入,语音分离模型的输出即为估计的目标标签,经语音波形合成得最终增强后语音。

2、深信度神经网络提取声学特征的原理

深信度神经网络(deepbeliefnetworks,dbn)是一种生成模型,由多个受限玻尔兹曼机(restrictedboltzmannmachines,rbm)堆叠而成,通过训练dbn神经元间的权重,可使整个神经网络按照最大概率生成特征数据,dbn权重偏置等参数学习分为预训练和微调两个过程。如附图2a所示,以两个rbm为例,在预训练中,带噪信号通过可见层v1输入到下层的rbm,自下向上每个rbm被逐个预训练,附图2b中,利用权重转置多个rbm堆叠组成对称的dbn,附图2c中展示了dbn微调过程,并指出了声学特征层。

(1)预训练

dbn的预训练通常利用对比散列学习算法来实现,其处理过程示意图如附图3所示,首先根据可见数据v0来得到隐藏层单元h0的状态,然后通过h0来重构可见向量v1,然后再根据v1来生成新的隐藏层向量h1,多次迭代,直到重建数据与原始输入数据之间误差减小到最小。

(2)微调

每个rbm都利用上述对比散列算法预训练后,得到dbn的初始权重,然而预训练得到的初始权重可能只考虑了代价函数的局部最优,忽略了全局性,为了弥补这一缺点,需要进行整体网络参数微调。如附图2(c)所示,rbm通过转置权重矩阵组成对称的dbn,微调过程是监督学习,分帧、加窗、标准化预处理后的音频pcm编码数据既作为dbn的输入层数据,也作为输出层训练目标数据,通过误差反向传播进行权重等参数更新,中间声学特征层提取得到的数据即为语音信号的dbn声学特征。

3、黄金分割法确定dbn隐藏层节点数原理

在rbm训练中,最小均方误差是原始输入数据与重建数据之间差别的主要衡量指标,因此在确定最佳的隐藏层节点数时可以将最小均方误差作为目标函数。经实验发现,在进行语音pcm编码数据声学特征提取时,隐藏层节点数量与均方误差之间满足先单调后波动或者是单峰函数关系,对于先单调后波动的情况,容易综合考虑网络复杂度与性能之间平衡,选择合适的隐藏层节点数;对于单峰函数的情况,可利用黄金分割法确定隐藏层最佳节点数,随着实验次数的增加,最佳节点数被限定在越来越小范围内,最终可确定最优点。



技术实现要素:

本发明所要解决的技术问题是,提供一种利用dbn提取声学特征,并将声学特征用于监督学习语音分离基线系统进行语音增强的基于深度学习的高性能语音增强方法。

本发明所采用的技术方案是:一种基于深度学习的高性能语音增强方法,包括如下步骤:

1)对音频pcm编码信号预处理:对音频pcm编码信号进行分帧、加窗,同时按照设定比例将原始数据集分为训练集和测试集;

2)利用黄金分割法确定dbn隐藏层节点数;

3)利用训练集对dbn的权重和偏置参数进行预训练;

4)利用训练集对dbn的权重和偏置参数进行微调;

5)提取dbn特征,是利用步骤4)微调得到的dbn权重和偏置参数分别提取dbn训练集特征和dbn测试集特征;

6)利用步骤5)提取的dbn训练集特征对监督学习语音分离系统进行训练;

7)语音增强,将步骤5)提取的dbn的测试集特征作为步骤6)已训练好的监督学习语音分离系统的输入,监督学习语音分离系统输出即为估计的目标标签,通过语音波形合成可得最终增强后的语音。

步骤1)中所述的原始数据集是由720条timit语料库纯净语音和noisex92噪声库中的噪声混合得到。

步骤2)包括:设dbn隐藏层节点数起始取值范围为:[x1,x2],计算所述起始取值范围内的两个黄金分割点,

x3=x2-0.618×(x2-x1)

x4=x1+0.618×(x2-x1)

比较两个黄金分割点x3,x4最小均方误差的大小,如果黄金分割点x3的最小均方误差小于黄金分割点x4,则舍弃黄金分割点x4右边的取值范围,新的取值范围为[x1,x4];如果x4点的最小均方误差小于黄金分割点x3,则舍弃x3点左边的取值范围,新的取值范围为[x3,x2];重复迭代,逐渐缩小最优隐藏层节点数取值范围,达到设定的迭代次数,得最优的隐藏层节点数。

步骤3)包括:根据步骤2)得到的dbn隐藏层节点数,将步骤1)预处理后的训练集的语音数据取一帧样本数据y,将y值赋给可视层单元v0,随机初始化权重w,计算可视层单元v0使dbn隐藏层hj被开启的概率,即dbn隐藏层hj以概率p(hj=1|v(0))设置为状态1,以概率1-p(hj=1|v(0))设置为0,从可视层到隐藏层的概率p(hj=1|v(0))计算表达式如下:

其中,σ表示logistic函数,bj表示隐藏层的偏置参数,wij表示连接可见层与隐藏层的权重参数,式中下标用于区别同一向量中不同的维度,上标用于区分迭代重建次数,从计算出的概率中抽取出一个样本h(0)~p(h(0)|v(0)),用h0重构可视层单元v1,从隐藏层到可视层的概率p(vi=1|h(0))计算表达式如下:

其中,ai表示可见层的偏置参数。同样,抽取出可见层单元的一个样本v(1)~p(v(1)|h(0)),用重构之后的可见层神经元再次计算出隐藏层神经元被开启的概率按下式更新权重:

w=w+ε(p(h(0)=1|v(0))v(0)t-p(h(1)=1|v(1))v(1)t)

ε为学习率,v(0)t中的t表示矩阵转置符号,取下一帧样本数据,重复迭代,直到所有训练集数据训练完成。

步骤4)包括:将步骤3)预训练得到的权重和偏置参数作为初始参数,将步骤1)预处理后的训练集的语音数据分别作为dbn的输入层数据和dbn的输出层数据,利用反向传播算法进行dbn权重和偏置参数的微调,得到最终的dbn权重和偏置参数。

步骤6)包括:将步骤5)提取的dbn训练集特征作为监督学习语音分离系统的输入,将步骤1)预处理后训练集的带噪信号通过多通道的γ-tone滤波器组滤波计算得到的理想比率掩码作为监督学习语音分离系统的输出,对监督学习语音分离系统进行训练。

本发明的基于深度学习的高性能语音增强方法,在短时目标可懂度(short-timeobjectiveintelligibility,stoi)、语音质量感知评估(perceptualevaluationofspeechquality,pesq)、信噪比(signal-noiseratio,snr)等语音评价指标上都得到了较大提升。

附图说明

图1是监督学习语音分离基线系统结构框图;

图2a是深信度神经网络预训练示意图;

图2b是由多个rbm堆叠成的dbn图;

图2c是深信度神经网络微调示意图;

图3是对比散列学习算法示意图;

图4是本发明一种基于深度学习的高性能语音增强方法的流程图;

图5是三种噪声条件下不同算法信噪比值。

具体实施方式

下面结合实施例和附图对本发明的一种基于深度学习的高性能语音增强方法做出详细说明。

如图4所示,本发明的一种基于深度学习的高性能语音增强方法,包括如下步骤:

1)对音频pcm编码信号预处理:对音频pcm编码信号进行分帧、加窗,同时按照设定比例将原始数据集分为训练集和测试集,所述的原始数据集是由720条timit语料库纯净语音和noisex92噪声库中的噪声混合得到。

2)利用黄金分割法确定dbn隐藏层节点数;包括:

设dbn隐藏层节点数起始取值范围为:[x1,x2],计算所述起始取值范围内的两个黄金分割点,

x3=x2-0.618×(x2-x1)

x4=x1+0.618×(x2-x1)

比较两个黄金分割点x3,x4最小均方误差的大小,如果黄金分割点x3的最小均方误差小于黄金分割点x4,则舍弃黄金分割点x4右边的取值范围,新的取值范围为[x1,x4];如果x4点的最小均方误差小于黄金分割点x3,则舍弃x3点左边的取值范围,新的取值范围为[x3,x2];重复迭代,逐渐缩小最优隐藏层节点数取值范围,达到设定的迭代次数,得最优的隐藏层节点数。

3)利用训练集对dbn的权重和偏置参数进行预训练;包括:

根据步骤2)得到的dbn隐藏层节点数,将步骤1)预处理后的训练集的语音数据取一帧样本数据y,将y值赋给可视层单元v0,随机初始化权重w,计算可视层单元v0使dbn隐藏层hj被开启的概率,即dbn隐藏层hj以概率p(hj=1|v(0))设置为状态1,以概率1-p(hj=1|v(0))设置为0,从可视层到隐藏层的概率p(hj=1|v(0))计算表达式如下:

其中,σ表示logistic函数,bj表示隐藏层的偏置参数,wij表示连接可见层与隐藏层的权重参数,式中下标用于区别同一向量中不同的维度,上标用于区分迭代重建次数,从计算出的概率中抽取出一个样本h(0)~p(h(0)|v(0)),用h0重构可视层单元v1,从隐藏层到可视层的概率p(vi=1|h(0))计算表达式如下:

其中,ai表示可见层的偏置参数。同样,抽取出可见层单元的一个样本v(1)~p(v(1)|h(0)),用重构之后的可见层神经元再次计算出隐藏层神经元被开启的概率按下式更新权重:

w=w+ε(p(h(0)=1|v(0))v(0)t-p(h(1)=1|v(1))v(1)t)

ε为学习率,v(0)t中的t表示矩阵转置符号,取下一帧样本数据,重复迭代,直到所有训练集数据训练完成。

4)利用训练集对dbn的权重和偏置参数进行微调;包括:

将步骤3)预训练得到的权重和偏置参数作为初始参数,将步骤1)预处理后的训练集的语音数据分别作为dbn的输入层数据和dbn的输出层数据,利用反向传播算法进行dbn权重和偏置参数的微调,得到最终的dbn权重和偏置参数。

5)提取dbn特征,是利用步骤4)微调得到的dbn权重和偏置参数分别提取dbn训练集特征和dbn测试集特征;

6)利用步骤5)提取的dbn训练集特征对监督学习语音分离系统进行训练;包括:

将步骤5)提取的dbn训练集特征作为监督学习语音分离系统的输入,将步骤1)预处理后训练集的带噪信号通过多通道的γ-tone滤波器组滤波计算得到的理想比率掩码作为监督学习语音分离系统的输出,对监督学习语音分离系统进行训练。

7)语音增强,将步骤5)提取的dbn的测试集特征作为步骤6)已训练好的监督学习语音分离系统的输入,监督学习语音分离系统输出即为估计的目标标签,通过语音波形合成可得最终增强后的语音。

下面给出最佳实施:

从timit语料库中随机选取600条语句作为训练集纯净语音,从剩余的语句中选取120条语句作为测试集纯净语音,从noisex92噪声库选择工厂噪声、白噪声、粉红噪声三种不同类型噪声进行实验,实验中参数设置:混合信噪比为-2db,帧长nw=320,帧移nsh=160,窗函数h(l)选择320点的汉明窗,学习率ε=0.1。

将训练集与测试集中的纯净语音以-2db混合信噪比分别与三种不同的噪声混合生成带噪信号,依据图4所示的流程图,对提出的基于深度学习的高性能语音增强方法分别进行对比分析,具体实施如下:

1、读取纯净语音被噪声干扰后生成的带噪信号,并进行分帧、加窗处理,每帧320个采样点,加320点的汉明窗。

2、对加窗后的每帧数据输入到dbn网络,利用黄金分割法确定最终dbn隐藏层节点数为in=>h1=>h2=>...=>hn=>out,其中in表示输入层节点数,hi表示每层隐藏层节点数,out表示输出层节点数。

3、根据dbn隐藏层节点数,利用训练集带噪语音数据进行dbn参数预训练,经多次迭代更新预训练后,得到第i层的权重为wi。

4、将预训练得到的权重作为初始权重,预处理后的训练集数据既作为dbn的输入层数据也作为输出层数据,利用误差反向传播进行参数微调,得到第i层最终的dbn权重为wi。

5、利用微调得到的权重wi组成dbn网络,预处理后的训练集带噪信号作为输入层数据,中间声学特征层数据即为训练集dbn声学特征,同样,得到测试集dbn声学特征。

6、将上述得到的训练集带噪信号的特征输入到监督学习语音分离系统的输入层,监督学习语音分离系统有4个隐藏层,每个隐藏层节点数为1024,输出层数据为理想比率掩码,利用误差反向传播迭代20次得到训练好的监督学习语音分离系统。

7、将测试集带噪信号作为监督学习语音分离系统的输入层数据,利用上述训练好的监督学习语音分离系统进行语音增强,得到目标估计标签,同时利用语音波形合成得到最终增强后语音。

如图5所示,对相同的测试集进行语音增强处理,本发明与谱减法、维纳滤波法、基于对数最小均方误差的统计模型法进行对比,信噪比均得到提高,尤其与谱减法相比,在白噪声情况下提高了92.19%。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1