基于自蒸馏预训练和元学习微调的远场说话人确认方法

文档序号:35704339发布日期:2023-10-12 04:12阅读:58来源:国知局
基于自蒸馏预训练和元学习微调的远场说话人确认方法

本发明涉及语音信号处理,具体涉及一种基于自蒸馏预训练和元学习微调的远场说话人确认方法。


背景技术:

1、说话人确认的任务是判断一段测试语音是否与注册语音来自同一个说话人。近年来,基于深度神经网络的说话人确认方法取得了突破性进展,在受控条件下(例如近距离谈话场景、干扰较少)取得了令人满意的效果。然而在远场发音的条件下,语音信号强度衰减、空间混响和环境噪声干扰使得已有说话人确认方法的性能显著下降。为了缓解远场发音对说话人确认方法性能的影响,现有技术手段主要包括:前端语音信号增强和模型域自适应。

2、前端语音信号增强通过引入额外的前端处理模块,对输入语音进行放大、降噪和去混响等处理。典型的方法包括维纳滤波、卡尔曼滤波、加权预测误差等基于传统数字信号处理的算法和基于深度神经网络的算法。此类技术的优点是可以直接使用现有的说话人确认模型,无须对已有模型做任何修改;缺点是会增加整个方法的参数量和计算量。此外,有可能在滤除噪声的同时损坏语音样本中的说话人信息。

3、模型的域适应技术将远场说话人确认看作一个域适应问题,通过域对抗训练、最大均值差异等方法将在近场数据集上训练的模型迁移到目标域的远场数据集上。此类技术虽然能够取得一定的性能提升,但存在训练时难以收敛等问题。同时,为了实现域适应,需要预先收集一定数量的目标域远场语音样本,具有一定的局限性。此类方法主要聚焦于训练集和测试集之间的域不一致,而没有关注说话人确认中注册语音和测试语音的域不一致问题。


技术实现思路

1、本发明的目的是为了解决注册语音与测试语音录制场景不一致引起的说话人识别方法性能下降问题,提供一种基于自蒸馏预训练和元学习微调的远场说话人确认方法,将自蒸馏学习、元学习与现有用于说话人识别深度神经网络进行结合,实现一种近场注册远场测试的说话人确认方法。自蒸馏学习是一种能够有效提升深度神经网络性能的训练方法,利用深度神经网络网络最后一层的输出作为额外的监督信息指导网络中间层的训练,使深度神经网络生成更加鲁棒的深度特征。元学习是一种能够提升深度神经网络泛化性的训练策略,通过在支持集和查询集中分别模拟不同的噪声环境,使在不同噪声环境中录制的相同说话人的语音样本经过网络变换得到的深度特征在特征空间中尽可能接近,而不同说话人语音样本的深度特征尽可能远离,使深度神经网络具备生成域不变特征的能力。

2、本发明的目的可以通过采取如下技术方案达到:

3、一种基于自蒸馏预训练和元学习微调的远场说话人确认方法,所述远场说话人确认方法包括以下步骤:

4、s1、建立语音数据集:将语音数据集划分为预训练数据集的近场训练语音、微调数据集远场训练语音、评估数据集的近场注册语音和评估数据集的远场测试语音;

5、s2、提取对数梅尔谱特征:从预训练数据集的近场训练语音、微调数据集的远场训练语音、评估数据集的近场注册语音和远场测试语音分别提取对数梅尔谱特征,提取过程包括预加重、分帧、加窗、傅里叶变换、梅尔滤波、对数运算和归一化;

6、s3、构建并初始化自蒸馏学习框架:所述自蒸馏学习框架包括主干神经网络、以及仅用于自蒸馏预训练阶段的分支神经网络;

7、s4、自蒸馏预训练主干神经网络:将近场训练语音的对数梅尔谱特征输入自蒸馏学习框架中的主干神经网络,利用分支神经网络,通过优化分类损失函数和自蒸馏损失函数,将主干神经网络最后一层的输出作为额外监督信息,指导主干神经网络中间层的训练,迭代更新得到经过预训练的主干神经网络;

