空洞因果卷积生成对抗网络端到端骨导语音盲增强方法与流程

文档序号:18457942发布日期:2019-08-17 01:46阅读:535来源:国知局
空洞因果卷积生成对抗网络端到端骨导语音盲增强方法与流程

本发明涉及人工智能领域,尤其涉及一种用于端到端语音增强模型的训练方法及系统。具体涉及空洞因果卷积生成对抗网络端到端骨导语音盲增强方法。



背景技术:

骨传导麦克风(boneconductedmicrophone,bcm)和传统气传导麦克风(airconductedmicrophone,acm)传播声音的方式不同的是,bcm采集的声音并不是通过空气传播,而是通过高灵敏的振动传感器采集人体骨头或组织的振动,然后再转换为音频信号。它的优点在于从声源处就屏蔽了噪声,从源头上阻止环境杂音在通讯系统两端的传递,因此即使在强噪声环境下通讯,有用信号也可以清晰的传递。虽然骨导(ac,airconduction)语音不会引入以空气为媒介的声学噪声的干扰,但高灵敏的骨传导传感器会在使用中带入非声学的串扰,像奔跑,骑行等过程,就会引入摩擦噪声和风燥,这些都影响通话质量。并且研究表明语音经过人体(相当于低通滤波器)传到骨传导传感器,不仅在时域上的幅度衰减严重,甚至在频域上基本没有高频信号,语音听起来比较沉闷,不够清晰,听觉感受不是很舒适。

单通道骨传导语音增强方法主要分为三大类:基于统计模型的语音增强算法、基于谱减法的语音增强算法和基于子空间的的语音增强算法。

基于统计模型的语音增强算法的原理是根据给定的带噪语音信号参数测量值,计算出与纯净语音信号相关的估计值,根据这个估计值构建滤波模型,从而得到对带噪语音的增强。1979年,lim和oppenhein提出了经典的维纳滤波语音增强算法,同一时期还有paliwal在语音增强算法中使用了卡尔曼滤波技术。ephraim将隐马尔可夫模型引入到语音增强中并和malah提出了基于最小均方误差(mmse)的短时幅值谱估计的语音增强算法,这些语音增强算法均达到了很好的对带噪语音信号的增强效果。

基于谱减法的语音增强算法是boll等人改进了由schroeder提出的传统谱减法形成的经典谱减法,该算法是基于噪声的频谱是平稳的或变化缓慢。其原理是用带噪声语音信号的频谱减去噪声信号的频谱,从而得到纯净语音信号的频谱。该算法能抑制一定成度的背景噪声信号,但只能对含稳态噪声的带噪语音信号有明显的增强效果。随后,出现了很多改良版的谱减法语音增强算法,如基于功率谱的谱减法、非线性谱减法和其他的一些方法。谱减法的缺点是残留噪声较大、引入不必要的音乐噪声,但是谱减法原理简单,容易实现,在实际中应用非常广泛且用与语音增强领域的入门算法。

基于子空间的语音增强算法的原理是基于线性代数理论的,在欧式几何中,纯净语音信号与噪声信号可能局限于带噪语音信号的不同子空间中,因此,如果找到一种办法将带噪语音信号的向量空间分解成两个子空间,其中一个子空间主要包括纯净语音信号,另一个子空间主要包括噪声语音信号,这样就可以得到估计的纯净语音信号所处的子空间。主要用到的方法是特征值分解(eigenvaluedecomposition,evd)和奇异值分解(singularvaluedecomposition,svd)。近年来,稀疏表示或稀疏编码在语音增强领域受到了极大的关注,稀疏表示或稀疏分解是新兴的数字信号处理方法,稀疏表示是从一个过完备矩阵空间中选择少量原子以线性组合的形式来表示一个信号的全部或大部分信息,可以应用非负矩阵分解(non-negativematrixfactorization,nmf)获得最稀疏的线性组合。



技术实现要素:

为克服现有技术的不足,本发明旨在提出一种基于空洞因果卷积生成对抗网络的端到端骨导语音增强算法,所提出的系统以端到端(即波形输入和波形输出)的方式进行语音增强,通过训练获取最佳网络模型参数,再利用训练好的模型增强骨导语音,解决骨导语音高频成分缺失,听觉感观不佳及强噪声背景下的通讯等问题。为此,本发明采取的技术方案是,空洞因果卷积生成对抗网络端到端骨导语音盲增强方法,以骨导原始音频采样点作为输入数据,纯净气导bc(boneconduction)原始音频作为训练的输出目标,构建并训练空洞因果卷积生成对抗增强网络;然后将骨导语音输入训练好的空洞因果卷积生成对抗增强网络,由该网络输出增强后的音频波形;所述空洞因果卷积生成对抗网络包括生成器和判别器,生成器采用空洞因果卷积,对网络的输入数据进行深层意义的特征提取和特征变换,输出增强后的样本;判别器则是输入原始音频数据和生成器生成好的增强后语音样本,利用判别器中的卷积层提取深层次非线性特征,从而进行样本的深层相似性判断。

构建并训练空洞因果卷积生成对抗增强网络具体步骤是,将纯净语音样本和骨导语音样本输入判别器,对判别器进行真实数据判断训练;生成器以骨导原始语音采样点作为生成器训练输入数据,生成器生成增强后的语音样本,将生成器生成的增强样本和原始骨导语音样本作为判别器输入,进行增强数据判断,将判别误差反馈给生成器,生成器通过训练减小误差,提高增强语音质量。判别器和生成器进行反复对抗训练,最后得到最优骨导语音增强网络模型,并存储模型参数。

还包括数据预处理步骤:将骨导原始语音采样点和纯净气导语音采样点进行切片,根据生成对抗网络深度确定适当的数据输入与输出的因果关系,形成网络训练样本,进行骨导语音采样点数据序列到纯净语音采样点数据序列的对齐操作;在训练阶段,由于标定真实数据x的所有时间步骤都是己知的,因此所有时间步骤的条件概率预测并行进行;在推断阶段,预测结果是串行的:每一个预测出的样本都被传回网络用于预测下一个样本。

具体步骤细化如下:

步骤一:获取骨导和气导语音数据以生成训练集和测试集,对气导和骨导原始语音信号进行分段处理,并进行数据预处理以满足网络输入需求,具体地,将训练集和测试集的语音数据统一转化为.wav形式的音频文件存储,然后将音频分段成输入样本长度和输出样本长度序列,每500毫秒提取大约1秒语音滑动窗口的波形块;测试时,在测试的整个过程中滑动窗口,没有重叠,并在流的末尾将结果连在一起;在训练和测试中,对所有输入样本应用系数为0.95的高频预加重滤波器,在测试过程中,输出也相应地进行去加重处理;l滤波器函数定义如下:

h(z)=1-αz-1

步骤二:对数据进行mu-low压缩编码,将原本softmax(分类函数)层的65536个概率输出量化到256个可能值,并将一维音频数据样本进行独热one_hot编码,编码后变换为256维音频数据,mu_low编码和解码函数如下:

其中μ=255,x是输入信号,y是经过编码的输出信号,sgn(x)是sign函数,编码函数自变量范围是-1到1;

步骤三:生成对抗网络的对抗训练:定义生成对抗网络gan的网络结构,生成器g采用全卷积网络结构,没有全连接层,采用残差跳步连接,作为语音增强框架;判别器则是用于分类的卷积神经网络cnn,用于指导改进生成器模型;生成器模型由强化学习的策略梯度进行训练,其中,奖励值由判别器反馈值提供,通过时间查分学习反馈中间每步训练所生成数据概率的对应奖励,判别器通过真实数据和生成数据进行训练;

步骤四:测试集输入训练好的生成模型g中进行骨导语音增强,再将输出进行one_hot解码和mu_law解码,最后把增强音频片段进行合成原始音频流。

生成器g网络结构为全卷积结构,是由一个3层的卷积网络、30块的空洞卷积网络结构组成,空洞卷积结构包含两层空洞卷积、一层残差卷积和一层跳步卷积,空洞卷积层使用门控激活函数进行非线性变换,最后两层卷积网络层之间使用relu校正线性单元,门控激活函数公式定义为:z=tanh(wf,k*x)⊙σ(wg,k*x),其中,*代表卷积操作,⊙表示元素相乘操作,σ()是sigmoid函数,k代表第几层卷积,f和k表示两层卷积层,w则是对应卷积层的滤波器参数。

