一种声纹向量提取方法、装置、设备及存储介质与流程

文档序号:25952840发布日期:2021-07-20 17:10阅读:171来源:国知局
一种声纹向量提取方法、装置、设备及存储介质与流程

本申请涉及声纹识别技术领域,尤其涉及一种声纹向量提取方法、装置、设备及存储介质。



背景技术:

声纹识别技术又称说话人识别技术,其是利用人的声音来检测说话人的身份的技术。与其它生物识别技术相比,声纹识别技术利用语音信号进行身份确认,具有成本低廉、采集简便、易于存储、难于模仿、交互友好等特点,同时也可以通过电话或网络等方式进行远程操作,因此,声纹识别技术在经济、生活等很多领域都具有良好而广阔的应用前景。

声纹识别技术的关键在于声纹向量的提取,从理论上说,对于文本无关的声纹识别任务而言,某条语音数据的时序信息无论如何变化,针对该条语音提取的声纹向量应该基本保持一致,这意味着,声纹向量提取方案应不受语音时序扰动的干扰,然而,目前尚不存在不受语音时序扰动干扰的声纹向量提取方案。



技术实现要素:

有鉴于此,本申请提供了一种声纹向量提取方法、装置、设备及存储介质,该声纹向量提取方案不受语音时序扰动的干扰,其技术方案如下:

一种声纹向量提取方法,包括:

获取目标语音数据对应的语谱片段序列;

基于所述语谱片段序列和预先建立的第一声纹提取模型,确定所述目标语音数据对应的声纹向量;

其中,所述第一声纹提取模型以第一训练语谱片段为训练样本,采用第二声纹提取模型辅助训练得到,所述第一声纹提取模型的训练目标包括:使基于第一声纹向量针对设定身份标签预测的概率与基于第二声纹向量针对所述设定身份标签预测的概率趋于一致,所述第一声纹向量为所述第一声纹提取模型针对所述第一训练语谱片段提取的声纹向量,所述第二声纹向量为所述第二声纹提取模型针对第二训练语谱片段提取的声纹向量,所述第二训练语谱片段为对所述第一训练语谱片段的时序进行打乱后的语谱片段。

可选的,所述基于所述语谱片段序列和预先建立的第一声纹提取模型,确定所述目标语音数据对应的声纹向量,包括:

将所述语谱片段序列中的各语谱片段输入所述第一声纹提取模型,得到所述语谱片段序列中的各语谱片段分别对应的声纹向量;

将所述语谱片段序列中的各语谱片段分别对应的声纹向量融合,得到所述目标语音数据对应的声纹向量。

可选的,所述第一声纹提取模型的训练目标还包括:

使基于所述第一声纹向量预测的身份标签与所述第一训练语谱片段对应的真实身份标签相同;

和/或,

使所述第一声纹向量与第三声纹向量的相似度高于所述第一声纹向量与第四声纹向量的相似度;其中,所述第三声纹向量为所述第一声纹提取模型针对对应的真实身份标签与所述第一训练语谱片段对应的真实身份标签相同的训练语谱片段提取的声纹向量,所述第四声纹向量为所述第一声纹提取模型针对对应的真实身份标签与所述第一训练语谱片段对应的真实身份标签不同的训练语谱片段提取的声纹向量。

可选的,建立所述第一声纹提取模型的过程包括:

将所述第一训练语谱片段输入第一声纹提取模型,得到所述第一声纹向量,根据所述第一声纹向量预测所述设定身份标签对应的概率,作为第一预测概率;

对所述第一训练语谱片段的时序进行打乱,将打乱时序后的语谱片段作为所述第二训练语谱片段输入所述第二声纹提取模型,得到所述第二声纹向量,根据所述第二声纹向量预测所述设定身份标签对应的概率,作为第二预测概率;

根据所述第一预测概率和所述第二预测概率,确定能够表征所述第一声纹提取模型与所述第二声纹提取模型对所述设定身份标签的预测差异的预测损失;

根据所述预测损失,更新第一声纹提取模型的参数。

可选的,所述第二训练语谱片段为多个;

对所述第一训练语谱片段的时序进行打乱,以得到多个第二训练语谱片段,包括:

基于多个不同的切分长度分别将所述第一训练语谱片段切分为语谱子片段,以得到分别对应于各切分长度的切分结果;

将对应于每个切分长度的切分结果中的语谱子片段打乱后重新组合,以得到多个第二训练语谱片段。

可选的,所述第二训练语谱片段为多个;

将所述第二训练语谱片段输入所述第二声纹提取模型,得到所述第二声纹向量,包括:

将多个第二训练语谱片段输入所述第二声纹提取模型;

由所述第二声纹提取模型将每个第二训练语谱片段映射为多个训练语谱子片段,以得到多个第二训练语谱片段分别对应的映射结果;

由所述第二声纹提取模型将多个第二训练语谱片段分别对应的映射结果中对应的训练语谱子片段融合,得到多个融合后训练语谱子片段;

由所述第二声纹提取模型对所述多个融合后训练语谱子片段进行处理,以得到所述第二声纹向量。

可选的,所述第一声纹提取模型和所述第二声纹提取模型均为卷积神经网络;

所述第一声纹提取模型包括多个级联的第一处理模块,每个第一处理模块均包括卷积层和激活层,第一个第一处理模块的输入为所述第一训练语谱片段,其它第一处理模块的输入为前一第一处理模块输出的多个训练语谱子片段,所述第一声纹向量基于最后一个第一处理模块的输出确定;