8、s5、元学习微调主干神经网络:将远场训练语音的对数梅尔谱特征输入经过预训练的主干神经网络,通过元学习方法对经过预训练的主干神经网络的网络参数进行微调,迭代更新主干神经网络直至收敛;

9、s6、说话人确认:将评估数据集的近场注册语音和远场测试语音组成测试样本对,包括正样本对和负样本对,其中,正样本对的两个语音属于相同说话人,负样本对的两个语音样本属于不同说话人;将测试样本对的对数梅尔谱特征输入经过预训练和微调的主干神经网络,得到测试样本对的深度特征,计算测试样本对的深度特征之间的相似度,若两者之间的相似度大于预先设定的阈值,则认为上述两段语音来自同一个说话人,反之则不是。

10、进一步地,所述步骤s2的过程如下:

11、s2.1预加重:利用预加重提高高频分量,即对高频分量进行补偿.采用一阶高通滤波器对输入的预训练数据集的近场训练语音、微调数据集的远场训练语音、评估数据集的近场注册语音和远场测试语音进行预加重处理,滤波器的传递函数为h(z)=1-αz-1,其中0.9≤α≤1;

12、s2.2、分帧:对预加重后的近场训练语音、远场训练语音、近场注册语音和远场测试语音进行分帧处理,得到短时语音帧;其原因是因为信号中的频率会随时间变化,为了避免信号的频率轮廓随着时间的推移而丢失,需要对信号进行分帧处理,认为每一帧之内的信号是短时不变的;

13、s2.3、加窗:利用加窗使帧两端平滑地衰减,降低后续傅里叶变换旁瓣的强度,从而得到更高质量的频谱;对短时语音帧进行加窗处理,选择汉明窗作为窗函数,将其与每帧语音相乘得到加窗后的短时语音帧;

14、s2.4、提取对数梅尔谱:对加窗的短时语音帧进行离散傅里叶变换,得到对应的线性谱,再采用梅尔滤波器将线性频谱转化为梅尔谱,最后对梅尔谱取对数得到对数梅尔谱;

15、s2.5,归一化:采用局部倒谱均值归一化方法对所述对数梅尔谱特征进行处理,得到归一化特征。通过对声学特征向量进行均值归一化,能够将各个频带的能量都缩放到相同的级别,从而使得不同说话人的声音特征在频域上更加一致,具有可比性,能够更好地对不同说话人进行分类和识别。

16、进一步地,所述步骤s3的过程如下

17、s3.1、构建主干神经网络:所述主干神经网络包括顺序连接的卷积输入层、第一卷积模块、第二卷积模块、...、第n卷积模块、卷积降维层、注意力统计池化层和全连接层,其中,全连接层的输出为最终的说话人深度特征,卷积模块数n和卷积模块的具体结构根据选择的主干神经网络确定;卷积输入层的作用是将低维的输入声学特征映射到语义信息丰富的高维特征图,第一至第n卷积模块的作用是学习并从高维特征图提取与区分不同说话人的关键特征,卷积降维层、注意力统计池化层和全连接层的作用是去除高维特征图中的冗余信息,并将其映射到低维的特征空间,便于识别和分类;

18、s3.2、构建分支神经网络:所述分支神经网络包括顺序连接的瓶颈模块、统计池化层和全连接层;分支神经网络仅在自蒸馏预训练阶段使用,用于计算自蒸馏损失,分支神经网络的输入为主干神经网络中第一至第n-1卷积模块的输出,将以第一卷积模块的输出作为输入的分支神经网络称为第一分支神经网络、将以第二卷积模块的输出作为输入的分支神经网络称为第二分支神经网络、......、将以第n-1卷积模块的输出作为输出的分支神经网络称为第n-1分支神经网络;使用分支神经网络的原因是各卷积模块的输出包含的说话人特征信息的纯净程度不一致,直接与主干神经网络的输出进行交互会对主干神经网络的训练产生负面的影响;

19、进一步地,所述步骤s4的过程如下:

20、s4.1、提取主干深度特征:将步骤s1中提取的近场训练语音对数梅尔谱特征输入主干神经网络,得到主干神经网络的全连接层输出作为主干深度特征;