将骨导语音样本送入生成模型g中进行语音增强,信号首先经过一层普通卷积层,然后进入空洞卷积块进行信号的非线性特征提取和变换,扩张率设置为成倍数增加,第一层卷积层的扩张率为1,第二层卷积层的扩张率为2,以此类推,直到扩张率的极限再重复循环;训练时,网络使用残差和跳步连接,残差跳步卷积使用1×1滤波器,卷积通道数设置为32和256;经空洞卷积后的输出通过两层滤波器宽度为1的卷积层,使用relu激活函数,最后经过softmax层,输出带one_hot编码和mu-law编码形式的音频信号;将生成模型g输出的256维音频信号one_hot解码变成一维音频信号,然后通过mu-law编码的解码函数得到最终生成的增强骨导音频。

判别模型d是一个二分类卷积神经网络,判别器d中每层卷积层使用参数为0.3的leaky-relu非线性激活函数,在结构上,d是由22个一维跨卷积层组成,滤波器宽度为31,步长为n=2,每层滤波器的数量增加,这样深度就会随着宽度变窄而变大,每层样品×特征图的尺寸为16384×1,8192×16,4096×32,2048×32,1024×64,512×64,256×128,128×128,64×256,32×256,16×512和8×1024,网络d的卷积结构适合卷积分类网络的卷积拓扑。

对抗生成网络的训练损失函数定义如下:

其中e(*)表示分布函数的期望值,pdata(x)代表着真实样本的分布,pdata(z)是定义在低维度的噪声分布,通过参数为θg的g映射到高纬的数据空间得到pg=g(z,θg),以此达到最大化d的判别能力,最小化g和真实数据集的数据分布。

本发明的特点及有益效果是:

1、本发明以一种新的方法实现了语音增强,不同于传统的基于谱估计算法和深度神经网络算法,本文采用一种端到端的语音增强算法,输入原始语音信号,输出增强语音信号,利用对抗方式生成增强语音信号,保留原始语音信号时域上的相位细节信息。通过实验表明,该方法不仅可行,并可以有效替代传统流行方法,得到更好的增强性能。

2、生成对抗网络模型中的生成器模型采用空洞因果卷积,扩张卷积在保持参数个数不变的情况下增大了卷积核的感受野,同时它可以保证输出的特征映射的大小不变。使用空洞卷积使感受野增大了几个数量级,同时不会显著增加计算成本。与正常卷积相比,空洞卷积有效地使网络可以执行粗粒度的卷积操作。由于使用因果卷积的模型中没有循环连接,通常训练起来比rnn更快。

3、原始音频通常保存为16位整数序列,对每个时间步骤的所有可能值,softmax层将需要输出65536个概率,为了更容易处理,对数据进行了mu-low编码,将softmax层的输出量化到256个可能值,和简单的线性量化相比,这个非线性量化处理可以对数据进行更好的重构,特别是对于语音数据,这样重构后的信号听起来非常接近原始信号。

4、生成网络模型使用门控激活单元作为激活函数,对于音频信号建模,这个非线性操作显著优于relu激活函数。并且网络使用残差跳步连接,将输出表述为输入和输入的一个非线性变换的线性叠加,以加速收敛,改善梯度消失使梯度下降能在更深的模型中传播。

附图说明:

图1基于生成对抗网络的端到端骨导语音增强结构图。

图2生成器模型图。

图3判别器模型图。

图4空洞因果卷积示例图。

具体实施方式

实现本发明目的的技术解决方案为:一种用于端到端语音增强的基于空洞因果卷积生成对抗网络结构,与现有的仅处理幅度谱(例如对数功率谱(lps))的大多数增强方法不同,它直接以骨导原始音频采样点作为输入数据,纯净气导原始音频作为训练的输出目标,构建并训练空洞因果卷积生成对抗增强网络。

所述空洞因果卷积生成对抗网络包括生成器和判别器,生成器采用空洞因果卷积,对网络的输入数据进行深层意义的特征提取和特征变换,输出增强后的样本;判别器则是输入原始音频数据和生成器生成好的增强后语音样本,利用判别器中的卷积层提取深层次非线性特征,从而进行样本的深层相似性判断。训练方法主要包含如下步骤:

数据预处理:训练时采用了因果卷积,因果卷积确保了模型输出不会违反数据的顺序:模型在t时刻输出的预测p(xt+1)|x1,...,xt不会依赖任何一个未来时刻的数据xt+1,xt+2,...,xt。对图像来说,因果卷积是一个遮蔽卷积,可以在使用前通过构建一个遮蔽张量与卷积核进行点乘来实现。对于音频这样的一维数据来说实现起来更简单,将正常卷积的输出偏移几个时间步骤即可。具体的将骨导原始语音采样点和纯净气导语音采样点进行切片,根据生成对抗网络深度确定适当的数据输入与输出的因果关系,形成网络训练样本,进行骨导语音采样点数据序列到纯净语音采样点数据序列的对齐操作。在训练阶段,由于标定真实数据x的所有时间步骤都是已知的,因此所有时间步骤的条件概率预测可以并行进行。在推断阶段,预测结果是串行的:每一个预测出的样本都被传回网络用于预测下一个样本。

生成对抗网络的对抗训练:将纯净语音样本和骨导语音样本输入判别器,对判别器进行真实数据判断训练;生成器以骨导原始语音采样点作为生成器训练输入数据,生成器生成增强后的语音样本,将生成器生成的增强样本和原始骨导语音样本作为判别器输入,进行增强数据判断,将判别误差反馈给生成器,生成器通过训练减小误差,提高增强语音质量。判别器和生成器进行反复对抗训练,最后得到最优骨导语音增强网络模型,并存储模型参数。

其中,生成模型d采用空洞卷积(也称为扩大卷积),是卷积核在比自身大的数据上进行卷积时跳步的卷积方法。这与通过用零补边使卷积核扩大的效果是一样的,但是这样效率更高。与正常卷积相比,扩大卷积有效地使网络可以执行粗粒度的卷积操作。这与下采样或者跳步卷积类似,只是这里的输出保持与输入同样大小。堆叠式扩大卷积使得网络只通过少数几层便拥有了非常大的感受野,同时保留了输入分辨率和计算效率。扩大系数每层都翻倍直到上限,然后重复循环,如:1,2,4,...,512,1,2,4,...,512,1,2,4,...,512。这种配置其背后的直觉有两个,首先随着深度增加,扩大因子的指数增长可以使感受野呈指数级增大。例如每一组1,2,4,...,512这样的卷积模块都拥有1024大小的感受野,可视为与1x1024卷积对等的更高效的(非线性)判别式卷积操作。其次,将多组这样的卷积模块堆叠起来会进一步增大模型容量和感受野大小。

骨导语音增强:利用训练完成的最优生成对抗网络中的生成网络模型对骨导语音进行增强,输入骨导语音,直接输出增强后的音频波形。

下面结合附图来描述本发明实施的基于空洞因果卷积生成对抗网络的端到端骨导语音增强方法。该方法包含以下步骤:

步骤一:获取骨导和气导语音数据以生成训练集和测试集,对气导和骨导原始语音信号进行分段处理,并进行数据预处理以满足网络输入需求。

具体地,可将训练集和测试集的语音数据统一转化为.wav形式的音频文件存储,然后使用python将音频分段成输入样本长度和输出样本长度序列,每500毫秒(50%重叠)提取大约1秒语音(16384个样本)滑动窗口的波形块。测试中,我们基本上在测试的整个过程中滑动窗口,没有重叠,并在流的末尾将结果连在一起。在训练和测试中,我们对所有输入样本(在测试过程中,输出也相应地进行去加重处理)应用了系数为0.95的高频预加重滤波器。l滤波器函数定义如下:

h(z)=1-αz-1

步骤二:对数据进行了mu-low(一种常用编码压缩算法)压缩编码,将原本softmax层的65536个概率输出量化到256个可能值,并将一维的音频数据样本进行one_hot编码,编码后变换为256维音频数据,mu_low编码和解码函数如下:

其中μ=255,x是输入信号,y是经过编码的输出信号,sgn(x)是sign函数。需要注意,编码函数自变量范围是-1到1。

步骤三:生成对抗网络的对抗训练:定义生成对抗网络gan的网络结构,生成器g如图2所示采用全卷积网络结构,没有全连接层,采用了残差跳步连接,作为语音增强框架。判别器则是用于分类的cnn网络,用于指导改进生成器模型。生成器模型由强化学习的策略梯度进行训练,其中,奖励值由判别器反馈值提供,通过时间查分学习反馈中间每步训练所生成数据概率的对应奖励。判别器通过真实数据和生成数据进行训练。具体训练如下:

网络的训练样本由两部分组成,如图1所示,第一部分是判别模型d的输入为骨导语音信号和纯净语音信号组成的真实语音数据样本,输出标记为1,第二部分判别模型d的输入为骨导语音信号和生成模型g生成的增强语音信号组成的增强语音数据样本,输出是假样本并标记为0。训练时,我们设置训练模型学习率为0.0002,批尺寸(batch-size)为400,训练周期为200次。

如图2所示,生成模型g网络结构为全卷积结构,是由一个3层的卷积网络、30块的空洞卷积网络结构组成,空洞卷积结构包含两层空洞卷积、一层残差卷积和一层跳步卷积,空洞卷积层使用门控激活函数进行非线性变换,最后两层卷积网络层之间使用relu校正线性单元。门控激活函数公式定义为:z=tanh(wf,k*x)⊙σ(wg,k*x),其中,*代表卷积操作,⊙表示元素相乘操作,σ()是sigmoid函数,k代表第几层卷积,f和k表示两层卷积层,w则是对应卷积层的滤波器参数。

将骨导语音样本送入生成模型g中进行语音增强,信号首先经过一层普通卷积层,然后进入空洞卷积块进行信号的非线性特征提取和变换。扩张率设置为成倍数增加,第一层卷积层的扩张率为1,第二层卷积层的扩张率为2,以此类推,直到扩张率的极限再重复循环。训练时,网络使用残差和跳步连接,残差跳步卷积使用1×1滤波器,卷积通道数设置为32和256。经空洞卷积后的输出通过两层滤波器宽度为1的卷积层,使用relu激活函数,最后经过softmax层,输出带one_hot编码和mu-law编码形式的音频信号。将生成模型g输出的256维音频信号one_hot解码变成一维音频信号,然后通过mu-law编码的解码函数得到最终生成的增强骨导音频。

判别模型d是一个二分类卷积神经网络。判别器d中每层卷积层使用参数为0.3的leaky-relu非线性激活函数,在结构上,d是由22个一维跨卷积层组成,滤波器宽度为31,步长为n=2。每层滤波器的数量增加,这样深度就会随着宽度(信号在时间上的持续时间)变窄而变大。每层样品×特征图的尺寸为16384×1,8192×16,4096×32,2048×32,1024×64,512×64,256×128,128×128,64×256,32×256,16×512和8×1024。网络d的卷积结构适合卷积分类网络的卷积拓扑。

判别模型d的最后一层全连接层使用一维卷积层代替减少了最终分类神经元所需的参数数量,这与所有具有线性行为的隐藏激活完全相关。这意味着我们将完全连接组件中所需参数的数量从8×1024=8192减少到8。

将生成模型g生成的预测干净音频送入判别模型d,再将真实语音样本x送入判别模型d,训练判别模型神经网络,判别模型对生成模型产生的预测干净音频判定为虚假数据给予低分(接近0),对真实干净音频样本x判定为真实数据给予高分(接近1),以此学习真实数据和预测数据的分布,使判别模型分辨出说话者的声音通过语音增强系统所生成的预测音频是否符合真实音频的分布。

网络训练损失函数定义如下:

其中e(*)表示分布函数的期望值,pdata(x)代表着真实样本的分布,pdata(z)是定义在低维度的噪声分布,通过参数为θg的g映射到高纬的数据空间得到pg=g(z,θg),以此达到最大化d的判别能力,最小化g和真实数据集的数据分布。

步骤四:测试集输入训练好的生成模型g中进行骨导语音增强,再将输出进行one_hot解码和mu_law解码,最后把增强音频片段进行合成原始音频流。

本发明使用生成对抗性框架实现了一种端到端的骨导语音增强方法。该模型作为一种完全卷积的网络结构,使增强波形块的运算速度更快。模型直接在波形层次上工作,将因果滤波器和膨胀的卷积函数结合起来,使它们的接收场随深度呈指数增长,这对于模拟音频信号中的长时相依性是很重要的。结果表明,该方法达到了良好的骨导语音增强效果,增强后的语音高频信号得到了有效恢复,尤其在平均主观测试中有着特别好效果,是一种有效的替代现有方法的方法。

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