所述第二声纹提取模型包括多个级联的第二处理模块,每个第二处理模块均包括卷积层和激活层,第一个第二处理模块的输入为所述第二训练语谱片段,其它第二处理模块的输入为前一第二处理模块输出的多个训练语谱子片段,所述第二声纹向量基于最后一个第二处理模块的输出确定。

可选的,所述建立所述第一声纹提取模型的过程还包括:

基于所述多个级联的第一处理模块中除最后一个第一处理模块外的一第一处理模块的输出确定声纹向量,作为第三声纹向量,根据所述第三声纹向量预测设定身份标签对应的概率,作为第三预测概率;

基于所述级联的多个第二处理模块中除最后一个第二处理模块外的一第二处理模块的输出确定声纹向量,作为第四声纹向量,根据所述第四声纹向量预测设定身份标签对应的概率,作为第四预测概率;

所述根据所述第一预测概率和所述第二预测概率,确定能够表征所述第一声纹提取模型与所述第二声纹提取模型对所述设定身份标签的预测差异的预测损失,包括:

根据所述第一预测概率、所述第二预测概率、所述第三预测概率和所述第四预测概率,确定能够表征所述第一声纹提取模型与所述第二声纹提取模型对所述设定身份标签的预测差异的预测损失。

可选的,所述基于所述多个级联的第一处理模块中除最后一个第一处理模块外的一第一处理模块的输出确定声纹向量,作为第三声纹向量,包括:

基于所述多个级联的第一处理模块中的倒数第二个第一处理模块的输出确定声纹向量,作为第三声纹向量;

所述基于所述级联的多个第二处理模块中除最后一个第二处理模块外的一第二处理模块的输出确定声纹向量,作为第四声纹向量,包括:

基于所述多个级联的第二处理模块中的倒数第二个第二处理模块的输出确定声纹向量,作为第四声纹向量。

一种声纹向量提取装置,包括:语谱片段序列获取模块和声纹向量确定模块;

所述语谱片段序列获取模块,用于获取目标语音数据对应的语谱片段序列;

所述声纹向量确定模块,用于基于所述语谱片段序列和预先建立的第一声纹提取模型,确定所述目标语音数据对应的声纹向量;

其中,所述第一声纹提取模型以第一训练语谱片段为训练样本,采用第二声纹提取模型辅助训练得到,所述第一声纹提取模型的训练目标包括:使基于第一声纹向量针对设定身份标签预测的概率与基于第二声纹向量针对所述设定身份标签预测的概率趋于一致,所述第一声纹向量为所述第一声纹提取模型针对所述第一训练语谱片段提取的声纹向量,所述第二声纹向量为所述第二声纹提取模型针对第二训练语谱片段提取的声纹向量,所述第二训练语谱片段为对所述第一训练语谱片段的时序进行打乱后的语谱片段。

一种声纹向量提取设备,包括:存储器和处理器;

所述存储器,用于存储程序;

所述处理器,用于执行所述程序,实现上述任一项所述的声纹向量提取方法的各个步骤。

一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述任一项所述的声纹向量提取方法的各个步骤。

经由上述方案可知,本申请提供的声纹向量提取方法、装置、设备及存储介质,首先获取目标语音数据对应的语谱片段序列,然后基于语谱片段序列和预先建立的第一声纹提取模型,确定目标语音数据对应的声纹向量,由于第一声纹提取模型以使基于第一声纹向量(即第一声纹提取模型针对第一训练语谱片段提取的声纹向量)针对设定身份标签预测的概率与基于第二声纹向量(第二声纹提取模型针对第二训练语谱片段即对第一训练语谱片段的时序进行打乱后的语谱片段提取的声纹向量)针对设定身份标签预测的概率趋于一致为训练目标训练得到,因此,第一声纹提取模型为与时序信息无关的声纹提取模型,基于该声纹提取模型针对语音数据提取声纹向量不受时序信息的干扰。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的声纹向量提取方法的流程示意图;

图2为本申请实施例提供的建立第一声纹提取模型的一种实现方式中的部分流程示意图;

图3为本申请实施例提供的按切分长度5对一语谱片段进行切分后打乱再组合的示意图;

图4为本申请实施例提供的建立第一声纹提取模型的另一种实现方式中的部分流程示意图;

图5为本申请实施例提供的声纹向量提取装置的结构示意图;

图6为本申请实施例提供的声纹向量提取设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本案发明人在实现本案的过程中发现:目前主流的声纹向量提取方案为基于全变量因子分析的方案,该方案的大致过程为,预先利用大量的语料训练得到覆盖各种环境和信道的全变量空间,对于一段语音,利用训练得到的全变量空间将该段语音映射成维度固定统一的声纹向量。

然而,上述基于全变量因子分析的声纹向量提取方案在语音时长较短的情况下,由于统计量计算不充分,会导致获取的声纹向量不够稳定,进而会导致后续的声纹认证准确率不高,并且,上述方案并未考虑语音时序扰动对声纹向量提取的影响。

鉴于上述基于全变量因子分析的声纹向量提取方案存在的缺陷,再加之近年来深度学习方法在众多研究领域取得的成就,出现了基于深度学习的声纹向量提取方案,然而,现有的基于深度学习的声纹向量提取方案也未考虑语音时序扰动对声纹向量提取的影响,即采用现有的基于深度学习的声纹向量提取方案对一无扰动语音和其对应的扰动语音提取的声纹差异很大,或者对一无扰动语音对应的两个扰动语音(两个扰动语音的时序信息不同)提取的声纹差异很大。