21、s4.2、提取分支深度特征:对同一输入,将主干时延神经网络中的第一到第n-1卷积模块的输出分别输入到第一到第n-1分支神经网络,得到第一分支深度特征到第n-1分支深度特征;

22、s4.3、更新主干神经网路和分支神经网络参数:基于主干神经网络输出的主干深度特征、第一到第n-1分支神经网络输出的第一到第n-1分支深度特征计算分类损失函数和蒸馏损失函数,通过反向传播算法同时更新主干神经网络、第一到第n-1分支神经网络的参数,其中分类损失和蒸馏损失函数定义如下:

23、分类损失函数:在第一到第n-1分支神经网络和主干神经网络的全连接层后连接结构相同的线性分类器,分别对应第一到第n-1线性分类器和第n线性分类器,对于其中一个线性分类器c,设其输入为维度是d的深度特征,由表示,对应的真实标签为说话人yi∈{1,2,...,k},其中k为说话人类别数,线性分类器的参数表示为则z被分类为说话人yi的概率为:

24、其中,s和m分别为缩放因子和间隔参数,为线性分类器c中说话人yi所对应的参数与输入的深度特征z之间的角度,由此计算出每一个输入深度特征的预测概率分布;s和m的作用是减小线性分类器输出对应真实标签的概率,因此,为了得到正确的分类结果,第一到第n-1分支神经网络和主干神经网络必须生成更具有区分性的深度特征,使训练过程更加有效;

25、分别在各线性分类器上对输入深度特征计算预测概率分布,则分类损失函数如下:

26、其中,crossentropy(·)代表交叉熵损失,pi为第i线性分类器输出的预测概率分布,y为真实说话人类别标签;

27、蒸馏损失函数等于下述两个项之和,即第一到第n-1线性分类器的预测概率分布与第n线性分类器的预测概率分布之间的kullback-leible散度损失值、第一到第n-1分支深度特征与主干深度特征之间的l2距离和的加权值,蒸馏损失函数的计算公式如下:

28、

29、其中,kl(·)代表kullback-leible散度,||·||2代表l2距离,pi和pn分别代表第i线性分类器和第n线性分类器的预测概率分布,fi和fn分别代表第i分支深度特征和主干深度特征,λ为平衡超参数,自蒸馏学习预训练的总体损失函数的表达式为:ltotal=β·ldis+(1-β)lcls

30、其中,β为权衡参数,用于平衡两个损失对网络的影响;在分类损失函数中,对主干神经网络以及主干神经网络中的各卷积模块计算分类损失函数,使主干神经网络中各卷积模块直接从真实说话人类别标签中进行监督学习,可以有效缓解深度学习中神经网络层数过深时,反向传播算法的梯度消失问题,使主干神经网络各卷积模块的参数得到更加充分的训练,进而生成更加具有区分度的深度特征;在蒸馏损失函数中,主干神经网络根据卷积模块的先后顺序可以分为由浅至深的多个部分,随着深度地增加,提取的深度特征的抽象程度和区分度也逐渐增加,一方面,通过引入第一到第n-1线性分类器的预测概率分布与第n线性分类器的预测概率分布之间的kullback-leible散度损失值,使得主干神经网络最深层所学习到的知识能够传递给各卷积模块,同时也能防止主干神经网络做出过于自信的预测结果,起到了正则化的作用,能够有效避免过拟合的情况;另一方面,通过第一到第n-1分支深度特征与主干深度特征之间的l2距离,可以驱使主干神经网络中各卷积模块输出的分支深度特征与主干深度特征尽可能地接近,使得各分支深度特征更具有区分度;

31、进一步地,所述步骤s4中元学习方法是一种能够提升深度神经网络泛化性的训练策略;常规的监督学习方法在训练数据集上计算分类损失更新深度神经网络参数,深度神经网络倾向于过度拟合训练数据集,生成在训练数据集中的不同类别间具有区分度的深度特征,而对新类的泛化性较差;元学习方法以任务为训练单元,每个任务由一个支撑集和一个查询集构成,用于模拟测试时的任务场景,其中,支撑集中包含k个不同类别且每个类别n个样本,查询集中包含与支撑集相同的k个不同类别且每个类别m个样本;这种训练策略被称为k-way,n-shot的元学习策略。

