一种基于多阶段注意力网络的语音增强方法与流程

文档序号:32950948发布日期:2023-01-14 13:31阅读:97来源:国知局
一种基于多阶段注意力网络的语音增强方法与流程

1.本发明属于语音信号前端处理技术领域,具体涉及一种基于多阶段注意力网络的语音增强方法。


背景技术:

2.语音增强作为一种前端信号处理技术,能够将带噪语音中的噪声消除,提取纯净语音,该技术在语音识别,人工耳蜗和通信等领域具有广泛应用前景。
3.近年来,得益于人工智能技术的快速发展,相比于依赖假设的传统语音增强方法,基于深度学习的有监督语音增强方法能够更好解决低信噪比条件中非平稳噪声的降噪问题。在基于深度学习的增强中,通过构建深度神经网络提取样本语音数据特征,自动学习数据中含噪语音和纯净语音之间的非线性映射关系,避免传统方法的固有缺陷,取得更好的降噪效果。
4.而目前的基于深度学习的语音增强中,循环神经网络(rnn)作为一种具有记忆功能并适合处理和预测时间序列的神经网络,常被应用于对音频序列数据建模。但由于rnn本身计算的特性,其输出只受当前帧和上一帧输出的影响,对于距离较远的信息无法关注。而语音作为一种时间序列,当前时刻的信息与序列中其他时刻的信息是相关的,即上下文信息对于语音建模非常重要。而transformer网络(一种神经网络模型)由于其自身的多头自注意力机制,在对序列建模时会将当前帧的信息和所有帧的信息进行加权计算,从而捕捉数据的长时依赖特性,对于语音的全局上下文信息建模更有帮助。此外,只在单个阶段对语音序列全局信息建模时,会容易忽略其中的局部细节信息,使得模型提取特征不完整,进而可能导致模型性能下降。


技术实现要素:

5.针对现有技术存在的不足,本发明提供一种基于全局上下文感知和局部注意力的语音增强方法,该方法旨在:(1)构建一种双路并行transformer结构,该结构包含两个支路模块,两个支路模块以并联的方式连接到一起处理输入数据,达到降低不同支路模块输出性能的差异的目的;同时支路模块都是有transformer网络组成,通过transformer擅长捕捉序列信息中长时依赖特性的特性,使模型具备全局上下文感知的能力。(2)进一步的,为避免语音中的局部信息被忽略,通过加入通道注意力和空间注意力模块,利用卷积神经网络中擅长捕捉数据局部特征的能力,对语音的局部细节信息进行建模,捕捉重要的音节、音素等特征信息。
6.本发明所述基于多阶段注意力网络的语音增强方法,包括如下步骤:s1.构建语音样本数据集,对其进行预处理,得到以三维矩阵形式表示语音样本数据的输入语音三维矩阵;s2.构建基于全局上下文感知和局部注意力的语音增强模型,所述语音增强模型包括编码器、与编码器连接的增强网络和与增强网络连接的解码器;所述增强网络由两个
相互连接的模块构成,包括与编码器连接的全局上下文感知模块和与解码器连接的局部注意力模块;其中所述全局上下文感知模块由多个双路并行转换模块组成,所述局部注意力模块由通道注意力模块和空间注意力模块组成;s21.把步骤s1得到的输入语音三维矩阵e送入编码器进行编码处理,得到编码器输出矩阵x:x=f
encoder
(e)其中,,表示x为维度大小为[c,n,i]的三维矩阵,c表示编码器的输出卷积通道数,i表示输出矩阵x最后一维的维数,f
encoder
()表示编码器的特征映射;s22. 编码器输出矩阵x输入增强网络进行数据处理,具体为:s221. 四个双路并行转换模块分别为两个块内转换模块(trasnformer)和两个块间转换模块,编码器输出矩阵x直接输入块内转换模块,同时并转换维度为 [c,i,n]后再输入到块间转换模块;所述转换模块中的对输入的矩阵x进行加权计算,得到注意力加权后的自注意力矩阵,其计算方式如下:其中,q,k,v是由编码器输出矩阵x分别经过线性变换得到的三个矩阵,其维度与x相同,下标i表示第i个线性变换矩阵,head表示自注意力矩阵,attention()表示自注意力计算函数,t表示矩阵转置操作, softmax()表示激活函数,d表示键向量k的维度大小;q表示查询向量,k表示键向量,v表示值向量,q=x*wq, k=x*wk,v=x*wv,其中,wq表示查询向量q的线性变换权重矩阵,wk表示键向量k的线性变换权重矩阵,wv表示值向量v的线性变换权重矩阵,输出矩阵x分别乘以各个权重矩阵,得到q,k,v,各个权重矩阵都来源于深度神经网络线性层中的参数;在计算得到每一个自注意力矩阵headi后,进行拼接操作和线性变换,形成多头自注意力函数,过程如下:其中,multihead()表示多头自注意力函数,concat()表示矩阵拼接操作, wh表示线性变换操作,上标h表示注意力的个数;通过将编码器输出矩阵x输入到双路并行转换模块中处理,通过双路径并行处理的结构,并结合多头自注意力机制,去处理矩阵中全局上下文信息;经过全局上下文感知转换模块的多头自注意力加权处理后得到一个加权矩阵x
t
,x
t =f
tfm
(x)其中, 加权矩阵,表示x
t
为维度大小为[c,n,i]的三维矩阵,f
tfm
()表示转换模块的特征映射,即表示经过全部多个双路并行转换模块(trasnformer)的加权过
程;s222.将加权矩阵x
t
输入通道注意力模块中,通过平均池化和最大池化操作分别生成最大池化输出矩阵和平均池化输出矩阵,将二者输入到通道注意力模块中的同一卷积层中进行处理,再将两个对应的输出相加后送入到sigmoid函数中,得到通道注意力矩阵;其中,mc表示通道注意力矩阵,conv()表示卷积层操作;然后将 x
t
与通道注意力矩阵mc相乘再与其本身相加,得到通道注意力模块输出矩阵xc,表示如下: x
c =f
cam
(x
t
,mc)= x
t