为了使语音时序扰动不干扰声纹向量的提取,本案发明人进行了深入研究,通过研究,最终提出了一种不受语音时序扰动的干扰的声纹向量提取方法,该方案的基本思路是:对两个声纹提取模型(即第一声纹提取模型和第二声纹提取模型)进行联合训练,以去除时序信息对声纹向量提取的干扰,其中,第一声纹提取模型采用无时序扰动的语谱子片段训练,第二声纹提取模型采用对无时序扰动的语谱子片段进行时序扰动后得到的语谱子片段训练,训练结束后,基于第一声纹提取模型对待提取声纹向量的语音数据提取声纹向量。另外,在训练时,可采用不同的扰动方式对无时序扰动的语谱子片段进行时序扰动,以得到多个时序扰动语谱子片段,从而将多个时序扰动语谱子片段输入第二声纹提取模型进行训练。

本申请提供的声纹向量提取方法可应用于文本无关的声纹识别任务,该声纹向量提取方法可应用于具有数据处理能力的电子设备,该电子设备可以为网络侧的服务器,也可以为用户侧使用的终端,比如pc、笔记本、智能手机等,网络侧的服务器或用户侧使用的终端可接收语音数据,按本申请提供的声纹向量提取方法对接收的语音数据提取声纹向量。接下来通过下述实施例对本申请提供的声纹向量提取方法进行介绍。

第一实施例

请参阅图1,示出了本申请实施例提供的声纹向量提取方法的流程示意图,该方法可以包括:

步骤s101:获取目标语音数据对应的语谱片段序列。

其中,目标语音数据为待提取声纹向量的语音数据。

在本实施例中,获取目标语音数据对应的语音片段序列的过程包括:根据目标语音数据获取语音特征,获取的语音特征作为目标语音数据对应的语音特征,可选的,目标语音数据对应的语音特征可以但不限定于filterbank特征,具体的,对目标语音数据进行加窗、傅里叶变换,以得到filterbank特征;根据目标语音数据对应的语音特征构造语谱图,作为目标语音数据对应的语谱图;按预设的切分长度对目标语音数据对应的语谱图进行切分,由切分得到的语谱片段组成的序列作为目标语音数据对应的语谱片段序列。

步骤s102:基于目标语音数据对应的语谱片段序列和预先建立的第一声纹提取模型,确定目标语音数据对应的声纹向量。

本实施例中的第一声纹提取模型以第一训练语谱片段为训练样本,采用第二声纹提取模型辅助训练得到。

其中,第一声纹提取模型的训练目标包括:使基于第一声纹向量针对设定身份标签预测的概率与基于第二声纹向量针对所述设定身份标签预测的概率趋于一致,第一声纹向量为第一声纹提取模型针对第一训练语谱片段提取的声纹向量,第二声纹向量为第二声纹提取模型针对第二训练语谱片段提取的声纹向量,第二训练语谱片段为对第一训练语谱片段的时序进行打乱后的语谱片段。

需要说明的是,第一声纹提取模型的训练目标还可以包括:使基于第一声纹向量预测的身份标签与第一训练语谱片段对应的真实身份标签相同;和/或,使所述第一声纹向量与第三声纹向量的相似度高于第一声纹向量与第四声纹向量的相似度。其中,第三声纹向量为第一声纹提取模型针对对应的真实身份标签与第一训练语谱片段对应的真实身份标签相同的训练语谱片段提取的声纹向量,第四声纹向量为第一声纹提取模型针对对应的真实身份标签与第一训练语谱片段对应的真实身份标签不同的训练语谱片段提取的声纹向量。

具体的,基于目标语音数据对应的语谱片段序列和预先建立的第一声纹提取模型,确定目标语音数据对应的声纹向量的过程可以包括:

步骤s1021、将目标语音数据对应的语谱片段序列中各语谱片段输入第一声纹提取模型,得到目标语音数据对应的语谱片段序列中各语谱片段分别对应的声纹向量。

步骤s1022、将目标语音数据对应的语谱片段序列中各语谱片段分别对应的声纹向量融合,得到目标语音数据对应的声纹向量。

将目标语音数据对应的语谱片段序列中各语谱片段分别对应的声纹向量融合,得到目标语音数据对应的声纹向量的实现方式有多种:

在一种可能的实现方式中,可对目标语音数据对应的语谱片段序列中各语谱片段分别对应的声纹向量求均值,求得到均值作为目标语音数据对应的声纹向量,即:

在另一种可能的实现方式中,可对目标语音数据对应的语谱片段序列中各语谱片段分别对应的声纹向量加权后求均值,加权后求得到的均值作为目标语音数据对应的声纹向量,即:

式(1)和式(2)中的n表示目标语音数据对应的语谱片段序列中语谱片段的总数量,wi表示目标语音数据对应的语谱片段序列中的第i个语谱片段对应的声纹向量,αi表示声纹向量wi对应的权重,w表示目标语音数据对应的声纹向量。

本申请实施例提供的声纹向量提取方法,首先获取目标语音数据对应的语谱片段序列,然后基于语谱片段序列和预先建立的第一声纹提取模型,确定目标语音数据对应的声纹向量,由于第一声纹提取模型以使基于第一声纹向量(第一声纹提取模型针对第一训练语谱片段提取的声纹向量)针对设定身份标签预测的概率与基于第二声纹向量(第二声纹提取模型针对第二训练语谱片段(对第一训练语谱片段的时序进行打乱后的语谱片段)提取的声纹向量)针对设定身份标签预测的概率趋于一致为训练目标训练得到,因此,第一声纹提取模型为与时序信息无关的声纹提取模型,基于该声纹提取模型提取声纹向量不受时序信息的干扰。

