会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~

一种说话人语音验证方法、装置和电子设备

申请号 CN202410082354.9 申请日 2024-01-19 公开(公告)号 CN117912468A 公开(公告)日 2024-04-19
申请人 长沙理工大学; 发明人 向凌云; 周静涵; 欧成富;
摘要 本 发明 提供一种说话人语音验证方法、装置和 电子 设备,属于语音处理技术及信息安全技术领域。方法包括:预训练语音特征提取‑教师模型;基于语音特征提取‑教师模型对所述说话人语音验证‑学生模型进行多层知识蒸馏训练,采用结合特征知识蒸馏和解耦知识蒸馏的两层迁移学习策略,其中包括嵌入层特征知识蒸馏和逻辑层解耦知识蒸馏;基于训练好的说话人语音验证‑学生模型对目标说话人语音进行验证。采用本发明,可以缓解域失配问题,提高模型远场语音验证准确性。另外,在保证模型验证准确性的前提下,本发明通过重参数化技术减小模型的计算复杂度,提高推理速度,使其更适用于复杂的实际场景。
权利要求

1.一种说话人语音验证方法,其特征在于,所述方法包括:
构建语音特征提取‑教师模型,并对所述语音特征提取‑教师模型进行说话人语音验证的预训练;
构建说话人语音验证‑学生模型,并基于预训练后的所述语音特征提取‑教师模型对所述说话人语音验证‑学生模型进行多层知识蒸馏训练,其中:
第一层,在所述语音特征提取‑教师模型和所述说话人语音验证‑学生模型的嵌入层之间进行基于特征表示和基于特征距离的特征知识蒸馏,将所述语音特征提取‑教师模型中的说话人关键特征信息迁移至所述说话人语音验证‑学生模型;
第二层,在所述语音特征提取‑教师模型和所述说话人语音验证‑学生模型的逻辑层之间进行解耦知识蒸馏,将所述语音特征提取‑教师模型中解耦的目标类逻辑信息和非目标类逻辑信息迁移至所述说话人语音验证‑学生模型;
在所述说话人语音验证‑学生模型训练完成后,基于训练好的所述说话人语音验证‑学生模型对目标说话人语音进行验证。
2.根据权利要求1的方法,其特征在于,基于特征表示的特征知识蒸馏,包括:
通过第一损失函数L1进行基于特征表示的特征知识蒸馏,所述第一损失函数L1的计算公式如下:
其中,假定输入的成对训练样本数据为(Xt,Xs),Xt={xt,1,xt,2,L,xt,N}表示所述语音特征提取‑教师模型的输入,Xs={xs,1,xs,2,L,xs,M}表示所述说话人语音验证‑学生模型的输入;<,>表示计算特征向量的内积;fθ(·)表示所述语音特征提取‑教师模型提取的话语级说话人特征向量;fΦ(·)表示所述说话人语音验证‑学生模型中提取的话语级说话人特征向量表示。fθ(xt,i)和fΦ(xs,j)具有相同的说话人标签,fθ(xt,i)和fΦ(xs,α)具有不同的说话人标签;A(i)表示所述语音特征提取‑教师模型的训练样本下标,其对应样本的说话人标签与fθ(xt,i)不一致。
3.根据权利要求1的方法,其特征在于,基于特征距离的特征知识蒸馏,包括:
通过第二损失函数L2进行基于特征距离的特征知识蒸馏,所述第二损失函数L2的计算公式如下:
其中,L2表示两个相似度矩阵的均方误差距离,B表示训练样本数目;
s s
d表示所述说话人语音验证‑学生模型提取的说话人特征向量之间的相似度矩阵,d 的计算公式如下:
其中,FΦ=[fΦ(xs,1),fΦ(xs,2),L,fΦ(xs,B)],表示所述说话人语音验证‑学生模型提取的说话人特征向量矩阵,B表示训练样本数目,“·”表示矩阵乘法,“‑1”表示矩阵的转置;
t t
d表示所述说话人语音验证‑教师模型提取的说话人特征向量之间的相似度矩阵,d 的计算公式如下:
其中,Fθ=[fθ(xt,1),fθ(xt,2),L,fθ(xt,B)],表示所述语音特征提取‑教师模型提取的说话人特征向量矩阵。
4.根据权利要求1的方法,其特征在于,所述解耦知识蒸馏,包括:
通过第三损失函数L3进行解耦知识蒸馏,所述第三损失函数L3的计算公式如下:
L3=αTCKD+βNCKD
其中,α和β为超参数,TCKD表示目标类知识蒸馏,NCKD表示非目标类知识蒸馏。
5.根据权利要求1的方法,其特征在于,所述构建语音特征提取‑教师模型,并对所述语音特征提取‑教师模型进行说话人语音验证的预训练,包括:
基于前端预训练大模型UniSpeech‑SAT、特征融合模和后端RepVGG模型,构建语音特征提取‑教师模型;
基于近场语音样本对所述语音特征提取‑教师模型进行说话人语音验证的预训练,其中包括:
在所述前端预训练大模型UniSpeech‑SAT的卷积神经网络层中,提取所述近场语音样本的卷积特征;
在所述前端预训练大模型UniSpeech‑SAT的多层Transformer模型中,提取所述卷积特征的编码特征;
在所述特征融合模块中,将所述卷积特征和所述编码特征进行融合,得到融合特征;
将所述融合特征输入所述后端RepVGG模型,并使用交叉熵损失函数进行说话人语音验证的预训练。
6.根据权利要求5的方法,其特征在于,假设所述卷积神经网络层输出的所述卷积特征表示为H0={h1,0,L,hT,0},所述多层Transformer模型中第l层隐藏层输出的所述编码特征表示为Hl={h1,l,L,hT,l},则:
所述在所述特征融合模块中,将所述卷积特征和所述编码特征进行融合,得到融合特征,包括:
在所述特征融合模块中,基于可学习的权重ωl将所述卷积特征和所述编码特征进行融合,得到融合特征O,所述融合特征O表示如下:
O={o1,o2,L,oT}
其中,l∈{1,2,L,L},T表示序列长度,L表示隐藏层数目。
7.根据权利要求1的方法,其特征在于,所述构建说话人语音验证‑学生模型,包括:
基于短时傅里叶变换模块、梅尔频谱特征提取模块、RepVGG主干网络,构建说话人语音验证‑学生模型;
其中,所述短时傅里叶变换模块,用于将待处理的语音时域信号转换为语音频域信号;
所述梅尔频谱特征提取模块,用于提取所述语音频域信号的梅尔频谱特征;
所述RepVGG主干网络,用于基于所述梅尔频谱特征进行说话人语音验证。
8.根据权利要求7的方法,其特征在于,所述RepVGG主干网络还用于:在所述多层知识蒸馏训练的过程中,基于多分支结构进行训练;在推理时,通过重参数化技术,将所述多分支结构转换为单一路径结构。
9.一种说话人语音验证装置,其特征在于,所述装置包括:
第一构建模块,用于构建语音特征提取‑教师模型,并对所述语音特征提取‑教师模型进行说话人语音验证的预训练;
第二构建模块,用于构建说话人语音验证‑学生模型,并基于预训练后的所述语音特征提取‑教师模型对所述说话人语音验证‑学生模型进行多层知识蒸馏训练,其中:
第一层,在所述语音特征提取‑教师模型和所述说话人语音验证‑学生模型的嵌入层之间进行基于特征表示和基于特征距离的特征知识蒸馏,将所述语音特征提取‑教师模型中的说话人关键特征信息迁移至所述说话人语音验证‑学生模型;
第二层,在所述语音特征提取‑教师模型和所述说话人语音验证‑学生模型的逻辑层之间进行解耦知识蒸馏,将所述语音特征提取‑教师模型中解耦的目标类逻辑信息和非目标类逻辑信息迁移至所述说话人语音验证‑学生模型;
验证模块,用于在所述说话人语音验证‑学生模型训练完成后,基于训练好的所述说话人语音验证‑学生模型对目标说话人语音进行验证。
10.一种电子设备,包括:
处理器;以及
存储程序的存储器
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1‑8中任一项所述的方法。

