本发明涉及一种语音分离方法,具体的说是一种基于整合优化器的单声道语音分离方法,属于语音分离技术领域。
背景技术:
语音作为物种之间交流的方式之一,随着语音信号处理这个热门领域的不断发展,人们对于高品质的语音的追求不断提升。然而我们所处的世界之中,有存在这各种各样的干扰,这样的语音会使人烦躁。良好的语音质量对人们的生活体验是意义非凡的。随着人工智能的飞速发展,人机交互也成为一个不可避免的部分,清晰度高和可懂度高的语音在这个交互过程中就显得尤为重要。正因如此,语音分离的研究也就显得的别重要。现实生活中有着各种各样不同的噪音,人们感兴趣的声音往往都是纯净的声音,然而现实中很难有完全纯净的声音,人们需要的声音其中都或多或少夹杂着噪音,降低了语音可懂度和信噪比。如何提高可懂度同时降低信噪比变成了一个非常关键的问题。语音分离就是从各种声音混合环境中,将目标说话人的语音分离出来,让其尽可能少失真少干扰,把目标说话人的语音质量提高,因此语音分离具有意义重大的研究价值和实际使用价值。
随着近几年人工智能和深度学习的崛起,深度神经网络(deepneuralnetwork,dnn)逐渐的运用在语音分离的研究上。基于深度神经网络的语音分离一般包含了这么几个过程:1.语音信息的特征提取、2.dnn模型的训练、3.语音分离。其中语音信息的特征提取和dnn模型的训练尤为重要,提取好的特征的能够训练出比较理想的dnn模型,而优秀的dnn模型又可以充分的利用特征和训练目标,建立两者之间更密切的关系。用于语音分离的特征一般是:短时傅里叶变换后得到的幅度谱、对数功率谱(log-powerspectral,lps)、梅尔倒谱系数(mel-frequencycepstralcoefficients,mfcc)、高分辨率耳蜗图(multiresolutioncochlea-gram,mrcg)等很多优秀的语音分离特征,而短时傅里叶变换后的幅度谱是我们常用于语音分离的特征,因为它的提取过程相对于其他的特征相对来说比较容易,而且训练模型的效果也很好,因此被广泛的使用。用于语音分离模型的训练目标通常有两种:1.irm(idealratiomasking)一种软阈值的判断,可以是语音能量之比,也可以是功率之比还可以语音的幅度之比。其中irm的幅度比是最常用的。2.tms(targetmagnitudespectrum),直接通过特征去估计目标的幅度谱。这种训练目标也常用于语音分离中,但是效果相比较要差一些。用于语音分离的网络模型常有这几种网络:1.深度神经网络(dnn)、2.卷积神经网络(convolutionalneuralnetwork,cnn)和循环神经网络(recurrentneuralnetwork,rnn)。语音分离一般采用深度神经网络作为网络模型。在训练过程中,我们一般采用线性回归模型作为网络的消费函数的模型,采用最小均方误差(minimummeansquareerror,mmse)作为基准。而在训练的反响传播阶段,我们通常采用随机梯度下降(stochasticgradedescent,sgd)作为求解消费函数最优值的下降算法。在一次次的往复迭代当中,每次都会通过调节神经网络每一层的神经元的权重和偏置来使消费函数的loss最小。
上诉用于求解深度神经网络的下降算法虽然是在一些场景下对语音的分离效果能有一定的效果。但是对于sgd来说,该下降算法的超参数的初始化是需要非常准确的调整的,否则消费函数就会收敛到局部最优,而且收敛速度是比较慢,这时候深度神经网络模型的训练就是不充分的,语音分离的效果也不太好。而且采用adam作为优化器的网络模型,也会产生学习率方差偏高的问题。针对上诉问题,本发明提出了一种基于整合优化器的语音分离方法能够很有效的解决这些问题,使语音分离的模型训练得更加的准确,在很多种语音分离的场景下都可以获得较好的分离效果和较高的语音可懂度以及较高的语音清晰度,语音的客观评断标准也得到了提高。
技术实现要素:
本发明的目的是提供一种基于整合优化器的单声道语音分离方法,解决了现有的传统的梯度下降算法导致的dnn模型的消费函数收敛慢以及收敛于局部最优的问题,还使语音分离训练模型更加的准确高效;不仅如此,本发明还克服了adam优化器所产生的学习率方差过大问题以及易收敛于局部最优值;本发明将radam优化器和lookahead优化器相整合用语音求解语音分离模型的消费函数的最优解,达到将网络模型训练的更加准确的的效果。
本发明的目的是这样实现的:一种基于整合优化器的单声道语音分离方法,包括如下步骤:
步骤1:对输入说话人1的纯净语音和说话人2的纯净语音进行采集、预处理并且得到两个说话人的语音的幅度谱来计算训练目标irm,然后将混合语音作为输入来训练语音分离dnn网络;
步骤2:在训练网络的反向传播阶段利用整合优化器对dnn模型的消费函数进行全局最优值的求解,通过对dnn网络参数的逐步更新,训练出性能更佳的dnn模型,进而完成语音分离的任务;
步骤3:对所提出的基于整合优化器的单声道语音分离方法系统进行性能评估。
作为本发明的进一步限定,所述步骤1包括:
步骤1.1:对各个说话人每一句输入的纯净语音连续时域信号进行采样,然后对其进行预加重、分帧、加窗等语音预处理操作,得到n帧信号;
步骤1.2:对预处理之后的语音信号信号进行短时傅里叶变换,然后得到每帧信号的幅度谱和相位谱;
步骤1.3:根据两个说话人的语音幅度谱幅度谱,计算出各自的训练目标irm,用于dnn训练;
步骤1.4:将两个说话人的幅度谱在频域上进行叠加,作为dnn模型的输入。
作为本发明的进一步限定,所述步骤2包括:
步骤2.1:首先对dnn网络的参数配置进行随机的初始化,然后将两说话人混合幅度谱作为输入对dnn网络进行训练,所述训练过程主要包括前向传播阶段和反向传播阶段,以获得训练完备的网络结构;
步骤2.2:在训练的反向传播过程中,将两种优化器进行整合的优化,求解dnn网络的消费函数的最优解,得到dnn每一层网络的最优权值和偏重,其具体的包含如下的步骤:
h.3个dnn隐层的权值和偏重进行随机的初始化;
i.每个隐层的前向传播过程中,利用每层输入与每层随机权重偏重向组合得到每层的输出;
j.每个隐层之间采用relu作为激活函数,加深每个隐层之间的非线性映射关系,使模型关系更加复合实际;
k.通过最后输出层的前向传播机制,得到网络的实际输出值;
l.接下来是最为重要的反向传播阶段,通过计算实际输出值与网络的训练目标值之间的消费函数,通过优化器来最小化损失函数,直到损失函数达到一个最优的解;
m.将每层的误差传回网络中,依次求取每个隐层和输入输出层的误差,格局最小化误差的过程来更新网络每层的的权值和偏重,然后重新进行b到f的操作,使误差达到一个可接受的范围;
n.利用训练好的dnn进行语音分离的相关操作,输入混合的测试语音信号作为模型的输入,得到相应预测的irm后,进行语音重构,完成语音分离的任务。
作为本发明的进一步限定,所述步骤2.2的f包括:
步骤f-1:先对整个数据集中每个小批次进行搜索,先通过整合优化器的内部优化器radam对消费函数每一步求取一个快权值,一共进行k步,得到k个快权值;
步骤f-2:然后利用外部的优化器lookahead对k个快权值进行处理,对第一步快权值和最后一步得到的快权值之间进行线性插值操作,得到慢权值;
步骤f-3:将新的快权值初始值更新为上一次的慢权值,继续向前搜索,循环迭代;
步骤f-4:当前这个批次搜索完成后,在对下一个批次进行搜索,然后每次更新参数的值,直到整个网络的消费函数的误差达到一个可以接受的范围内,每层网络的权值和偏重训练完成。
作为本发明的进一步限定,所述步骤3包括:通过将基于整合优化器dnn的单通道语音分离方法与基于传统的梯度下降dnn语音分离方法进行对比,并且分析了在不同的训练目标下以及不同的迭代次数和训练批次对分离系统的分离效果的影响。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
1、本发明提出的一种基于整合优化单声道语音分离方法具有一定的理论研究价值和实际应用价值。该方法通过将radam优化器和lookahead优化器相整合来对消费函数进行求解,使消费函数在求解最优解的过程中,无论是在收敛速度上还是在收敛到全局最优的准确上都有了很大的提升。由于用来分离语音的模型更佳精确,所以最后经过评估的分离后的语音的质量也就更好;
2、本发明采用了整合优化器来求解消费函数,radam优化器是在adam优化器上做了修正,使得学习率的方差不会在训练过程中一直变大,从而导致消费函数收敛到局部最优;
3、本发明将两种优秀的优化器相整合用于语音分离任务,相比较传统的sgd算法,其训练dnn模型的速度变快,其中需要调整的超参数也减少了很多。而且消费函数的收敛速度也提升了很多。语音分离后的效果也有明显提升。
附图说明
图1是本发明的整体系统流程框图。
图2是用于语音分离的dnn网络模型。
图3整合优化器的伪代码图。
图4是本方法的整体大概步骤。
图5是本方法在不同的训练目标的性能对比图1为本发明的结构示意正视图。
具体实施方式
本发明主要涉及的是一种基于整合优化的单声道语音分离方法,在实际应用中,一般提取语音信号的声学特征,将声学特征输入到分类器中进行训练,然后将训练得到的分离模型进行语音分离。近几年,深度学习和人工智能在图像视觉和数据挖掘、机器学习、模式识别、自然语言处理,计算机通信、多媒体学习,以及其他与电子计算机和人工智能(ai)相关领域都取得了很多成果。再加上深度神经网络在语音领域的使用也越来越多,因此,本发明将dnn应用于单通道语音分离中,通过训练的当的dnn模型来进行分离语音的任务,可以获得更高的语音清晰度和可懂度。
本发明利用dnn的特征与训练目标的关系映射和强大的模型构建能力,将两个说话人语音的混合幅度谱作为dnn输入,用于训练dnn,训练完成后的dnn具有能够同时分离两说话人语音的能力。其主要思想是,首相将两说话人的进行预处理,然后提取两说话人的语音信号的特征并且进行归一化操作,然后用于训练dnn网络。在训练过程的反响传播阶段,我们将radam优化器和lookahead优化器相整合,radam用于求解消费函数的快权值部分,而lookahead优化器用于慢权值的更新,使得消费函数能够收敛到全局最优,而且收敛速度也得到了很大的提升,最后所训练出来的模型的精确程度更高。相比于传统的sgd作为优化器,速度更快,收敛更准确。经过几个语音标准的度量,训练出来的dnn网络的分离效果更好。
如图1所示,本发明提出了一种基于整合优化器的单声道语音分离方法,其主要实施步骤包含如下。
步骤1:在语料库中随机的抽取两个说话人的语音作为处理语音分离的目标。说话人的性别可以相同也可以不相同。然后分别对两个说话人的wav格式的语音信号进行预处理,然后获取混合语音的频谱图和目标irm的计算,用于训练语音分离的dnn模型,步骤1的具体操作如下:
步骤1.1:对每个说话人的每条语音进行时域上的采样,然后对采样之后的语音进行预加重和加窗分帧等预处理操作,得到预处理后的语音信号;
步骤1.2:对每条语音进行短时傅里叶变换得到语音的相位谱和幅度谱,其中幅度谱用于语音重构阶段;
步骤1.3:利用每个说话人的语音的幅度谱由irm的公式计算得到相应的irm作为dnn模型的训练目标;
步骤1.4:将两个说话人的每条语音的幅度谱在频域上相加得到两说话人语音的混合幅度谱,对其幅度谱进行归一化操作之后,作为dnn模型的输入特征向量。
步骤2:由步骤1所得到的特征作为dnn模型的输入,训练一个可以从混合语音中同时分离两个说话人语音的dnn,具体步骤如下:
步骤2.1:将混合幅度谱的每一帧拼接成一个连续的大矩阵向量作为dnn的输入,进行训练;
步骤2.2:首先对dnn进行预训练,然后根据反向传播过程中每次得到的消费函数的loss大小判断模型是否有过拟合现象以及模型的输入目标之间的关系是否合理;
步骤2.3:然后根据loss的值,对dnn模型的相关超参数进行合适的微调,比如batch_size,激活函数,神经元的个数等相关参数的调整;以此得到一个训练完备的模型;
步骤2.4:在dnn训练的反向传播过程中,把radam优化器和lookahead优化器相整合,使用整合优化器对消费函数求解最优解降低loss,来约束每层神经元的参数,使每层神经元的权值和偏重更加的准确。
步骤3:将测试使用的两说话人的混合语音谱作为dnn模型的输入特征,得到相应的预测结果,然后用相位谱重新构建语音;具体的步骤如下:
步骤3.1:在输出端得到预测的irm′,然后根据irm′和测试混合语音谱得到分别得到两个说话人的预测的语谱图;
步骤3.2:利用之前的相位谱和得到预测语谱图根据短时傅里叶逆变换和采样率就可以将预测的语音信号恢复出来;
步骤3.3:对所提出的基于整合优化的单声道语音分离方法的性能进行评估。
下面结合附图对本发明的技术方案做进一步的详细说明:
一种基于整合优化的单声道语音分离方法,在采用整合优化器求解模型的消费函数之后,实现了更高的语音分离性能,并适用于不同身份性别场景下的语音分离以及同时获取两个说话人的分离之后的语音,并且进一步提升了语音分离后的可懂度和清晰度。
以下是对本发明具体实施方式的详细论述:
步骤1:对两说话人的语音信号进行预处理并且提取其相关的语音特征;
1.首先进行预处理操作;
因为语音信号只在一段时间内呈现平稳性,具有短时平稳特征,因此我们在对语音信号的特征提取之前必须先对语音信号进行预处理。语音的预处理操作主要包括:采样、加窗、分帧、预加重等。其中加窗加的是汉明窗,帧长是521采样点,帧移是256采样点;只有通过采样模拟信号才能变成数字信号;
2.采样和短时傅里叶变换;
用于语音分离的特征很多,但主要是语音的幅度谱和功率谱这两种;其中每帧语音通过短时傅里叶变换之后,可以得到每帧语音的幅度谱和相位谱;幅度谱适用于提取语音信号的特征,而相位谱则是用于重构语音阶段的语音恢复。
步骤2:输入特征提取和训练目标获取具体内容;
1.首先对两说话人的语音进行采样,采样率为16khz;得到数字信号之后,再短时傅里叶变换,得到257维的幅度谱特征;
2.将得到的特征矩阵进行归一化操作,特别是在男女混合分离的实验中,该归一化尤为重要;因为男声和女声的差异比较大,归一化之后,这种差异会在0到1的一个范围内;
3.计算训练目标irm,由于irm的范围也是在0到1之间,上一步的归一化操作,更显得重要;其中irm的公式如下:
其中,si(m,f)表示说话人1或2的幅度谱,m表示第m帧,f是频率,ε是为了防止整个式子的分母变为0;分别可以得到说话人1的irm1和说话人2的irm2。
步骤3:将输入特征用于训练分离的dnn;
1.dnn的模型结构:
dnn模型如图2所示,我们的输入是257维的特征向量,一共三个隐层,经实验证明隐层数载三个,训练模型的效果较好。每层的神经元数是1024,神经元的数目在为二的整数次幂时,计算效率较高,但是数目越多越容易造成过拟合且计算的复杂度也会增加;然后输出层输出的特征维数是2*257维,其中前半部分的预测特征是说话人1的,而后257维特征是说话人2的;我们通过这一个dnn模型可以同时,分离得到两个说话人的分离语音的
2.整合优化器的实现;
我们将radam作为lookahead的内部优化器,将这两个优化器整合起来,这样可以有效、准确地最小化单声道语音分离的损失函数;由于lookahead优化器与radam优化器是正交的,因此可以将lookahead和radam结合起来作为dnn模型的一种新的优化器。这两种优化方法的结合可以兼有radam和lookahead的优点;radam的优点在于,它可以根据方差离散度动态地打开或关闭自适应学习速率,并且提供了一种无需调整参数学习率的预热方法。它能保证较快的收敛速度,不易陷入局部最优解;在学习率较大的情况下,精度甚至优于sgd。根据radam的特点,当方差稳定后,radam在剩余训练阶段基本等同于adam和sgd。也就是说,radam的改进主要是在训练的初期;此外,受深部神经网络损失面研究的启发,lookahead可以稳定深度学习训练和收敛速度。而lookahead可以减少需要调整的超参数的数量,并以较小的计算量实现对不同深度学习任务更快的收敛;
整合优化器的伪代码如图3所示;整合优化器的原理是保持一组慢权值φ和快权值θ,使得每k次更新慢权值与快权值同步;从数据集d中采样的训练样本中,radam来更新快速权值,每k次更新快速权值(k通常为5)后,然后lookahead通过在权值空间中线性插值的方法将慢速权值更新为快速权值,并确定最终的下降方向损失函数的;α表示慢权值的学习速率。每一组慢权值更新后,快速权值重置为当前慢权值,直到迭代次数结束为止。集成优化器受益于lookahead,在内部循环中具有更大的学习率。当高曲率方向发生振荡时,快速权值沿低曲率方向更新;慢权值通过参数插值帮助平滑振荡。通过快速权值和慢权值的结合,大大提高了高曲率方向的学习效果,并大大降低了方差。因此,它可以帮助集成优化器在实际应用中快速收敛;而且,这两种优化算法从不同的角度出发,各自在深度学习优化方面都取得了新的突破,更妙的是,它们的结合具有高度的协同性;因此,将这两种优化算法结合起来可以得到更好的性能。
3.消费函数的确定
该dnn模型用于语音分离的整体框架图4所示;对于单输出dnn模型的损失函数,其主要集中在输入混合信号特征与目标特征之间的映射关系上。但输出模型的损失函数公式如下:
但是这种单输出模型的dnn网络不能同时分离两个说话人的语音;于是本发明的dnn模型可以同时分离两个说话人的语音,其消费函数的形式如下:
其中t是指一共有t帧语音,因为分离任务的模型是线性回归模型,于是irm和预测的
4.训练dnn过程
在训练过程中,将两种优化器进行整合的优化,求解dnn网络的消费函数的最优解,得到dnn每一层网络的最优权值和偏重,其具体的包含如下的步骤:
o.3个dnn隐层的权值和偏重进行随机的初始化;
p.每个隐层的前向传播过程中,利用每层输入与每层随机权重偏重向组合得到每层的输出;
q.每个隐层之间采用relu作为激活函数,加深每个隐层之间的非线性映射关系,使模型关系更加复合实际;
r.通过最后输出层的前向传播机制,得到网络的实际输出值;
s.接下来是最为重要的反向传播阶段,通过计算实际输出值与网络的训练目标值之间的消费函数。通过优化器来最小化损失函数,直到损失函数达到一个最优的解。本发明采用了整合优化器用于该阶段的消费函数的最优值的求解,通过求取消费函数的最小值来训练dnn网络参数;
t.将每层的误差传回网络中,依次求取每个隐层和输入输出层的误差,格局最小化误差的过程来更新网络每层的的权值和偏重。然后重新进行b到f的操作,使误差达到一个可接受的范围;
u.利用训练好的dnn进行语音分离的相关操作,输入混合的测试语音信号作为模型的输入,得到相应预测的irm后,进行语音重构。完成语音分离的任务。
步骤4:通过测试语音对dnn模型的性能进行评估;
根据步骤三所训练好的dnn模型,我们也分别从两个说话人的语音集上任意取50条语音做为测试语音,对分离模型进行评估;不仅如此,我们也对比了基于其他下降算法优化器的dnn模型的分离效果,以及在不同的性别组合和不同的训练目标下,本发明提出方法的分离效果都很很大的提升。
1.本发明与其他算法的一个比较。表一和表二分别对比了本发明的方法和其他几种方法在训练目标为irm和tms以及不同性别组合下的性能比较。
从表中可以看出,在不同的性别组合下,我们提出的方法的整体分离性能比其他算法有了显著的提高。正如我们之前提到的,radam克服了adam的缺点,即学习速率的方差容易在很大范围内变化。结果表明,radam的分离性能优于adam,但改善并不明显。特别是在f-m情况下,sar提高了0.33db,sdr提高了0.25db,sir提高了0.85db,pesq提高了0.06。在这些算法中,sgd的分离性能是最差的,这可能是由于一些超参数缺乏微调造成的。从表1可以看出,跨性别组合的分离性能优于不同算法的同性别组合。另外,与sgd相比,本发明提出的方法在男女分离情况下取得了显著的进步,sar提高了1.91db,sdr提高了1.3078db,sir提高了3.05db,pesq提高了0.34db。另外可以看出,我们提出的方法在分离性能上明显优于adam和radam,正是由于这些优点,本方法选择了radam作为与lookahead优化器相结合的内部优化,它可以在尝试k步后决定最佳下降方向,克服了adam和sgd的缺点。
tms的最终结果如表2所示,我们可以清楚地看到,本发明方法在分离性能方面比其他算法有优势。特别是在f-m分离情况下,本发明的方法的性能分别比tms-sgd高1.56db,sdr的2.17db,sir的3.92db和pesq的0.28。
表1不同算法下以irm为训练目标的性能比较
表2不同算法下以tms为训练目标的性能比较
2.在不同的训练目标下和不同的性别组合下的实验对比;
irm和tms是语音分离方法当中常用的两个训练目标,但是由于tms是直接通过特征对目标频谱进行预测,这样一旦dnn模型不够精确就不能很好的预测出目标语音的幅度谱,以tms为目标所分离的语音和irm效果相差很明显。因此,大多数的dnn模型用于语音分离都是以irm为训练目标,而本发明所提出的整合优化器的方法不仅适用于irm,同时也适用于tms。在以tms为训练目标的效果下也有提升,使得irm和tms的效果相差不大。
如图5所示,在不同训练目标下,本方法的效果由四个指标评判,由图可以看出以tms和irm为训练目标相比,tms很接近irm。比如图5中m1+m2的irm实验结果略好于f1+f2,其中sar、sdr、sir和pesq分别为0.96db、0.62db、0.67db和0.12。反观在表二的其他算法在tms为训练目标下的情况并不太好。因此,本发明的方法在以tms作为训练目标的情况下更加的有效。
综上所述,本发明利用输入特征与训练目标之间的非线性关系来训练dnn,并且使用整合优化器对dnn的消费函数进行求解,与传统基于sgd以及adam的dnn的分离方法相比,不仅可以使消费函数更快的收敛,用于调整优化器的超参数的设置也没那么多,而且不会轻易让消费函数收敛到局部最优。因此训练出来的dnn模型的分离效果也有很大的提升,同时也提高了分离语音的可懂性,在实际应用和理论研究领域都具有很好的借鉴意义。
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。