第二实施例

经由上述实施例可知,目标语音数据对应的声纹向量基于预先建立的第一声纹提取模型确定,本实施例重点对建立第一声纹提取模型的过程进行介绍。

建立第一声纹提取模型的实现方式有多种,本申请提供两种可选的实现方式,本实施例对第一种可选的实现方式进行介绍,建立第一声纹提取模型的第一种实现方式的实现过程可以包括:

步骤a1:从训练数据总集中获取一训练数据集。

其中,训练数据总集中包括多个训练语谱片段。在本实施例中,从训练数据总集中获取一训练数据集的过程包括:从训练数据总集中获取预设个训练语谱片段,组成训练数据集。

需要说明的是,训练数据总集中的训练语谱片段根据训练语音数据获取,具体的,根据训练语音数据获取训练语谱片段的过程包括:根据训练语音数据获取语音特征,获取的语音特征作为训练语音数据对应的语音特征(可选的,训练语音数据对应的语音特征可以但不限定于filterbank特征,具体的,对训练语音数据进行加窗、傅里叶变换,以得到filterbank特征);根据获取的语音特征构造语谱图,作为训练语音数据对应的语谱图;按预设的切分长度对训练语音数据对应的语谱图进行切分,以得到训练语谱片段。

假设训练语音数据对应的语音特征的维度为d,预设的切分长度为l,按预设的切分长度l对训练语音数据对应的语谱图进行切分后得到的每个语谱片段的尺寸为l×d。需要说明的是,若目标语音数据的长度不足l,则可将训练语音数据复制若干遍使其长度大于或等于l,若复制后存在多余数据,则将多余数据丢弃。可选的,预设的切分长度l可以为训练语音数据的平均有效时长的1/2,需要说明的是,切分长度l应设置的合适,若切分长度l设置的过小,会造成训练语音数据对应的语谱图碎片化,连贯的语谱信息被切割成若干个小的语谱片段,语谱片段间的信息丢失过多,无法对语音的长时相关性进行建模,若切分长度l设置过大,则影响模型的训练效率,同时对于处理设备的资源占用较多。

步骤a2:针对训练数据集中的每个训练语谱片段,将其作为第一训练语谱片段,执行图2示出的流程:

步骤s201a:将第一训练语谱片段输入第一声纹提取模型,得到第一声纹向量。

考虑到卷积神经网络可以对时域和频域进行联合分析,深刻挖掘语音频谱中的声纹信息,本实施例中的第一声纹提取模型可以为卷积神经网络,第一声纹提取模型包括级联的多个第一处理模块(比如4个)、池化层和全连接层,每个第一处理模块中包括卷积层和激活层,其中,第一个第一处理模块的输入为第一训练语谱片段,第一个第一处理模块用于将输入的第一训练语谱片段映射为多个训练语谱子片段并输出,其它第一处理模块的输入为前一个第一处理模块的输出,其它第一处理模块的功能与第一个第一处理模块的功能类似。

需要说明的是,步骤s203a中的第一声纹向量根据级联的多个第一处理模块中的最后一个第一处理模块的输出确定,具体的,由第一声纹提取模型中的池化层对最后一个第一处理模块的输出进行统计池化处理,以得到高维的声纹向量,第一声纹提取模型中的全连接层通过线性变换将高维的声纹向量压缩成低维的声纹向量,该低维的声纹向量即为s203a中的第一声纹向量。

步骤s201b:对第一训练语谱片段的时序进行打乱,将打乱时序后的语谱片段作为第二训练语谱片段输入第二声纹提取模型,得到第二声纹向量。

其中,第二训练语谱片段可以为一个,也可以为多个,为了获得较好的训练效果,第二训练语谱片段优选为多个,比如3个。

若第二训练语谱片段为一个,则根据第一训练语谱片段获取一个第二语谱片段的过程包括:基于一切分长度将第一训练语谱片段切分为语谱子片段,对切分得到的语谱子片段打乱后重新组合,得到一个第二训练语谱片段。

若第二训练语谱片段为多个,则根据第一训练语谱片段获取多个第二语谱片段的过程包括:基于多个不同的切分长度分别将第一训练语谱片段切分为语谱子片段,以得到分别对应于各切分长度的切分结果,将对应于每个切分长度的切分结果中的语谱子片段打乱后重新组合,以得到多个第二训练语谱片段。

可选的,切分长度可根据每个字(本申请并不限定于字,比如还可以为词)所占的帧数确定,比如,根据统计得到,一个字通常占5~20帧,则切分长度可以为5~20中的值。请参阅图3,示出了按切分长度5对一语谱片段进行切分后打乱再组合的示意图,需要说明的是,按切分长度5对一语谱片段进行切分得到的语谱子片段为5帧语音数据的语谱信息。

与第一声纹提取模型类似,第二声纹提取模型也可以为卷积神经网络,第二声纹提取模型包括级联的多个第二处理模块(比如4个)、池化层和全连接层,每个第二处理模块中包括卷积层和激活层,其中,第一个第二处理模块的输入为第二训练语谱片段,第一个第二处理模块用于将输入的第二训练语谱片段映射为多个训练语谱子片段并输出,其它第二处理模块的输入为前一个第一处理模块的输出,其它第二处理模块的功能与第一个第二处理模块的功能类似。