说明书全文

一种说话人语音验证方法、装置和电子设备

技术领域

[0001] 本发明涉及语音处理技术及信息安全技术领域,尤其涉及一种说话人语音验证方法、装置和电子设备。

背景技术

[0002] 说话人语音验证是通过对接收的说话人语音信号进行分析和提取,以自动确定说话人是否属于所建立的说话人集合,并验证说话人身份的过程。说话人语音验证技术具有低成本、弱隐私侵犯、非接触等优点,因此在金融、安全、司法等领域具有广泛的应用前景。
[0003] 近年来,随着深度神经网络的迅速发展和大规模语音数据集可用性的提高,出现了大量基于深度神经网络的说话人语音验证方法,如典型的基于x‑vector、时滞神经网络、ResNet、ECAPA‑TDNN等说话人语音验证系统,这些方法通过在大规模语音数据集上的学习,能够获得更深层次的综合特征表示,显著提高了语音验证的准确性,特别是对于场景中干扰较少、不匹配较少的近场说话人语音验证任务下,表现出色。
[0004] 然而,当说话人语音验证系统部署在远场和噪声环境中时,上述基于深度神经网络的方法的性能明显下降。这是因为说话人语音验证系统的性能受到低信噪比或跨域不匹配条件的限制。对于远场场景,跨距离、跨信道、跨设备和跨时间等跨域问题会严重损害系统的性能。为解决远场环境下的域失配问题,域自适应是最常用的方法之一,提高了远场验证的准确性,但通常带来高计算和存储成本,限制了实际部署,包括运行时效率、功耗以及由于大量参数导致的内存使用。在实际应用中,说话人语音验证系统通常部署在计算能较低的设备上,这些设备能够提供的计算资源有限,因此,在提高模型验证准确性的前提下,同时兼顾模型的轻量化处理,成为当前远场说话人语音验证任务亟待解决的问题。

发明内容

[0005] 为了解决现有技术问题,本发明实施例提供了一种说话人语音验证方法、装置和电子设备,可以在保证模型验证准确性的前提下,轻量化处理模型。技术方案如下:
[0006] 根据本发明的一方面,提供了一种说话人语音验证方法,所述方法包括:
[0007] 构建语音特征提取‑教师模型,并对所述语音特征提取‑教师模型进行说话人语音验证的预训练;
[0008] 构建说话人语音验证‑学生模型,并基于预训练后的所述语音特征提取‑教师模型对所述说话人语音验证‑学生模型进行多层知识蒸馏训练,其中:
[0009] 第一层,在所述语音特征提取‑教师模型和所述说话人语音验证‑学生模型的嵌入层之间进行基于特征表示和基于特征距离的特征知识蒸馏,将所述语音特征提取‑教师模型中的说话人关键特征信息迁移至所述说话人语音验证‑学生模型;
[0010] 第二层,在所述语音特征提取‑教师模型和所述说话人语音验证‑学生模型的逻辑层之间进行解耦知识蒸馏,将所述语音特征提取‑教师模型中解耦的目标类逻辑信息和非目标类逻辑信息迁移至所述说话人语音验证‑学生模型;
[0011] 在所述说话人语音验证‑学生模型训练完成后,基于训练好的所述说话人语音验证‑学生模型对目标说话人语音进行验证。
[0012] 根据本发明的另一方面,提供了一种说话人语音验证装置,所述装置包括:
[0013] 第一构建模,用于构建语音特征提取‑教师模型,并对所述语音特征提取‑教师模型进行说话人语音验证的预训练;
[0014] 第二构建模块,用于构建说话人语音验证‑学生模型,并基于预训练后的所述语音特征提取‑教师模型对所述说话人语音验证‑学生模型进行多层知识蒸馏训练,其中:
[0015] 第一层,在所述语音特征提取‑教师模型和所述说话人语音验证‑学生模型的嵌入层之间进行基于特征表示和基于特征距离的特征知识蒸馏,将所述语音特征提取‑教师模型中的说话人关键特征信息迁移至所述说话人语音验证‑学生模型;
[0016] 第二层,在所述语音特征提取‑教师模型和所述说话人语音验证‑学生模型的逻辑层之间进行解耦知识蒸馏,将所述语音特征提取‑教师模型中解耦的目标类逻辑信息和非目标类逻辑信息迁移至所述说话人语音验证‑学生模型;
[0017] 验证模块,用于在所述说话人语音验证‑学生模型训练完成后,基于训练好的所述说话人语音验证‑学生模型对目标说话人语音进行验证。
[0018] 根据本发明的另一方面,提供了一种电子设备,包括:
[0019] 处理器;以及
[0020] 存储程序的存储器
[0021] 其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行上述说话人语音验证方法。
[0022] 本发明可以取得如下有益效果:
[0023] 对预训练好的语音特征提取‑教师模型进行多层知识蒸馏,将知识迁移至说话人语音验证‑学生模型,在不引入任何额外计算的情况下将大模型的知识转移到小型学生模型中,从而提高学生模型的性能。并且,在多层知识蒸馏训练的过程中,第一层特征知识蒸馏层关注的是模型在捕获领域不变特征方面的优化,包括采用基于特征表示和基于特征距离的两种特征知识蒸馏;而第二层解耦知识蒸馏层则强调模型在目标和非目标类别逻辑信息上的平衡。通过结合这两层知识蒸馏,本发明可以缓解域失配问题,提高模型远场语音验证准确性。另外,在保证模型验证准确性的前提下,本发明通过重参数化技术成功减小模型的计算复杂度,提高推理速度,使其更适用于复杂的实际场景。附图说明
[0024] 在下面结合附图对于示例性实施例的描述中,本发明的更多细节、特征和优点被公开,在附图中:
[0025] 图1示出了根据本发明示例性实施例提供的说话人语音验证方法流程图
[0026] 图2示出了根据本发明示例性实施例提供的语音特征提取‑教师模型预训练流程图;
[0027] 图3示出了根据本发明示例性实施例提供的说话人语音验证‑学生模型构建流程图;
[0028] 图4示出了根据本发明示例性实施例提供的多层知识蒸馏训练流程图;
[0029] 图5示出了根据本申请示例性实施例提供的说话人语音验证装置的示意性框图
[0030] 图6示出了能够用于实现本申请的实施例的示例性电子设备的结构框图。

具体实施方式