32、进一步地,所述步骤s5的过程如下:

33、s5.1、构建元学习任务:采用k-way,n-shot的元学习策略,每一轮训练迭代,从微调数据集中抽取k个不同说话人且每人n个语音作为支撑集;抽取与支撑集相同的k个说话人且每人m个语音作为查询集,查询集中各说话人语音与支撑集中各说话人语音不相同,其中,支撑集中各说话人的语音和查询集中各说话人的语音来自不同的录制环境;构建的支撑集中的语音相当于近场注册语音,构建的查询集中的语音相当于远场测试语音,通过构建录制环境不同的支撑集和查询集,模拟了测试样本对组成,这样的元学习任务可以使主干神经网络更好地适应实际任务的需要。

34、s5.2、计算支撑集各说话人中心特征:将上述支撑集中各说话人的语音的对数梅尔谱特征输入经过预训练的主干神经网络,得到各说话人语音的深度特征,然后计算上述各说话人语音的深度特征均值作为各说话人的中心特征,公式如下:

35、其中,sk为支撑集中说话人k的语音样本集合,x为经过预训练的主干时延神经网络输出的说话人深度特征;

36、s5.3、更新主干神经网络参数:计算上述查询集中各说话人语音的深度特征与支撑集中各说话人中心特征之间的余弦距离,根据查询集中各说话人语音对应的真实标签,计算角度原型损失,公式如下:

37、

38、其中,m为查询集中的语音个数,ck代表支撑集中说话人k的中心特征,xj代表查询集中第j个语音的深度特征,cj代表支撑集中与xj的真实标签所对应的说话人中心特征,w和b分别为可学习的尺度因子和偏置;训练过程中,通过不断减小lap损失值,缩小查询集中各说话人语音的深度特征与支撑集中相同说话人语音的中心特征之间的距离、增大与支撑集中不同说话人语音的中心特征之间的距离,同时使不同噪声环境中语音的深度特征对齐。

39、进一步地,所述步骤s6的过程如下:

40、s6.1、生成测试样本对:将评估语音数据集的近场注册集中的语音和远场测试集中的语音间两两组合,生成测试样本对,包括正样本对和负样本对,其中,正样本对的两个语音属于相同说话人,负样本对的两个语音样本属于不同说话人;

41、s6.2、提取深度特征:将上述测试样本对的对数梅尔谱特征输入经过预训练和微调的主干神经网络,得到测试样本对的深度特征;

42、s6.3、判决:计算测试样本的深度特征之间的相似度,根据预先设定的阈值,判断测试样本对中的两个语音是否来自同一说话人。

43、本发明相对于现有技术具有如下的优点及效果:

44、(1)本发明使用自蒸馏方法对深度神经网络进行预训练,一方面,在深度神经网络的总体损失函数中加入中间层特征的分类损失,能够使深度神经网络各中间层生成的更具有类区分度的深度特征,进而提升使深度神经网络生成的深度特征的类区分度;另一方面,蒸馏损失起到了正则化的作用,能够有效避免过拟合的情况,提升深度神经网络生成的深度特征的泛化性。将自蒸馏训练应用于基于深度神经网络的说话人确认中,在几乎不增加训练成本的情况下,有效提升了深度神经网络的性能,使深度神经网络生成更加鲁棒的说话人深度特征;

45、(2)本发明进一步使用元学习方法对经过预训练的深度神经网络进行微调,构造包含在不同环境下录制的语音样本的支撑集和查询集,通过三角原型损失函数,将相同说话人的不同录制环境下的深度特征在特征空间中更加紧凑,不同说话人的深度特征在特征空间中彼此远离。可以有效缓解实际应用中注册语音和测试语音信道噪声、混响环境不一致所造成的神经网络性能衰减问题。例如在智能家居系统中,用户在终端进行语音注册,智能家居系统可对用户在家中距离终端任意位置发出的语音进行远场识别。

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