若第二训练语谱片段为多个,则第一个第二处理模块可以包括多个处理子模块(处理子模块的数量与第二训练语谱片段的数量相同)和融合子模块,每个处理子模块均包含卷积层和激活层,每个处理子模块的输入为一个第二训练语谱片段,每个处理子模块的输出为多个训练语谱子片段,融合子模块将各处理子模块输出的多个训练语谱子片段中对应的训练语谱子片段融合。

示例性的,有三个第二训练语谱片段,三个第二训练语谱片段基于三个不同的切分长度(比如,5、10、20)分别对第一训练语谱片段进行切分、打乱、组合得到,相应的,第一个第二处理模块包括三个处理子模块,假设三个第二训练语谱片段分别为x1、x2和x3,则将x1输入第一个处理子模块,将x2输入第二个处理子模块,将x3输入第三个处理子模块,第一个处理子模块将x1映射为m个训练语谱子片段并输出,第二个处理子模块将x2映射为m个训练语谱子片段并输出,第三个处理子模块将x3映射为m个训练语谱子片段并输出,融合子模块将第一个处理子模块输出的m个训练语谱子片段、第二个处理子模块输出的m个训练语谱子片段、第三个处理子模块输出的m个训练语谱子片段中对应的训练语谱子片段融合,比如,可按下式将第一个处理子模块输出的第i个(i取1~m)训练语谱子片段第二个处理子模块输出的第i个训练语谱子片段第三个处理子模块输出的第i个训练语谱子片段融合,以得到融合后训练语谱子片段ci

其中,λ1为对应的加权系数、λ2为对应的加权系数,λ3为对应的加权系数,三个加权系数满足λ1+λ2+λ3=1。

需要说明的是,步骤s203b中的第二声纹向量根据级联的多个第二处理模块中的最后一个第二处理模块的输出确定,具体的,由第二声纹提取模型中的池化层对最后一个第二处理模块的输出进行统计池化处理,以得到高维的声纹向量,第二声纹提取模型中的全连接层通过线性变换将池化层输出的高维的声纹向量压缩成低维的声纹向量,该低维的声纹向量即为s203b中的第二声纹向量。

步骤s202a:根据第一声纹向量预测设定身份标签对应的概率,作为第一预测概率。

其中,设定身份标签可以为一个,也可以为多个,通常为多个,若设定身份标签为多个,则根据第一声纹向量预测每个设定身份标签对应的概率,需要说明的是,一设定身份标签对应的概率为第一训练语谱片段对应的身份标签为该设定身份标签的后验概率。

步骤s202b:根据第二声纹向量预测设定身份标签对应的概率,作为第二预测概率。

步骤s2023a:根据第一预测概率和第二预测概率,确定能够表征第一声纹提取模型与第二声纹提取模型对设定身份标签的预测差异的预测损失,作为第一声纹提取模型针对第一训练语谱片段的第一预测损失(同时也作为第二声纹提取模型针对第二训练语谱片段的第一预测损失)。

若将第一预测概率表示为p1,将第二预测概率表示为p2,则第一预测损失loss1可通过下式计算:

需要说明的是,第一声纹提取模型与第二声纹提取模型联合训练,上述第一预测损失为第一声纹提取模型与第二声纹提取模型进行联合训练的预测损失,也就是说,loss1为第一声纹提取模型针对第一训练语谱片段的预测损失,也是第二声纹提取模型针对第二训练语谱片段的预测损失,其为第一声纹提取模型进行参数更新的依据,也为第二声纹提取模型进行参数更新的依据。

为了获得较好的训练效果,还可通过如下方式获取第一声纹提取模型针对第一训练语谱片段的第二预测损失loss2和/或第三预测损失loss3:

根据第一预测概率确定第一训练语谱片段对应的预测身份标签(即针对第一训练语谱片段预测的身份标签),并根据第一训练语谱片段对应的预测身份标签和第一训练语谱片段对应的真实身份标签确定预测损失,作为第一声纹提取模型针对第一训练语谱片段的第二预测损失loss2。

将第一训练语谱片段对应的正样本输入第一声纹提取模型,得到的声纹向量作为第三声纹向量,将第一训练语谱片段对应的负样本输入第一声纹提取模型,得到的声纹向量作为第四声纹向量,根据第一声纹向量、第三声纹向量和第四声纹向量确定预测损失,作为第一声纹提取模型针对第一训练语谱片段的第三预测损失loss3。

其中,第一训练语谱片段对应的正样本为训练数据集中对应的真实身份标签与第一训练语谱片段对应的真实身份标签相同的训练语谱片段,第一训练语谱片段对应的负样本为训练数据集中对应的真实身份标签与第一训练语谱片段对应的真实身份标签不同的训练语谱片段。

其中,根据第一声纹向量、第三声纹向量和第四声纹向量确定预测损失,的过程可以包括:计算第一声纹向量与第三声纹向量的相似度,并计算第一声纹向量与第四声纹向量的相似度,根据计算出相似度确定预测损失。

将第一声纹提取模型针对第一训练语谱片段的第二预测损失loss2和/或第三预测损失loss3,与第一声纹提取模型针对第一训练语谱片段的第一预测损失loss1求和,求和得的结果作为针对第一训练语谱片段的目标预测损失。

经由上述过程可获得第一声纹提取模型针对训练数据集中各训练语谱片段的目标预测损失,接下来便可执行:

步骤a3:根据第一声纹提取模型针对训练数据集中各训练语谱片段的目标预测损失,更新第一声纹提取模型的参数。