mc⊕
x
t
空心圆中心加点的符号

为哈达玛积的符号,表示相同维度的矩阵各元素对应相乘,

表示残差连接;其中, ,表示xc为维度大小为[c,n,i]的三维矩阵,f
cam
()表示通道注意力模块的特征映射;s223. 将加权矩阵x
t
同时输入所述空间注意力模块,对加权矩阵x
t
进行基于全局最大池化和全局平均池化的操作,分别产生全局最大池化矩阵和全局平均池化矩阵,再将二者拼接并送入卷积层进行特征融合,最终得到空间注意力函数ms,其中,ms表示空间注意力,concat()表示矩阵拼接操作, conv()表示卷积层操作,sigmoid表示sigmoid函数;将s222步骤得到的通道注意力模块输出矩阵xc与本步骤得到的空间注意力函数ms相乘并使用残差连接,得到空间注意力输出矩阵xs,表示如下:xs=f
sam
(xc,ms)=xc⊙ms

xc其中,xs表示空间注意力输出矩阵, ,表示xs为维度大小为[c,n,i]的三维矩阵, f
sam
()表示空间注意力模块的特征映射;s224.将空间注意力输出矩阵xs输入到掩蔽层当中,提取特征得到掩蔽矩阵m,所述掩蔽层由一个二维卷积层和prelu函数组成,特征映射为先进行卷积操作后再输入prelu函数:m= f
mask
(xs)其中,m表示掩蔽矩阵,,f
mask
()表示掩蔽层的特征映射;s23.将编码器输出矩阵x与掩蔽矩阵m相乘,然后输入到解码器当中,得到解码器输出矩阵y:y=f
decoder
(x

m)
其中, ,表示y为维度大小为[1,n,i]的三维矩阵,f
decoder
()表示解码器的特征映射;将解码器输出矩阵y进行重叠相加操作,即将三维的解码器输出矩阵y拆分为长度为f的n帧数据,再把每帧数据重新拼接形成长度为l的一维语音序列,最终重构出所需的增强语音y,;优选的,所述s1步骤中的预处理为: s11.将语音数据降频采样; s12.对降频采样后的数据进行分段处理,将一维语音序列按帧进行分割,然后将每一帧的数据重新拼接到一起,得到一个三维矩阵数据。
[0007]
其中输入语音序列记为,l是一维语音序列长度,对序列进行分帧处理,帧移大小记为p,将每一帧的数据进行拼接操作,形成维度大小为[1,n,f]的输入语音三维矩阵,其中f代表每帧的长度,n代表帧数。
[0008]
优选的,所述s2 步骤中构建的语音增强模型在构建完成后采用以下方法进一步训练:s31.将语音样本数据分批输入进语音增强模型;s32.输出增强语音;s33.将增强语音和输入的语音样本数据进行误差计算;s34.误差反向传播,更新语音增强模型参数;s35.重复过程s31至s34,直至满足收敛条件。
[0009]
优选的,所述s33步骤中通过时域均方差损失函数和频域均方差损失函数进行误差计算。
[0010]
优选的,所述全局上下文感知模块由四个双路并行转换模块组成。
[0011]
本发明所述的基于多阶段注意力网络的语音增强方法,使用不同的模块去兼顾语音中的全局上下文信息和局部细节信息,通过构建双路并行transformer模块,将当前帧的信息和其他每一帧的信息进行加权计算,达到对语音的全局上下文信息进行建模的效果;引入通道注意力和空间注意力模块,对语音高维特征中的通道信息和空间信息进行建模,在保证模型关注全局上下文信息的基础上进一步加强模型捕捉局部细节特征的能力。
[0012]
本发明能够在语音特征建模阶段兼顾全局上下文信息和局部细节特征,有效提升模型的语音增强性能,改善语音质量及提高可懂度。
附图说明
[0013]
图1是本发明所述语音增强模型的一个具体实施方式示意图;图2是本发明所述双路并行transformer模块的具体工作方式示意图。
具体实施方式
[0014]
下面对本发明的具体实施方式作进一步的详细说明。
[0015]
本发明所述的基于多阶段注意力网络的语音增强方法,采用以下步骤实现:s1.构建语音样本数据集,对其进行预处理,步骤如下:s11.将原本采样率为48000hz的纯净语音数据和含噪语音数据降采样到16000hz,目的是为了降低频率,减少数据量;s12.对降频后的数据进行分段处理,将输入语音序列按帧进行分割,然后将每一帧的数据重新拼接到一起,得到一个三维矩阵数据。
[0016]
其中输入语音序列记为 ,l是输入语音序列长度,对输入语音序列进行分帧处理,帧移大小记为p,分帧后得到n帧,每一帧语音数据是一个大小为[1,f]的二维矩阵,将每一帧的数据进行拼接操作,即将n个大小为[1,f]的二维矩阵重叠拼接到一起,形成一个维度大小为[1,n,f]的输入语音三维矩阵,记为,其中,f代表每帧的长度, n的计算过程如下:s2.构建基于全局上下文感知和局部注意力的语音增强模型并处理语音样本数据集,具体示意图如附图1 所示。
[0017]
其中语音增强模型包括:编码器、增强网络和解码器;所述增强网络由两个模块构成,包括全局上下文感知模块和局部注意力模块;其中所述全局上下文感知模块由四个双路并行transformer组成,所述局部注意力模块由通道注意力模块和空间注意力模块组成;采用上述语音增强模型处理语音样本数据集的具体步骤如下:s21.把步骤s1处理后得到的输入语音三维矩阵e送入编码器,编码器由二维卷积层组成,对矩阵信息进行特征编码,然后输入到增强网络中进行特征提取;输入语音三维矩阵e输入到编码器中通过二维卷积层进行编码处理,得到编码器输出矩阵,过程表示如下:x=f
encoder
(e)其中,x是编码器输出矩阵,,c表示编码器的输出卷积通道数,i表示输出矩阵x最后一维的维数,f
encoder
()表示编码器的特征映射,其中c和i由卷积神经网络的配置决定。
[0018]
s22.在增强网络中,使用双路并行transformer网络作为全局上下文感知模块,使用通道注意力和空间注意力网络作为局部注意力模块,达到兼顾语音的全局上下文信息和局部细节特征的目的,各注意力模块具体如下所示:s221.如图1和2所示,四个双路并行transformer模块结构相同,每一个双路并行transformer模块由一个块内transformer模块和一个块间transformer模块组成,通过使用块内和块间两种transformer模块并联的方式,利用transformer网络中的多头自注意力机制,对语音特征序列中不同维度信息交替建模,在保证提取丰富的语音序列特征的前提下,又尽量避免原始输入特征的丢失,并且通过并联输入的方式能够减少两个子模块输出性能的差异,从而达到有效关注全局上下文信息的目的。
[0019]
使用transformer模块的数量过少,会由于网络层数不够深,特征提取能力下降,
难以获取所需的高维全局特征信息,而该模块若使用过多,会使模型参数、计算消耗显著增加,所以经综合考量和参考其他相关增强方案的配置,选择使用四个双路并行transformer模块作为全局上下文感知模块 ,即能保证模型性能,又不会使模型参数增加过多。
[0020]
进一步地,所述两种transformer模块分别为块内transformer模块和块间transformer模块,其组成结构相同,但输入到两个模块中的数据维度排列不同,其中输入到块内transformer模块的矩阵维度为[c,n,i],并通过转置操作将维度变换为[c,i,n]后再输入到块间transformer模块,其目的在于使矩阵不同维度的信息都能得到关注,获取一个更完整的全局上下文特征;当每批训练数据较小时,其中的组归一化模块能够减少数据归一化的误差。
[0021]
所述transformer模块中的多头自注意力机制采用的是一种缩放点积形式进行计算,通过点乘的方式对输入序列不同位置的信息计算权重,对当前帧数据与所有帧数据的相关性进行加权计算,最终得到一个经过注意力加权后的输出序列,其计算方式如下:其中,下标i表示第i个线性变换矩阵,head表示自注意力矩阵,attention()表示自注意力计算函数,t表示矩阵转置操作,q表示查询向量,k表示键向量,v表示值向量,softmax()表示激活函数,d表示键向量k的维度大小, q,k,v是由编码器输出矩阵x分别经过线性变换得到的三个矩阵,其维度与x相同。
[0022]
其中q表示查询向量,k表示键向量,v表示值向量,q=x*wq,k=x*wk,v=x*wv,wq表示查询向量q的线性变换权重矩阵,wk表示键向量k的线性变换权重矩阵,wv表示值向量v的线性变换权重矩阵,输出矩阵x分别乘以各个权重矩阵,得到q,k,v,各个权重矩阵来源于深度神经网络线性层中的设定参数。
[0023]
在计算得到每一个自注意力的矩阵后,将这些矩阵进行拼接操作,经过一个线性变换,最终形成多头自注意力,过程如下:muletihead(qi, ki, vi)=concat(head1,... , headi)wh其中,其中,multihead()表示多头自注意力函数,concat()表示矩阵拼接操作, wh表示线性变换操作,上标h表示注意力的个数。
[0024]
进一步地,将编码器输出矩阵x输入到双路并行transformer模块中处理,通过双路径并行处理的结构,并结合多头自注意力机制,去处理矩阵中全局上下文信息,处理后得到一个加权后矩阵x
t
,过程如下表示:经过transformer模块的上述处理后得到一个加权矩阵x
t
,x
t =f
tfm
(x)其中,加权矩阵,表示x
t
为维度大小为[c,n,i]的三维矩阵,f
tfm
()表示transformer模块的特征映射。
[0025]
multihead()表示单个transformer模块的输出,而f
tfm
()表示整个全局上下文感知模块的处理过程,即f
tfm
()表示经过多个transformer模块输出的用于加权的过程。
[0026]
s222.所述通道注意力模块中,加权矩阵x
t
通过平均池化和最大池化操作分别生
成最大池化输出矩阵和平均池化输出矩阵,将二者输入到同一个卷积层中进行处理,再将两个对应的输出相加后送入到sigmoid函数中,得到通道注意力矩阵;其中,mc表示通道注意力矩阵,conv()表示卷积层操作;然后将 x
t
与通道注意力矩阵mc相乘再与其本身相加,相当于对特征矩阵进行加权,得到通道注意力模块输出矩阵xc,表示如下:xc=f
cam
(x
t
,mc)=x
t