[0031] 下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
[0032] 应当理解,本发明的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
[0033] 本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
[0034] 需要注意,本发明中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0035] 本发明实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
[0036] 近年来,随着深度神经网络的迅速发展和大规模语音数据集可用性的提高,基于深度神经网络的说话人语音验证性能得到显著提升,这类方法利用深度神经网络模型的强大表征学习能力,通过在大规模语音数据集上的学习,能够获得更深层次的综合特征表示,显著提高了语音验证的准确性,特别是对于场景中干扰较少、不匹配较少的近场说话人语音验证任务下,表现出色。然而,当说话人语音验证系统部署在远场和噪声环境中时,由于受到低信噪比或跨域不匹配条件的限制,对于远场场景,跨距离、跨信道、跨设备和跨时间等跨域问题会严重损害系统的性能。为解决远场环境下的域失配问题,研究者进行大量的研究,域自适应是最常用的方法之一,提高了远场验证的准确性。但也通常带来高计算和存储成本,限制了实际部署,包括运行时效率、功耗以及由于大量参数导致的内存使用。在实际应用中,说话人语音验证通常部署在计算能力较低的设备上,然而这些设备能够提供的计算资源有限。因此,在提高模型验证准确性的前提下,同时兼顾模型的轻量化处理,成为当前远场说话人语音验证任务亟待解决的问题。
[0037] 为了平衡模型性能和规模之间的关系,研究人员引入了知识蒸馏,其在模型压缩和域自适应中有着广泛的应用,常用的方法是利用训练好的教师模型获得的后验概率分布来指导学生模型的优化,这种范式通常被称为师生学习。它可以在不引入任何额外计算的情况下将大模型的知识转移到小型学生模型中,从而提高学生模型的性能。尽管已经取得一定进展,但过去方法中的交叉熵损失只关注目标类别,而忽略了非目标类别所提供的知识,这在提取高级说话人音色特征和精确区分不同说话人方面仍存在挑战。
[0038] 为了解决这些问题并推动实际应用场景下的远场说话人语音验证发展,本发明提出了一种基于多层知识蒸馏的远场说话人语音验证模型。该模型基于教师‑学生网络结构,采用重参数化技术减小模型的计算复杂度并提高推理速度的同时,通过结合特征知识蒸馏和解耦知识蒸馏的两层迁移学习策略,利用来自近距离语音数据的领域不变知识来指导学生模型学习远场数据,缓解域失配问题,提高远场说话人语音验证模型性能,使其更适应真实世界中的应用场景。具体来说,第一层,在教师和学生模型的嵌入层采用特征知识蒸馏,将教师模型学习到的说话人关键特征信息传递给学生模型,使模型能够更好地捕捉说话人的共性特征,引导学生模型学习更加鲁棒和泛化的领域不变说话人嵌入空间,从而提高模型在远场情况下的性能表现。第二层,从解耦知识蒸馏的度出发,在教师和学生模型的逻辑层进行解耦知识蒸馏,将逻辑层输出解耦为两个独立部分的加权和,平衡目标类别和非目标类别逻辑信息的有效性,通过解耦知识蒸馏损失函数的计算获得更高层次的说话人音色特征,从而提高不同说话人特征的可区分性,使得在验证目标说话人时具有更高的准确性,有助于解决在跨域不匹配情况下,模型可能因为受到非目标类别的干扰而导致性能下降的问题。
[0039] 第一层特征知识蒸馏层关注的是模型在捕获领域不变特征方面的优化,而第二层解耦知识蒸馏层则强调模型在目标和非目标类别逻辑信息上的平衡。通过结合这两层知识蒸馏,本发明能够缓解域失配问题,提高远场说话人验证的准确性。同时,通过重参数化技术减小模型的计算复杂度,提高推理速度,使其更适用于复杂的实际场景。
[0040] 下面将参照图1所示的说话人语音验证方法流程图,对该方法进行介绍,该方法可以包括如下步骤101‑103。
[0041] 步骤101,构建语音特征提取‑教师模型,并对语音特征提取‑教师模型进行说话人语音验证的预训练。
[0042] 在一种可能的实施方式中,可以根据预先设计的模型结构,构建语音特征提取‑教师模型。进而,采集大量的近场语音样本,并采用近场语音样本对语音特征提取‑教师模型进行说话人语音验证的预训练,使得语音特征提取‑教师模型能够更轻松地学习到说话人语音验证任务特定的语音特征信息,从而更好地适应说话人语音验证的应用场景。
[0043] 可选的,为了提高教师模型在后续说话人语音验证任务上的性能和泛化能力,本发明采用了具有更多参数和更复杂结构的基于Transformer的预训练大模型UniSpeech‑SAT作为教师网络前端,该模型进行基于话语的对比学习,可以增强单个说话人信息的提取,提高不同说话人特征间的区分性。
[0044] 后端主干网络模型设计时,考虑到UniSpeech‑SAT采用的是多分支卷积神经网络结构,当分支数量增加时,模型参数和计算复杂度也增加,可能降低推理效率。因此,为了从丰富的特征空间中进行学习,并且不影响推理效率,本发明采用一种可重参数化的模型架构RepVGG作为教师模型后端。重参数化技术解耦了训练时和推理时的模型架构,并确保输出保持不变。具体来说,在训练时,本发明使用多分支结构进行训练,在推理时,通过重参数化技术,将多分支结构等效地转换为简单的单一路径结构,以提高模型的推理效率同时降低复杂度。
[0045] 在设计教师模型的过程中,本发明注重了模型的部署效率和实际应用中的性能表现,以确保在实际应用中能够取得最佳的效果。这包括模型的推理速度、资源利用率以及对于不同硬件平台的适配性等方面的考虑。基于此,本发明设计的教师模型的前端使用基于Transformer的预训练大模型从原始近场语音数据中提取级序列特征,增强不同说话人特征间的区分性。每一层提取到的语义特征在经过特征融合后,被输入到后端的RepVGG模型中,该模型结构运用重参数化技术,将多分支结构解耦成单分支结构,在资源受限的环境中尽可能轻量化模型结构,并且不影响推理效率。
[0046] 具体的,参照图2示出的语音特征提取‑教师模型预训练流程图,教师模型的预训练过程可以包括如下步骤201‑202,以及步骤202中的子步骤2021‑2024。
[0047] 步骤201,基于前端预训练大模型UniSpeech‑SAT、特征融合模块和后端RepVGG模型,构建语音特征提取‑教师模型。
[0048] 在一种可能的实施方式中,前端预训练大模型UniSpeech‑SAT包括卷积神经网络层和多层Transformer模型,卷积神经网络层以近场语音样本作为输入,多层Transformer模型以卷积神经网络的输出作为输入。特征融合模块以卷积神经网络和多层Transformer模型的输出作为输入。后端RepVGG模型以特征融合模块的输出作为输入。其中各个网络模块的具体网络结构,可采用现有的模型结构,本实施例对此不作限定。
[0049] 步骤202,基于近场语音样本对语音特征提取‑教师模型进行说话人语音验证的预训练。
[0050] 其中包括:
[0051] 步骤2021,在前端预训练大模型UniSpeech‑SAT的卷积神经网络层中,提取近场语音样本的卷积特征。
[0052] 在一种可能的实施方式中,可以对预训练近场语音样本进行采样,得到输入语音序列X={x1,x2,L,xn},其中n是采样点的个数。将上述输入语音序列输入卷积神经网络层,通过卷积神经网络提取近场语音样本的卷积特征,编码为序列特征向量,表示为H0={h1,0,L,hT,0},其中T为序列长度。
[0053] 在说话人语音验证任务中,运用卷积神经网络能够更好地捕捉语音信号中的层次化特征。首先,卷积神经网络是一种强大的特征提取器,它能够通过卷积层、池化层等操作,自动学习信号的局部和全局特征。对于语音信号而言,卷积操作有助于捕捉不同频率和时间尺度上的特征,从而提高模型对说话人语音特征的建模能力。这种层次化的特征提取使得卷积神经网络在说话人语音验证任务上具有显著的优势。
[0054] 同时,卷积神经网络的卷积层能够有效地捕捉局部特征。对于语音信号而言,一个说话人的语音特征通常体现在局部的声学模式中,如发音、音调等。卷积层通过滑动的卷积核在语音信号上提取局部特征,从而更好地捕获说话人的个性化信息。这有助于模型对不同说话人之间的差异进行更细致的建模。
[0055] 步骤2022,在前端预训练大模型UniSpeech‑SAT的多层Transformer模型中,提取卷积特征的编码特征。
[0056] 在一种可能的实施方式中,可以将经过卷积神经网络提取到的序列特征向量输入到基于多层Transformer模型的网络结构的编码器中,以提取说话人语音的深度语义特征。假设多层Transformer模型具有L层隐藏层,则第l层隐藏层输出的编码特征可以表示为Hl={h1,l,L,hT,l},其中l∈{1,2,L,L}。Transformer是一种基于自注意力机制的深度学习模型,其在自然语言处理领域取得了巨大成功。在说话人语音验证任务中引入Transformer编码特征的意义不仅仅在于其对于语音信号建模的强大能力,还在于其对长时依赖关系的优越处理能力。首先,Transformer模型通过自注意力机制有效地捕捉了语音信号中的长时依赖关系。在说话人语音验证任务中,由于语音信号通常包含的是长时序的语音片段,传统的序列模型可能会面临梯度消失或梯度爆炸等问题。Transformer通过引入自注意力机制,能够在不同位置上对序列的信息进行关注,从而更好地捕捉语音信号中长时依赖的语境信息。这使得模型能够更好地理解整个语音片段,而不仅仅是局部的特征。其次,Transformer编码特征提供了更丰富、更抽象的语音表示。通过多层次的自注意力机制,Transformer能够对不同位置的语音片段进行加权关注,从而提取更多层次的抽象特征。这有助于模型更好地捕获语音信号中的说话人身份信息,使得表示更加鲁棒、区分度更高。这对于说话人语音验证任务而言,是提高模型性能的重要因素。此外,Transformer模型的并行化计算能力使其更适用于大规模语音数据的处理。在说话人语音验证任务中,通常需要大量的语音样本用于模型的训练,而Transformer的并行化计算结构使得其在处理大规模数据时具有更高的效率。这对于在实际应用中构建更强大的说话人语音验证系统具有重要的实用性。另一个值得强调的是,Transformer模型可以直接从原始语音信号中学习到表示,而无需手动进行特征工程。这种端到端的学习方式减少了对领域专业知识的依赖,使得模型更具通用性。而传统的特征提取方法可能需要手动设计复杂的特征工程流程,而这种方式通常会局限于特定的任务和语音数据集。
[0057] 步骤2023,在特征融合模块中,将卷积特征和编码特征进行融合,得到融合特征。
[0058] 在一种可能的实施方式中,在上述卷积神经网络层和多层Transformer模型中,共提取了L+1个序列特征向量H={H0,H1,L,HL}。在特征融合模块中,可以将L+1个序列特征向量进行加权平均处理,输出融合特征,而不是只将最后一层特征向量HL用于说话人语音验证任务,在此基础上,可以增强融合特征中包含的语义特征,以提高说话人语音验证的准确性。
[0059] 可选的,由于不同网络层所提取的特征包含不同的语义特征,对说话人语音验证任务的重要程度并不相同。为了充分利用不同层的序列特征向量,本发明为每个序列特征向量Hl分配一个可学习的权重ωl,相应的步骤2023的处理可以如下:
[0060] 在特征融合模块中,基于可学习的权重ωl将卷积特征和编码特征进行融合,得到融合特征O,融合特征O表示如下:
[0061] O={o1,o2,L,oT}
[0062]
[0063] 其中,上述可学习的权重ωl可以在预训练的过程中进行调节,使得每层网络层的权重与说话人语音验证任务相适配。通过对每一层的序列特征向量表示进行加权平均,获得用于说话人语音验证任务的帧级特征表示。
[0064] 步骤2024,将融合特征输入后端RepVGG模型,并使用交叉熵损失函数进行说话人语音验证的预训练。
[0065] 后端主干网络模型设计时,考虑到UniSpeech‑SAT采用的是多分支卷积神经网络结构,当分支数量增加时,模型参数和计算复杂度也增加,可能降低推理效率。因此,为了从丰富的特征空间中进行学习,并且不影响推理效率,本发明采用一种可重参数化的模型架构RepVGG作为教师网络后端。重参数化技术解耦了训练时和推理时的模型架构,并确保输出保持不变。具体来说,在训练时,使用多分支结构进行训练,在推理时,通过重参数化技术,将多分支结构等效地转换为简单的单一路径结构,以提高模型的推理效率同时降低复杂度。
[0066] RepVGG模型主要由五个结构相似的部分组成,每个部分包含不同的RepVGG块。训练时的分支结构包括三个并行的分支:3×3卷积‑批量归一化、1×1卷积‑批量归一化、残差‑批量归一化。重参数化过程为:首先将三个分支结构重参数化为等效的3×3卷积,然后利用卷积操作的可加性原则,将它们融合成一个3×3卷积,从而得到了最终推理时的单一路径结构。对于卷积‑批量归一化的转换,可以通过一个带有偏置的卷积将批量归一化的参数融合。融合操作的计算公式如下:
[0067]
[0068]
[0069] 其中,i表示第i个通道,γ、μ、σ、β分别表示批量归一化层的缩放因子、均值、方差以及偏置。Fi表示原始卷积核第i通道的权重参数,F′表示重参数化之后的卷积核权重参数,bi′表示重参数化之后的卷积核的偏置。
[0070] 对于1×1卷积‑批量归一化,可以将其进行0填充转为3×3大小的卷积核。对于残差‑批量归一化可以将其看成权重为1的1×1大小的卷积核,然后进行0填充转为3×3大小的卷积核。
[0071] 对于并行分支卷积的融合,可以将1×1大小的卷积核进行0填充转为3×3大小的卷积核,然后通过简单的元素相加操作,融合成一个3×3大小的卷积核。
[0072] 在一种可能的实施方式中,可以使用上述帧级特征表示代替原来的Fbank声学手工特征,作为后端RepVGG模型的输入。教师模型的预训练过程中使用交叉熵损失函数LCE(θ),计算公式如下:
[0073]
[0074] 其中,xt,j是来自近场语音数据集Xt={xt,1,xt,2,xt,3,L,xt,N}的第j个近场话语。c是来自说话人标签集C={c1,c2,c3,L,cc}的说话人标识,并且|C|=C。p(c|xt,j;θ)是教师模型的后验概率。
[0075] 后端分类器使用AAM‑Softmax。采样率设为16khz,批次大小设置128,训练轮次设为60。
[0076] 步骤102,构建说话人语音验证‑学生模型,并基于预训练后的语音特征提取‑教师模型对说话人语音验证‑学生模型进行知识蒸馏训练。
[0077] 在说话人语音验证任务中设计学生模型是一项关键的任务,尤其是在资源受限或实时应用的场景中。学生模型通常是一个比教师模型轻量的模型,其目标是通过从一个强大的教师模型中蒸馏知识,实现在减少参数和计算成本的同时,保持模型性能。首先,本发明的一个关键目标是降低计算成本和存储需求。在实际应用中,尤其是在移动设备、嵌入式系统或网络边缘进行说话人语音验证时,资源是有限的。较大的教师模型可能需要更多的计算资源和存储空间,而学生模型的设计旨在在保持性能的同时减少这些需求。这样,说话人语音验证系统可以更高效地运行,适应更广泛的应用场景。此外本发明还注意到增强模型的鲁棒性,提高对于不同的说话人、环境噪声和录音条件的适应能力。学生模型的设计需要确保其在不同的语音输入情境下都能够鲁棒工作,而不仅仅是在特定条件下表现良好。这有助于提高说话人语音验证系统的可靠性和实用性。
[0078] 可选的,可以基于短时傅里叶变换模块、梅尔频谱特征提取模块、RepVGG主干网络,构建说话人语音验证‑学生模型。
[0079] 其中,短时傅里叶变换模块,可以用于将待处理的语音时域信号转换为语音频域信号。梅尔频谱特征提取模块,可以用于提取语音频域信号的梅尔频谱特征。RepVGG主干网络,可以用于基于梅尔频谱特征进行说话人语音验证。
[0080] 在该说话人语音验证‑学生模型的基础上,参照图3示出的说话人语音验证‑学生模型构建流程图,构建说话人语音验证‑学生模型可以包括如下步骤301‑303。
[0081] 步骤301,基于短时傅里叶变换模块,将待处理的远场和近场语音时域信号进行短时傅里叶变换,得到语音频域信号。
[0082] 在一种可能的实施方式中,短时傅里叶变换是最经典的时频域分析方法,是一种用于分析信号在时间和频率上的变化的工具。首先,短时傅里叶变换使得声音信号从时域转换到频域。声音信号是时变的,随着时间的推移,声音的频率分布也会发生变化。通过将声音信号分成小的时间窗口,对每个窗口进行傅里叶变换,获得了信号在不同时间段内的频率分布。这种时频分析的能力使得模型能够更好地捕捉语音信号中随时间变化的频谱特征。对于说话人语音验证任务而言,这意味着系统可以更精准地捕捉到说话人的语音特征,因为不同说话人在语音中的频谱特征可能存在差异。其次,短时傅里叶变换有助于处理非平稳性的语音信号。语音信号通常是非平稳的,即其统计特性随时间变化。通过使用短时窗口进行频谱分析,从而更好地应对语音信号的时变性。这对于说话人语音验证系统来说尤为重要,因为不同说话人的语音特征可能在不同的时间段内表现出差异。此外,短时傅里叶变换还能够提高系统对语音信号中的时频结构的敏感性。语音中包含了丰富的信息,包括音素、韵律和语调等。通过将语音信号分解为不同频率成分,使得系统更能够捕捉到这些时频结构,从而更全面地表示语音信息。在说话人语音验证中,这种更全面的表示有助于提高系统的辨别能力,使其更好地区分不同说话人之间的差异。另一个重要的方面是短时傅里叶变换在处理语音信号时提供了频率分辨率的控制。通过调整窗口的大小,本发明可以平衡时域和频域的分辨率。这使得系统可以根据任务的需要进行灵活的参数设置,以获得最佳的时频分析结果。在说话人语音验证任务中,通过精细调整短时傅里叶变换的参数,可以更好地适应不同说话人的语音特征,提高系统的性能。其公式如下:
[0083]
[0084] 其中,X(t,f)是在时刻t和频率f处的短时傅里叶变换。x(t)是原始的语音时域信号,w(t)是窗口函数,τ是积分变量,j是虚数单位。短时傅里叶变换在说话人语音验证任务中的应用有助于提高系统对语音信号的表示能力和区分度。通过从时域转换到频域,短时傅里叶变换能够更好地捕捉到语音信号中的时频特征,为说话人语音验证系统提供更丰富、准确的信息。这对于提高系统的准确性、鲁棒性和适应性至关重要,使得说话人语音验证技术在实际应用中更加可靠和实用。
[0085] 步骤302,基于梅尔频谱特征提取模块,提取语音频域信号的梅尔频谱特征。
[0086] 在一种可能的实施方式中,将步骤301中得到的语音频域信号再经过梅尔滤波器组处理,可以提取梅尔频谱特征。
[0087] 首先,通过梅尔滤波器组的设计,将声音信号从线性频率转换到梅尔频率。在说话人语音验证任务中,这些从语音信号中提取出的对说话人身份有区分度的特征,对于准确区分不同说话人的语音具有重要意义。其次,梅尔频谱对于去除噪声和环境干扰具有一定的鲁棒性。梅尔滤波器组可以帮助集中注意力于语音信号中对说话人身份更为重要的频率范围,降低了对环境噪声的敏感性,提高了系统的抗干扰能力。另外,梅尔频谱的应用也有助于降低数据的维度。在说话人语音验证任务中,原始语音信号的维度可能相对较高,而梅尔频谱提取的特征通常包含了语音信号的主要信息,但却以更低的维度进行表示。这种降维有助于提高模型的计算效率,使得说话人语音验证系统更适用于资源有限的环境。梅尔频谱的应用还有助于对语音信号进行更有效的建模。通过对语音信号进行梅尔滤波器组处理,可以得到每个频带的能量分布,形成梅尔频谱图。这种表示更符合语音信号的特性,使得模型更容易捕捉到说话人身份的相关信息。因此,梅尔频谱在建模时提供了更有判别力的特征,有助于提高说话人语音验证系统的准确性。
[0088] 步骤303,设计基于RepVGG模型的学生主干网络。
[0089] 可选的,主干网络可以包括RepVGG模型,考虑到在数据集规模较小的情况下,学生模型使用与教师模型相似的网络可以获得更佳的结果。与此同时,较小的模型具备更少的参数和计算复杂度,能够在资源受限的环境中更易于部署和执行。因此,为了保持高性能的同时提高模型的实用性和适应性,使学生模型更贴合实际应用,本发明在设计学生模型时,选择与教师模型后端一致的RepVGG模型作为学生模型的主干网络。RepVGG模型还可以用于:在多层知识蒸馏训练的过程中,基于多分支结构进行训练;在推理时,通过重参数化技术,将多分支结构等效地转换为单一路径结构,以提高模型的推理效率同时降低计算复杂度。
[0090] 下面将参照图4示出的多层知识蒸馏训练流程图,对说话人语音验证‑学生模型的知识蒸馏训练的过程进行介绍。
[0091] 知识蒸馏是一种通过从一个教师模型中提取知识来训练一个小型学生模型的策略,常用于模型压缩和加速。考虑到远场说话人语音验证系统在实际生活中的可用性,本发明选择运用多层知识蒸馏的迁移学习策略,在验证准确度和模型规模大小之间取得良好的平衡。首先知识蒸馏可以帮助改善模型的泛化性能。在说话人语音验证任务中,通常需要处理来自不同环境、设备和情境的语音数据。大型的教师模型可能在各种复杂情况下表现较好,通过知识蒸馏,将这些复杂的知识传递给小型学生模型,使得学生模型在更广泛的应用场景中表现更稳健。其次,知识蒸馏对于在资源受限的环境中运行说话人语音验证系统具有重要价值。大型模型通常需要更多的计算资源和存储空间,而在移动设备、嵌入式系统或网络边缘进行说话人语音验证时,资源受限是一个常见的挑战。通过知识蒸馏,可以将大型教师模型的知识转移到轻量级学生模型,从而在保持性能的同时减少计算和存储需求。此外,知识蒸馏还有助于提高模型的抗干扰能力。在真实世界中,语音信号可能受到噪声、回声等干扰,这可能对说话人语音验证系统的性能产生负面影响。通过从教师模型中蒸馏出对抗噪声的知识,学生模型可以更好地适应复杂的环境,提高在嘈杂条件下的鲁棒性。最后,知识蒸馏为模型的可解释性提供了一种途径。通过观察教师模型的输出,可以更好地理解模型对于不同说话人的辨识依据。这种可解释性有助于进一步优化系统、诊断错误,并提高模型的可用性。
[0092] 因此,在说话人语音验证任务上应用知识蒸馏策略,不仅可以改善模型的性能和泛化能力,还可以使其更适用于资源受限的场景,并提高抗干扰性,为实际应用中的语音处理系统带来更大的实用性。
[0093] 在远场情况下,由于存在跨越距离、通道、设备和时间等跨域问题,并且在提取高级说话人音色特征和精确区分不同说话人方面仍存在挑战。。为了解决远场说话人语音验证任务中的这些问题,即缓解域失配问题,提高远场说话人验证的准确性,以满足实际应用需求,本发明提出了多层知识蒸馏的迁移学习策略,主要分两层:1)第一层,在教师和学生模型的嵌入层采用特征知识蒸馏,将教师模型学习到的说话人关键特征信息传递给学生模型,使模型能够更好地捕捉说话人的共性特征,引导学生模型学习更加鲁棒和泛化的领域不变说话人嵌入空间,从而提高模型在远场情况下的性能表现,对应于下述步骤401。2)第二层,在教师和学生模型的逻辑层进行解耦知识蒸馏,将逻辑层输出解耦为两个独立部分的加权和,平衡目标类别和非目标类别逻辑信息的有效性,从而提高不同说话人特征的可区分性。通过解耦逻辑信息,模型能够更好地区分不同说话人之间的差异,使得在验证目标说话人时具有更高的准确性,有助于解决在跨域不匹配情况下,模型可能因为受到非目标类别的干扰而导致性能下降的问题。,对应于下述步骤402。
[0094] 具体步骤如下:
[0095] 步骤401,第一层特征知识蒸馏中,在语音特征提取‑教师模型和说话人语音验证‑学生模型的嵌入层之间进行基于特征表示和基于特征距离的特征知识蒸馏,将语音特征提取‑教师模型中的说话人关键特征信息迁移至说话人语音验证‑学生模型。
[0096] 在一种可能的实施方式中,为了提高来自不同说话人语音特征的区分度,首先是要实现增加不同类别(即不同的说话人)之间的距离,同时减小相同类别(即相同的说话人)之间的距离。本发明运用了对比学习损失的思想,将已经经过训练的教师模型的特征空间中的样本作为锚点。将学生模型的特征空间中,与锚点具有相同标签的样本视为正样本,而将那些与锚点标签不一致的样本视为负样本。本发明的目标是通过减少正样本对之间的距离、增大负样本对之间的距离来实现基于特征层的知识蒸馏。
[0097] 具体的,上述基于特征表示的特征知识蒸馏可以包括通过第一损失函数L1进行基于特征表示的特征知识蒸馏,第一损失函数L1的计算公式如下:
[0098]
[0099] 其中,假定输入的成对训练样本数据为(Xt,Xs),Xt={xt,1,xt,2,L,xt,N}表示语音特征提取‑教师模型的输入,Xs={xs,1,xs,2,L,xs,M}表示说话人语音验证‑学生模型的输入;<,>表示计算特征向量的内积;fθ(·)表示语音特征提取‑教师模型提取的话语级说话人特征向量;fΦ(·)表示说话人语音验证‑学生模型中提取的话语级说话人特征向量表示。fθ(xt,i)和fΦ(xs,j)具有相同的说话人标签,fθ(xt,i)和fΦ(xs,α)具有不同的说话人标签。A(i)表示所述语音特征提取‑教师模型中训练样本对应的下标,其对应样本的说话人标签与fθ(xt,i)不一致。
[0100] 从这个计算公式中可以看出,以教师模型提取的说话人特征向量作为锚点,从两个方面优化学生模型的特征空间,一方面分子可以减少同类特征表示之间的距离,另一方面分母可以使得不同类特征表示之间的距离增大。通过这种方式,可以将训练好的教师模型的特征空间中的知识迁移到学生模型中,将学生模型的特征空间向教师模型靠近。在训练时,学生模型的输入包括高保真近距离麦克数据和远距离设备数据,以使学生模型能够同时适应不同录音场景。
[0101] 为了提高域失配情况下远场说话人验证的准确度,还需要对齐两个特征空间中的成对距离分布。训练好的教师模型生成的特征空间在许多情况下被视为具有更可靠的参考。理想情况下,如果教师模型和学生模型之间没有域偏移问题,那么它们各自特征空间中的样本之间的距离分布应该是相似的。因此,本发明考虑进行第二种基于特征距离的特征知识蒸馏以进一步细化特征空间内的样本距离分布对齐。
[0102] 具体的,上述基于特征距离的知识蒸馏可以包括通过第二损失函数L2进行基于特征距离的特征知识蒸馏,第二损失函数L2的计算公式如下:
[0103]
[0104] 其中,L2表示两个相似度矩阵的均方误差距离,B表示训练样本数目。
[0105] ds表示说话人语音验证‑学生模型提取的说话人特征向量之间的相似度矩阵,ds的计算公式如下:
[0106]
[0107] 其中,FΦ=[fΦ(xs,1),fΦ(xs,2),L,fΦ(xs,B)],表示说话人语音验证‑学生模型提取的说话人特征向量矩阵,“·”表示矩阵乘法,“‑1”表示矩阵的转置;
[0108] dt表示说话人语音验证‑教师模型提取的说话人特征向量之间的相似度矩阵,dt的计算公式如下:
[0109]
[0110] 其中,Fθ=[fθ(xt,1),fθ(xt,2),L,fθ(xt,B)],表示语音特征提取‑教师模型提取的说话人特征向量矩阵。
[0111] 通过最小化第二损失函数L2中的损失,本发明可以使学生模型保留教师模型的特征成对距离。这个方法有助于减少教师模型和学生模型的成对相似度矩阵之间的差异,从而优化学生模型的特征空间,使其更接近于教师模型的特征空间。
[0112] 这两种特征知识蒸馏策略有助于改善远场说话人验证系统的性能,使其更适应真实世界中的应用场景。
[0113] 步骤402,第二层解耦知识蒸馏中,在语音特征提取‑教师模型和说话人语音验证‑学生模型的逻辑层之间进行解耦知识蒸馏,将语音特征提取‑教师模型中解耦的目标类逻辑信息和非目标类逻辑信息迁移至说话人语音验证‑学生模型。
[0114] 单一层的迁移学习可能无法充分涵盖处理复杂任务所需的各个方面。不同层次的迁移学习可以分别关注模型在不同层次上的性能提升,从而形成更为全面和综合的优化效果。尽管第一层特征知识蒸馏有助于扩大不同说话人特征的距离,缩小同一说话人特征的距离,但忽视了说话人特征间的关系和逻辑,这可能在一定程度上限制了学生模型的性能。此外,仅仅从教师模型的特征空间中学习可能导致学生模型对教师模型的训练数据过度拟合。仅使用第一层特征知识蒸馏并不能使模型达到最优效果。由于逻辑层往往处于更高的语义层次,相对于特征知识蒸馏,逻辑知识蒸馏更注重传递模型的决策逻辑,包括类别之间的关系。这使得学生模型能够学习到更高层次的抽象知识,而不仅仅是输入数据的特征。理论上,采用逻辑知识蒸馏可以使模型获得更高层次的语义特征。
[0115] 经典的知识蒸馏损失公式通常由交叉熵损失和Kullback‑Leibler(KL)散度组成。但它忽略了非目标类别所提供的知识,导致性能不理想。为了克服这些限制,本发明在逻辑层上应用解耦知识蒸馏,通过教师模型的软标签将“暗知识”传递给学生模型,增加学生模型和教师模型之间的逻辑相似性,同时可以进一步增强不同说话人特征的可分辨性。解耦知识蒸馏将经典知识蒸馏的逻辑层输出划分为两部分,其定义如下:
[0116]
[0117] 其中,T和S分别代表教师模型和学生模型。损失函数使用KL散度,KL散度可以最小化教师‑学生模型预测分布的差异。LKD被重新定义为目标类和非目标类的两个部分。KLT S(b Pb )表示教师模型和学生模型的目标类二元概率差异,即目标类知识蒸馏(TCKD);
表示教师模型和学生模型的非目标类概率差异,即非目标类知识蒸馏(NCKD);
表示教师模型对目标类的预测置信度
[0118] TCKD通过二元逻辑蒸馏传递知识,这意味着只提供目标类的预测,而每个非目标类的具体预测是未知的。NCKD只考虑非目标逻辑之间的知识,通过非目标逻辑传递“暗知识”。简而言之,由于NCKD与 相耦合,当教师模型的预测越自信时,NCKD的权重就越小。更明确地说,NCKD对知识蒸馏的贡献被抑制了,这凸显了经典知识蒸馏损失的局限性。
[0119] 本发明在远场说话人语音验证任务上应用解耦知识蒸馏来克服这些限制。
[0120] 具体的,本发明引入了两个超参数α和β,分别作为TCKD和NCKD的权值,可以通过训练调节它们来平衡TCKD和NCKD的重要性,从而最大程度地为学生网络提供指导。
[0121] 在逻辑层上,通过第三损失函数L3,将语音特征提取‑教师模型的目标类知识和非目标类知识迁移至说话人语音验证‑学生模型,第三损失函数L3的计算公式如下:
[0122] L3=αTCKD+βNCKD
[0123] 其中,β取代 当β接近于零时,NCKD将被抑制。上述第三损失函数L3通过解耦TCKD和NCKD,使模型能够学习到最合适的损失函数,从而提供了一种高效而灵活的逻辑蒸馏方法。值得注意的是,本发明可以通过第三损失函数L3获得更高层次的说话人音色特征,从而引导教师模型向学生模型传递更多的“暗知识”。此外,与需要额外计算、存储和复杂结构来对齐维度的特征知识蒸馏相比,基于逻辑层的解耦知识蒸馏方法也更为简单和高效。
[0124] 步骤103,在说话人语音验证‑学生模型训练完成后,基于训练好的说话人语音验证‑学生模型对目标说话人语音进行验证。
[0125] 在一种可能的实施方式中,说话人语音验证‑学生模型训练完成后,可以部署在移动设备、嵌入式系统或网络边缘等设备中,每当触发说话人语音验证任务时,采集目标说话人的语音信号,并通过训练好的说话人语音验证‑学生模型对目标说话人语音进行验证。
[0126] 本发明实施例可以取得如下有益效果:
[0127] 对预训练好的语音特征提取‑教师模型进行知识蒸馏,将知识迁移至说话人语音验证‑学生模型,在不引入任何额外计算的情况下将大型教师模型的知识转移到轻量级学生模型中,从而提高轻量级学生模型的性能。并且,在多层知识蒸馏训练的过程中,第一层,在教师模型和学生模型的嵌入层采用特征知识蒸馏,采用基于特征表示和基于特征距离的两种特征知识蒸馏,将教师模型学习到的说话人关键特征信息传递给学生模型,使模型能够更好地捕捉说话人的共性特征,引导学生模型学习更加鲁棒和泛化的领域不变说话人嵌入空间,从而提高模型在远场情况下的性能表现。第二层,在教师模型和学生模型的逻辑层进行解耦知识蒸馏,将逻辑层输出解耦为两个独立部分的加权和,平衡目标类别和非目标类别逻辑信息的有效性,通过解耦知识蒸馏损失函数的计算获得更高层次的说话人音色特征,从而提高不同说话人特征的可区分性,使得在验证目标说话人时具有更高的准确性,有助于解决在跨域不匹配情况下,模型可能因为受到非目标类别的干扰而导致性能下降的问题。
[0128] 第一层特征知识蒸馏层关注的是模型在捕获领域不变特征方面的优化,而第二层解耦知识蒸馏层则强调模型在目标和非目标类别逻辑信息上的平衡。通过结合这两层知识蒸馏,本发明可以缓解域失配问题,能够提升模型在远场说话人验证的性能,使其更适用于复杂的实际场景。
[0129] 本发明实施例提供了一种说话人语音验证装置,该装置用于实现上述远场说话人语音验证方法。如图5所示的说话人语音验证装置的示意性框图,说话人语音验证装置500包括:第一构建模块501,第二构建模块502,验证模块503。
[0130] 第一构建模块501,用于构建语音特征提取‑教师模型,并对所述语音特征提取‑教师模型进行说话人语音验证的预训练;
[0131] 第二构建模块502,用于构建说话人语音验证‑学生模型,并基于预训练后的所述语音特征提取‑教师模型对所述说话人语音验证‑学生模型进行多层知识蒸馏训练,其中:
[0132] 第一层,在所述语音特征提取‑教师模型和所述说话人语音验证‑学生模型的嵌入层之间进行基于特征表示和基于特征距离的特征知识蒸馏,将所述语音特征提取‑教师模型中的说话人关键特征信息迁移至所述说话人语音验证‑学生模型;
[0133] 第二层,在所述语音特征提取‑教师模型和所述说话人语音验证‑学生模型的逻辑层之间进行解耦知识蒸馏,将所述语音特征提取‑教师模型中解耦的目标类逻辑信息和非目标类逻辑信息迁移至所述说话人语音验证‑学生模型;
[0134] 验证模块503,用于在所述说话人语音验证‑学生模型训练完成后,基于训练好的所述说话人语音验证‑学生模型对目标说话人语音进行验证。
[0135] 可选的,所述第二构建模块502,用于:
[0136] 通过第一损失函数L1进行基于特征表示的特征知识蒸馏,将所述语音特征提取‑教师模型的第一特征空间知识迁移至所述说话人语音验证‑学生模型,所述第一损失函数L1的计算公式如下:
[0137]
[0138] 其中,假定输入的成对训练样本数据为(Xt,Xs),Xt={xt,1,xt,2,L,xt,N}表示所述语音特征提取‑教师模型的输入,Xs={xs,1,xs,2,L,xs,M}表示所述说话人语音验证‑学生模型的输入;<,>表示计算特征向量的内积;fθ(·)表示所述语音特征提取‑教师模型提取的话语级说话人特征向量;fΦ(·)表示所述说话人语音验证‑学生模型中提取的话语级说话人特征向量表示。fθ(xt,i)和fΦ(xs,j)具有相同的说话人标签,fθ(xt,i)和fΦ(xs,α)具有不同的说话人标签;A(i)表示所述语音特征提取‑教师模型中训练样本对应的下标,其对应样本的说话人标签与fθ(xt,i)不一致。
[0139] 可选的,所述第二构建模块502,用于:
[0140] 通过第二损失函数L2进行基于特征距离的特征知识蒸馏,所述第二损失函数L2的计算公式如下:
[0141]
[0142] 其中,L2表示两个相似度矩阵的均方误差距离,B表示训练样本数目。ds表示所述说s话人语音验证‑学生模型提取的说话人特征向量之间的相似度矩阵,d的计算公式如下:
[0143]
[0144] 其中,FΦ=[fΦ(xs,1),fΦ(xs,2),L,fΦ(xs,B)],表示所述说话人语音验证‑学生模型提取的说话人特征向量矩阵,“·”表示矩阵乘法,“‑1”表示矩阵的转置;
[0145] dt表示所述说话人语音验证‑教师模型提取的说话人特征向量之间的相似度矩t阵,d的计算公式如下:
[0146]
[0147] 其中,Fθ=[fθ(xt,1),fθ(xt,2),L,fθ(xt,B)],表示所述语音特征提取‑教师模型提取的说话人特征向量矩阵。
[0148] 可选的,所述第二构建模块502,用于:
[0149] 通过第三损失函数L3进行解耦知识蒸馏,所述第三损失函数L3的计算公式如下:
[0150] L3=αTCKD+βNCKD
[0151] 其中,α和β为超参数,TCKD表示目标类知识蒸馏,NCKD表示非目标类知识蒸馏。
[0152] 可选的,所述第一构建模块501,用于:
[0153] 基于前端预训练大模型UniSpeech‑SAT、特征融合模块和后端RepVGG模型,构建语音特征提取‑教师模型;
[0154] 基于近场语音样本对所述语音特征提取‑教师模型进行说话人语音验证的预训练,其中包括:
[0155] 在所述前端预训练大模型UniSpeech‑SAT的卷积神经网络层中,提取所述近场语音样本的卷积特征;
[0156] 在所述前端预训练大模型UniSpeech‑SAT的多层Transformer模型中,提取所述卷积特征的编码特征;
[0157] 在所述特征融合模块中,将所述卷积特征和所述编码特征进行融合,得到融合特征;
[0158] 将所述融合特征输入所述后端RepVGG模型,并使用交叉熵损失函数进行说话人语音验证的预训练。
[0159] 可选的,
[0160] 假设所述卷积神经网络输出的所述卷积特征表示为H0={h1,0,L,hT,0},所述Transformer模型中第l层隐藏层输出的所述编码特征表示为Hl={h1,l,L,hT,l},则:
[0161] 所述在所述特征融合模块中,将所述卷积特征和所述编码特征进行融合,得到融合特征,包括:
[0162] 在所述特征融合模块中,基于可学习的权重ωl将所述卷积特征和所述编码特征进行融合,得到融合特征O,所述融合特征O表示如下:
[0163] O={o1,o2,L,oT}
[0164]
[0165] 其中,l∈{1,2,L,L},T表示序列长度,L表示隐藏层数目。
[0166] 可选的,所述第二构建模块502,用于:
[0167] 基于短时傅里叶变换模块、梅尔频谱特征提取模块、RepVGG主干网络,构建说话人语音验证‑学生模型;
[0168] 其中,所述短时傅里叶变换模块,用于将待处理的语音时域信号转换为语音频域信号;
[0169] 所述梅尔频谱特征提取模块,用于提取所述语音频域信号的梅尔频谱特征;
[0170] 所述RepVGG主干网络,用于基于所述梅尔频谱特征进行说话人语音验证。
[0171] 可选的,所述RepVGG主干网络还用于:在所述多层知识蒸馏训练的过程中,基于多分支结构进行训练;在推理时,通过重参数化技术,将所述多分支结构转换为单一路径结构。
[0172] 本发明实施例可以取得如下有益效果:
[0173] 对预训练好的语音特征提取‑教师模型进行知识蒸馏,将知识迁移至说话人语音验证‑学生模型,在不引入任何额外计算的情况下将大型教师模型的知识转移到轻量级学生模型中,从而提高学生模型的性能。并且,在多层知识蒸馏训练的过程中,第一层,在教师模型和学生模型的嵌入层进行特征知识蒸馏,采用两种特征级的知识蒸馏策略,即基于特征表示和基于特征距离的特征知识蒸馏,将教师模型学习到的说话人关键特征信息传递给学生模型,使模型能够更好地捕捉说话人的共性特征,引导学生模型学习更加鲁棒和泛化的领域不变说话人嵌入空间,从而提高模型在远场情况下的性能表现。第二层,在教师模型和学生模型的逻辑层进行解耦知识蒸馏,将逻辑层输出解耦为两个独立部分的加权和,平衡目标类别和非目标类别逻辑信息的有效性,通过解耦知识蒸馏损失函数的计算获得更高层次的说话人音色特征,从而提高不同说话人特征的可区分性,使得在验证目标说话人时具有更高的准确性,有助于解决在跨域不匹配情况下,模型可能因为受到非目标类别的干扰而导致性能下降的问题。
[0174] 第一层特征知识蒸馏层关注的是模型在捕获领域不变特征方面的优化,而第二层解耦知识蒸馏层则强调模型在目标和非目标类别逻辑信息上的平衡。通过结合这两层知识蒸馏,本发明可以缓解域失配问题,能够提升模型在远场说话人验证的性能,使其更适用于复杂的实际场景。
[0175] 本发明示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本发明实施例的方法。
[0176] 本发明示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本发明实施例的方法。
[0177] 本发明示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本发明实施例的方法。
[0178] 参考图6,现将描述可以作为本发明的服务器或客户端的电子设备600的结构框图,其是可以应用于本发明的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
[0179] 如图6所示,电子设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
[0180] 电子设备600中的多个部件连接至I/O接口605,包括:输入单元606、输出单元607、存储单元608以及通信单元609。输入单元606可以是能向电子设备600输入信息的任何类型的设备,输入单元606可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元607可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元608可以包括但不限于磁盘、光盘。通信单元609允许电子设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
[0181] 计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器微控制器等。计算单元601执行上文所描述的各个方法和处理。例如,在一些实施例中,上述说话人语音验证方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到电子设备600上。在一些实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述说话人语音验证方法。
[0182] 用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0183] 在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD‑ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0184] 如本发明使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
[0185] 为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0186] 可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
[0187] 计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端‑服务器关系的计算机程序来产生客户端和服务器的关系。
[0188] 当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当然可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。