具体的,可将针对训练数据集中各训练语谱片段的目标预测损失求和,根据求和得到的损失更新第一声纹提取模型的参数。

需要说明的是,在确定第一声纹提取模型针对第一训练语谱片段的目标预测损失的同时,按类似的方式确定第二声纹提取模型针对第一语谱片段对应的第二训练语谱片段的目标预测损失,从而基于第二声纹提取模型针对训练数据集中各训练语谱片段分别对应的第二训练语谱片段的目标预测损失更新第二声纹提取模型的参数。

上述步骤a1~步骤a3重复执行多次,直至满足训练结束条件。

经由上述训练方式训练得到的声纹提取模型为与语音时序信息无关的声纹提取模型,基于该声纹提取模型提取声纹向量不受语音时序信息的干扰。

第三实施例

为了能够建立声纹提取能力更强的第一声纹提取模型,本实施例提供另一种建立第一声纹提取模型的实现方式,接下来对该实现方式进行介绍。

建立第一声纹提取模型的第二种实现方式的过程可以包括:

步骤b1:从训练数据总集中获取一训练数据集。

本步骤的具体实现过程与相关解释说明可参加上述实施例中步骤a1的具体实现过程与相关解释说明,本实施例在此不做赘述。

步骤b2:针对训练数据集中的每个训练语谱片段,将其作为第一训练语谱片段,执行图4示出的流程:

步骤s401a-a:将第一训练语谱片段输入第一声纹提取模型,以得到根据第一声纹提取模型中级联的多个第一处理模块中最后一个处理模块的输出确定的声纹向量,作为第一声纹向量。

由上述实施例可知,第一声纹提取模型可以为卷积神经网络,第一声纹提取模型包括级联的多个第一处理模块以及池化层和全连接层,每个第一处理模块中包括卷积层和激活层,第一声纹向量根据级联的多个第一处理模块中最后一个第一处理模块的输出确定,第一声纹向量的具体确定过程可参见上述实施例,本实施例在此不做赘述。

步骤s401b-a:对第一训练语谱片段的时序进行打乱,将打乱时序后的语谱片段作为第二训练语谱片段输入第二声纹提取模型,以得到根据第二声纹提取模型中级联的多个第二处理模块中最后一个处理模块的输出确定的声纹向量,作为第二声纹向量。

由上述实施例可知,第二声纹提取模型可以为卷积神经网络,第二声纹提取模型包括级联的多个第二处理模块以及池化层和全连接层,每个第二处理模块中包括卷积层和激活层,第二声纹向量根据级联的多个第二处理模块中最后一个第二处理模块的输出确定,第二声纹向量的具体确定过程可参见上述实施例,本实施例在此不做赘述。

步骤s401a-b:根据第一声纹提取模型中多个级联的第一处理模块中除最后一个第一处理模块外的一第一处理模块的输出确定声纹向量,作为第三声纹向量。

优选的,可基于第一声纹提取模型中多个级联的第一处理模块中的倒数第二个第一处理模块的输出确定声纹向量,作为第三声纹向量。

步骤s401b-b:根据第二声纹提取模型中多个级联的第二处理模块中除最后一个第二处理模块外的一第二处理模块的输出确定声纹向量,作为第四声纹向量。

优选的,可基于第二声纹提取模型中多个级联的第二处理模块中的倒数第二个第二处理模块的输出确定声纹向量,作为第四声纹向量。

步骤s402a-a:根据第一声纹向量预测设定身份标签对应的概率,作为第一预测概率。

步骤s402b-a:根据第二声纹向量预测设定身份标签对应的概率,作为第二预测概率。

步骤s402a-b:根据第三声纹向量预测设定身份标签对应的概率,作为第三预测概率。

步骤s402b-b:根据第四声纹向量预测设定身份标签对应的概率,作为第四预测概率。

步骤s403:根据第一预测概率、第二预测概率、第三预测概率和第四预测概率,确定能够表征第一声纹提取模型与第二声纹提取模型对设定身份标签的预测差异的预测损失,作为第一声纹提取模型针对第一训练语谱片段的第一预测损失(也作为第二声纹提取模型针对第二训练语谱片段的第一预测损)。

若将第一预测概率表示为p1,将第二预测概率表示为p2,将第三预测概率表示为p'1,将第四预测概率表示为p'2,则第一预测损失loss1可通过下式计算:

loss1=loss11+loss12(5)

需要说明的是,第一声纹提取模型与第二声纹提取模型联合训练,上述的第一预测损失loss1为第一声纹提取模型与第二声纹提取模型进行联合训练的预测损失,loss1为第一声纹提取模型针对第一训练语谱片段的预测损失,也是第二声纹提取模型针对第二训练语谱片段的预测损失,即其为第一声纹提取模型进行参数更新的依据,也为第二声纹提取模型进行参数更新的依据。

为了获得较好的训练效果,还可获取第一声纹提取模型针对第一训练语谱片段的第二预测损失loss2和/或第三预测损失loss3,第一声纹提取模型针对第一训练语谱片段的第二预测损失loss2和/或第三预测损失loss3可参见上述实施例中的相关部分的介绍,本实施例在此不做赘述。

将第一声纹提取模型针对第一训练语谱片段的第二预测损失loss2和/或第三预测损失loss3,与第一声纹提取模型针对第一训练语谱片段的第一预测损失loss1求和,求和得的结果作为针对第一训练语谱片段的目标预测损失。