mc⊕
x
t
其中,,表示xc为维度大小为[c,n,i]的三维矩阵,f
cam
()表示通道注意力模块的特征映射。
[0027]
s223. 将加权矩阵x
t
同时输入所述空间注意力模块,所述空间注意力模块是对矩阵中的空间维度进行建模,将输入特征对其进行基于全局最大池化和全局平均池化的操作,分别产生全局最大池化矩阵和全局平均池化矩阵,再将二者进行拼接形成一个新的矩阵,送入卷积层进行特征融合,最终得到空间注意力函数,过程如下:其中,ms表示空间注意力函数,conv()表示卷积操作,sigmoid表示sigmoid函数。
[0028]
然后将通道注意力模块输出矩阵xc与空间注意力ms相乘并使用一个残差连接,最终得到空间注意力输出矩阵xs,表示如下:xs=f
sam
(xc,ms)=xc⊙ms

xc其中,xs表示空间注意力模块输出矩阵,同时也表示经过多个注意力模块加权后得到的输出矩阵,,f
sam
()表示空间注意力模块的特征映射。此处采用残差连接可以防止训练时模型过拟合,梯度消失等问题。
[0029]
s224.进一步地,将xs输入到掩蔽层,提取特征得到掩蔽矩阵,所述掩蔽层是由一个二维卷积和prelu函数组成,过程如下表示:m= f
mask
(xs)其中,m表示掩蔽矩阵,,f
mask
()表示掩蔽层的特征映射,掩蔽层的作用是生成一个特征掩蔽矩阵,该特征掩蔽矩阵矩阵包含所有的特征信息,类似于一个权重矩阵,将输入的矩阵与该特征掩蔽矩阵相乘,就能够对输入矩阵内部的数据进行加权,增强重要的语音特征信息,削弱不重要的噪声特征信息,以此达到降噪目的。
[0030]
s23.进一步地,将编码器输出x与特征掩蔽m相乘,然后输入到解码器当中,得到解码器的输出矩阵,所述解码器依然由二维卷积组成,过程如下表示:y=f
decoder
(x

m)其中,y是解码器输出矩阵,,f
decoder
()表示解码器的特征映射。
[0031]
进一步地,将解码器输出矩阵y进行重叠相加操作,即将三维矩阵拆分为长度为l的n帧数据,再把每帧数据重新加起来形成一维语音序列,最终重构出所需的增强语音记为
y,记为。
[0032]
s3.对本发明所提出模型进行迭代训练,具体如下:s31.将语音样本数据分批输入进语音增强模型;s32.输出增强语音;s33.将增强语音和输入的语音样本数据进行误差计算;可通过时域均方差损失函数和频域均方差损失函数进行误差计算。
[0033]
s34.误差反向传播,更新语音增强模型参数;s35.重复过程s31至s34,直至满足收敛条件。
[0034]
为验证本发明提出方法的有效性,将所提出方法与其他语音增强方法进行实验对比,对比方法包括对比方法1:基于生成对抗网络的语音增强方法(segan)、对比方法2:基于wave-u-net的语音增强方法、对比方法3:基于最小均方误差及生成对抗网络的语音增强方法(mmse-gan)、对比方法4:基于评价方式及生成对抗网络的语音增强方法(metrcigan)和对比方法5:基于双路transformer的语音增强方法(tstnn)。
[0035]
实验数据集采用的是爱丁堡大学的开源标准语音数据集,该数据集的语音来自已公开的语料库voice bank,该数据集的噪声来自已公开的噪声数据集demand。
[0036]
实验中使用的评价方法包括:语音质量感知评估(perceptual evaluation of speech quality,pesq),用于评价语音质量,分数范围为-0.5到4.5,得分越高,说明语音质量越好;综合客观测量(composite objective measures),该评价方法包括三个指标,信号失真综合测量(composite measure for signal distortion,csig)、噪声失真综合测量(composite measure for noise distortion,cbak),以及整体语音质量综合测量(composite measure for overall speech quality,covl),这三个指标分数范围都是1到5,得分越高,说明模型的性能越好。
[0037]
对于不同语音增强方法的性能评估实验结果如表1所示。
[0038]
表1: 不同语音增强方法性能评估结果表中pesq,csig,cbak,covl分别表示语音质量感知评估分,信号失真综合测量分,噪声失真综合测量分和整体语音质量综合测量分。
[0039]
在实验中分别对时域语音增强方法和频域的语音增强方法进行对比,保证实验结果的充分性。从表1结果来看,本发明所提出的方法在pesq、csig、cbak和covl指标上均高于其他对比算法,可验证本发明所提出方法在语音增强方面具有一定的优越性。
[0040]
本发明在语音增强阶段通过构建一种双路并行transformer网络,利用擅长捕捉
序列信息中长时依赖的特性,使模型具备全局上下文感知的能力,同时通过并行处理数据方式,降低不同支路模块输出性能的差异;并且在保证全局信息建模后,局部信息可能被忽略的情况,加入通道注意力和空间注意力机制,利用卷积神经网络中擅长捕捉数据局部特征的能力,对语音的局部细节信息进行建模。经实验验证,该方法在语音增强的性能表现方面,相比原始噪音pesq提升1.09,csig提升1.01,cbak提升1.16,covl提升1.10,具备有效的增强性能。
[0041]
前文所述的为本发明的各个优选实施例,各个优选实施例中的优选实施方式如果不是明显自相矛盾或以某一优选实施方式为前提,各个优选实施方式都可以任意叠加组合使用,所述实施例以及实施例中的具体参数仅是为了清楚表述发明人的发明验证过程,并非用以限制本发明的专利保护范围,本发明的专利保护范围仍然以其权利要求书为准,凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1