经由上述过程可获得第一声纹提取模型针对训练数据集中各训练语谱片段的目标预测损失,接下来便可执行:

步骤b3:根据第一声纹提取模型针对训练数据集中各训练语谱片段的目标预测损失,更新第一声纹提取模型的参数。

需要说明的是,在确定第一声纹提取模型针对第一训练语谱片段的目标预测损失的同时,按类似的方式确定第二声纹提取模型针对第一语谱片段对应的第二训练语谱片段(即对第一语谱片段的时序进行打乱后得到的语谱片段)的目标预测损失,从而基于第二声纹提取模型针对训练数据集中各训练语谱片段分别对应的第二训练语谱片段的目标预测损失更新第二声纹提取模型的参数。

上述步骤b1~步骤b3重复执行多次,直至满足训练结束条件。

经由上述训练方式训练得到的第一声纹提取模型为与语音时序信息无关的声纹提取模型,基于训练得到的第一声纹提取模型提取的声纹向量不受语音时序信息的干扰。

第四实施例

本申请实施例还提供了一种声纹向量提取装置,下面对本申请实施例提供的声纹向量提取装置进行描述,下文描述的声纹向量提取装置与上文描述的声纹向量提取方法可相互对应参照。

请参阅图5,示出了本申请实施例提供的声纹向量提取装置的结构示意图,可以包括:语谱片段序列获取模块501和声纹向量确定模块502。

语谱片段序列获取模块501,用于获取目标语音数据对应的语谱片段序列。

声纹向量确定模块502,用于基于所述语谱片段序列和预先建立的第一声纹提取模型,确定所述目标语音数据对应的声纹向量。

其中,所述第一声纹提取模型以第一训练语谱片段为训练样本,采用第二声纹提取模型辅助训练得到,所述第一声纹提取模型的训练目标包括:使基于第一声纹向量针对设定身份标签预测的概率与基于第二声纹向量针对所述设定身份标签预测的概率趋于一致,所述第一声纹向量为所述第一声纹提取模型针对所述第一训练语谱片段提取的声纹向量,所述第二声纹向量为所述第二声纹提取模型针对第二训练语谱片段提取的声纹向量,所述第二训练语谱片段为对所述第一训练语谱片段的时序进行打乱后的语谱片段。

在一种可能的实现方式中,声纹向量确定模块502包括:声纹向量确定子模块和声纹向量融合子模块。

所述声纹向量确定子模块,用于将所述语谱片段序列中的各语谱片段输入所述第一声纹提取模型,得到所述语谱片段序列中的各语谱片段分别对应的声纹向量;

所述声纹向量融合子模块,用于将所述语谱片段序列中的各语谱片段分别对应的声纹向量融合,得到所述目标语音数据对应的声纹向量。

在一种可能的实现方式中,所述第一声纹提取模型的训练目标还包括:

使基于所述第一声纹向量预测的身份标签与所述第一训练语谱片段对应的真实身份标签相同;和/或,使所述第一声纹向量与第三声纹向量的相似度高于所述第一声纹向量与第四声纹向量的相似度;其中,所述第三声纹向量为所述第一声纹提取模型针对对应的真实身份标签与所述第一训练语谱片段对应的真实身份标签相同的训练语谱片段提取的声纹向量,所述第四声纹向量为所述第一声纹提取模型针对对应的真实身份标签与所述第一训练语谱片段对应的真实身份标签不同的训练语谱片段提取的声纹向量。

在一种可能的实现方式中,本申请实施例提供的声纹向量提取装置还可以包括:模型建立模块。

所述模型建立模块可以包括:第一声纹向量获取模块、第一预测概率确定模块、第二声纹向量获取模块、时序打乱模块、第二预测概率确定模块、预测损失确定模块和参数更新模块。

所述第一声纹向量获取模块,用于将所述第一训练语谱片段输入第一声纹提取模型,得到第一声纹向量。

所述第一预测概率确定模块,用于根据所述第一声纹向量预测所述设定身份标签对应的概率,作为第一预测概率。

所述时序打乱模块,用于对所述第一训练语谱片段的时序进行打乱,将打乱时序后的语谱片段作为所述第二训练语谱片段。

所述第二声纹向量获取模块,用于将所述第二训练语谱片段输入所述第二声纹提取模型,得到所述第二声纹向量。

所述第二预测概率确定模块,用于根据所述第二声纹向量预测所述设定身份标签对应的概率,作为第二预测概率。

所述预测损失确定模块,用于根据所述第一预测概率和所述第二预测概率,确定能够表征所述第一声纹提取模型与所述第二声纹提取模型对所述设定身份标签的预测差异的预测损失。

所述参数更新模块,用于根据所述预测损失,更新第一声纹提取模型的参数。

在一种可能的实现方式中,所述第二训练语谱片段为多个。

所述时序打乱模块,具体用于基于多个不同的切分长度分别将所述第一训练语谱片段切分为语谱子片段,以得到分别对应于各切分长度的切分结果,将对应于每个切分长度的切分结果中的语谱子片段打乱后重新组合,以得到多个第二训练语谱片段。

在一种可能的实现方式中,所述第二训练语谱片段为多个。

所述第二声纹向量获取模块,具体用于将多个第二训练语谱片段输入所述第二声纹提取模型,由所述第二声纹提取模型将每个第二训练语谱片段映射为多个训练语谱子片段,以得到多个第二训练语谱片段分别对应的映射结果,由所述第二声纹提取模型将多个第二训练语谱片段分别对应的映射结果中对应的训练语谱子片段融合,得到多个融合后训练语谱子片段,由所述第二声纹提取模型对所述多个融合后训练语谱子片段进行处理,以得到所述第二声纹向量。

在一种可能的实现方式中,所述第一声纹提取模型和所述第二声纹提取模型均为卷积神经网络;

所述第一声纹提取模型包括多个级联的第一处理模块,每个第一处理模块均包括卷积层和激活层,第一个第一处理模块的输入为所述第一训练语谱片段,其它第一处理模块的输入为前一第一处理模块输出的多个训练语谱子片段,所述第一声纹向量基于最后一个第一处理模块的输出确定;

所述第二声纹提取模型包括多个级联的第二处理模块,每个第二处理模块均包括卷积层和激活层,第一个第二处理模块的输入为所述第二训练语谱片段,其它第二处理模块的输入为前一第二处理模块输出的多个训练语谱子片段,所述第二声纹向量基于最后一个第二处理模块的输出确定。

在一种可能的实现方式中,模型建立模块还包括:第三声纹向量获取模块、第三预测概率确定模块、第四声纹向量获取模块和第四预测概率确定模块。

所述第三声纹向量获取模块,用于基于所述多个级联的第一处理模块中除最后一个第一处理模块外的一第一处理模块的输出确定声纹向量,作为第三声纹向量。

所述第三预测概率确定模块,用于根据所述第三声纹向量预测设定身份标签对应的概率,作为第三预测概率。

所述第四声纹向量获取模块,用于基于所述级联的多个第二处理模块中除最后一个第二处理模块外的一第二处理模块的输出确定声纹向量,作为第四声纹向量。

所述第四预测概率确定模块,具体用于根据所述第四声纹向量预测设定身份标签对应的概率,作为第四预测概率。

所述预测损失确定模块,具体用于根据所述第一预测概率、所述第二预测概率、所述第三预测概率和所述第四预测概率,确定能够表征所述第一声纹提取模型与所述第二声纹提取模型对所述设定身份标签的预测差异的预测损失。

在一种可能的实现方式中,所述第三声纹向量获取模块,具体用于基于所述多个级联的第一处理模块中的倒数第二个第一处理模块的输出确定声纹向量,作为第三声纹向量。

所述第四声纹向量获取模块,具体用于基于所述多个级联的第二处理模块中的倒数第二个第二处理模块的输出确定声纹向量,作为第四声纹向量。

本申请实施例提供的声纹向量提取装置,首先获取目标语音数据对应的语谱片段序列,然后基于语谱片段序列和预先建立的第一声纹提取模型,确定目标语音数据对应的声纹向量,由于第一声纹提取模型以使基于第一声纹向量(第一声纹提取模型针对第一训练语谱片段提取的声纹向量)针对设定身份标签预测的概率与基于第二声纹向量(第二声纹提取模型针对第二训练语谱片段(对第一训练语谱片段的时序进行打乱后的语谱片段)提取的声纹向量)针对设定身份标签预测的概率趋于一致为训练目标训练得到,因此,第一声纹提取模型为与时序信息无关的声纹提取模型,基于该声纹提取模型提取声纹向量不受时序信息的干扰。

第五实施例

本申请实施例还提供了一种声纹向量提取设备,请参阅图6,示出了该声纹向量提取设备的结构示意图,该声纹向量提取设备可以包括:至少一个处理器601,至少一个通信接口602,至少一个存储器603和至少一个通信总线604;

在本申请实施例中,处理器601、通信接口602、存储器603、通信总线604的数量为至少一个,且处理器601、通信接口602、存储器603通过通信总线604完成相互间的通信;

处理器601可能是一个中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;

存储器603可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;

其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:

获取目标语音数据对应的语谱片段序列;

基于所述语谱片段序列和预先建立的第一声纹提取模型,确定所述目标语音数据对应的声纹向量;

其中,所述第一声纹提取模型以第一训练语谱片段为训练样本,采用第二声纹提取模型辅助训练得到,所述第一声纹提取模型的训练目标包括:使基于第一声纹向量针对设定身份标签预测的概率与基于第二声纹向量针对所述设定身份标签预测的概率趋于一致,所述第一声纹向量为所述第一声纹提取模型针对所述第一训练语谱片段提取的声纹向量,所述第二声纹向量为所述第二声纹提取模型针对第二训练语谱片段提取的声纹向量,所述第二训练语谱片段为对所述第一训练语谱片段的时序进行打乱后的语谱片段。

可选的,所述程序的细化功能和扩展功能可参照上文描述。

第六实施例

本申请实施例还提供一种可读存储介质,该可读存储介质可存储有适于处理器执行的程序,所述程序用于:

获取目标语音数据对应的语谱片段序列;

基于所述语谱片段序列和预先建立的第一声纹提取模型,确定所述目标语音数据对应的声纹向量;

其中,所述第一声纹提取模型以第一训练语谱片段为训练样本,采用第二声纹提取模型辅助训练得到,所述第一声纹提取模型的训练目标包括:使基于第一声纹向量针对设定身份标签预测的概率与基于第二声纹向量针对所述设定身份标签预测的概率趋于一致,所述第一声纹向量为所述第一声纹提取模型针对所述第一训练语谱片段提取的声纹向量,所述第二声纹向量为所述第二声纹提取模型针对第二训练语谱片段提取的声纹向量,所述第二训练语谱片段为对所述第一训练语谱片段的时序进行打乱后的语谱片段。

可选的,所述程序的细化功能和扩展功能可参照上文描述。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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