语音分类网络训练方法、装置、计算设备及存储介质转让专利

申请号 : CN202110844078.1

文献号 : CN113593611B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 司世景王健宗

申请人 : 平安科技(深圳)有限公司

摘要 :

本发明涉及人工智能技术领域,尤其涉及一种语音分类网络训练方法、装置、设备及存储介质。该语音分类网络训练方法包括获取小样本数据集;将同一类别的训练音频样本作为对比模型学习的训练集,以基于训练集预训练对比模型,计算对比模型的模型损失;通过模型损失迭代训练对比模型,以得到训练好的对比模型;其中,训练好的对比模型包括目标特征提取器;将目标特征提取器与一分类器连接,以构建语音分类网络;采用小样本学习方式基于小样本数据集对语音分类网络进行微调,得到训练好的语音分类网络。该方法通过引入有监督学习方式预训练对比模型保证新任务的数据表达能力的稳定性,从而保证模型对于新任务的预测准确性。

权利要求 :

1.一种语音分类网络训练方法,其特征在于,包括:

获取小样本数据集;其中,所述小样本数据集包括多个标注好类别的训练音频样本;

将同一类别的训练音频样本作为对比模型学习的训练集,以基于所述训练集预训练所述对比模型,计算所述对比模型的模型损失;

通过所述模型损失迭代训练所述对比模型,以得到训练好的对比模型;其中,所述训练好的对比模型包括目标特征提取器;

将所述目标特征提取器与一分类器连接,以构建语音分类网络;

采用小样本学习方式,基于所述小样本数据集对所述语音分类网络进行微调,得到训练好的语音分类网络;

所述采用小样本学习方式,基于所述小样本数据集对所述语音分类网络进行微调,得到训练好的语音分类网络,包括:从所述小样本数据集中随机选取K个类别,并从每一所述类别对应的多个训练音频样本中随机选取M个训练音频样本作为支撑集;其中,K和M均为正整数;

基于所述支撑集对所述语音分类网络进行微调,得到训练好的语音分类网络;

所述基于所述支撑集对所述语音分类网络进行微调,得到训练好的语音分类网络,包括:通过所述目标特征提取器提取所述支撑集中每一所述训练音频样本对应的语音特征;

通过所述分类器将所述语音特征映射至类别空间,输出所述训练音频样本对应的预测类别;

通过交叉熵损失函数,基于每一所述训练音频样本对应的所述预测类别与标注类别,计算网络损失;

采用误差反向传播算法,基于所述网络损失优化所述分类器,得到训练好的语音分类网络;

在所述通过交叉熵损失函数,基于每一所述训练音频样本对应的所述预测类别与标注类别,计算网络损失之前,还包括:基于所述支撑集,构建测试集;其中,所述测试集包括从所述支撑集对应的K个类别中随机选取的C个类别,每一类别对应Z个测试样本;其中,C为小于等于K的正整数,Z为正整数;

通过所述目标特征提取器分别提取所述测试样本对应的第一语音特征,以及所述支撑集中每一所述训练音频样本对应的第二语音特征;

计算所述第一语音特征与每一所述第二语音特征的特征相似度,并将特征相似度最高的第二语音特征对应的标注类别作为所述测试样本对应的预测类别;

通过交叉熵损失函数,基于每一所述测试样本对应的预测类别以及标注类别,计算每一测试样本的样本损失;

对多个测试样本的样本损失取均值,将得到的损失均值作为正则因子;

基于所述正则因子,重构所述交叉熵损失函数;

所述通过交叉熵损失函数,基于每一所述训练音频样本对应的所述预测类别与标注类别,计算网络损失,包括:通过重构后的交叉熵损失函数,基于每一所述训练音频样本对应的所述预测类别与标注类别,计算网络损失。

2.如权利要求1所述语音分类网络训练方法,其特征在于,在基于所述训练集预训练所述对比模型之前,所述语音分类网络训练方法还包括:从所述训练集中随机选取目标锚点,并将所述训练集中的其他训练音频样本作为自样本集;

对所述目标锚点以及所述自样本集进行数据增强处理,得到增强样本集;

合并所述自样本集以及所述增强样本集作为所述目标锚点对应的正样本集;

将与所述训练集对应类别不同的其他类别的训练集作为所述目标锚点对应的负样本集;

所述基于所述训练集预训练所述对比模型,计算所述对比模型的模型损失,包括:基于每一所述目标锚点对应的正负样本集预训练所述对比模型,计算所述对比模型的模型损失。

3.如权利要求2所述语音分类网络训练方法,其特征在于,所述预训练的对比模型包括原始特征提取器;

所述基于每一所述目标锚点对应的所述正负样本集预训练所述对比模型,计算所述对比模型的模型损失,包括:通过所述原始特征提取器分别提取所述目标锚点对应的锚点特征以及所述正样本集中每一正样本对应的正样本特征;

对所述锚点特征以及所述正样本特征进行点积计算,得到第一点积结果;

通过所述原始特征提取器提取所述负样本集中每一负样本对应的负样本特征;

对所述锚点特征以及所述负样本特征进行点积计算,得到第二点积结果;

基于所述第一点积结果以及所述第二点积结果,计算所述对比模型的模型损失。

4.如权利要求3所述语音分类网络训练方法,其特征在于,所述基于所述第一点积结果以及所述第二点积结果,计算所述对比模型的模型损失,包括:基于对比学习损失计算公式,根据所述第一点积结果以及所述第二点积结果,计算所述 对比 模 型 的 模型 损失 ;其中 ,所 述 对比 学 习 损 失 计算 公 式 包 括 :其中,D表示所述正样本集;exp(zi·zp/

τ)表示所述训练集I中第i个目标锚点的锚点特征Zi与所述正样本集中第p个正样本特征Zp的第一点积结果;exp(zi·za/τ)表示所述训练集I中第i个目标锚点的锚点特征Zi与负样本集中第a个负样本特征Za的第二点积结果;∑a∈Aexp(zi·za/τ)表示多个第二点积结果的累加和;A表示所述负样本集;τ表示温度参数。

5.一种语音分类网络训练装置,其特征在于,包括:

小样本数据集获取模块,用于获取小样本数据集;其中,所述小样本数据集包括多个标注好类别的训练音频样本;

预训练模块,用于将同一类别的训练音频样本作为对比模型学习的训练集,以基于所述训练集预训练所述对比模型,计算所述对比模型的模型损失;

迭代训练模块,用于通过所述模型损失迭代训练所述对比模型,以得到训练好的对比模型;其中,所述训练好的对比模型包括目标特征提取器;

分类网络构建模块,用于将所述目标特征提取器与一分类器连接,以构建语音分类网络;

模型微调模块,用于采用小样本学习方式,基于所述小样本数据集对所述语音分类网络进行微调,得到训练好的语音分类网络;

所述模型微调模块包括支撑集获取单元和模型微调单元;

所述支撑集获取单元,用于从所述小样本数据集中随机选取K个类别,并从每一所述类别对应的多个训练音频样本中随机选取M个训练音频样本作为支撑集;其中,K和M均为正整数;

所述模型微调单元,用于基于所述支撑集对所述语音分类网络进行微调,得到训练好的语音分类网络;

所述模型微调单元包括语音特征提取子单元、类别映射子单元、网络损失计算子单元和分类器优化子单元;

所述语音特征提取子单元,用于通过所述目标特征提取器提取所述支撑集中每一所述训练音频样本对应的语音特征;

所述类别映射子单元,用于通过所述分类器将所述语音特征映射至类别空间,输出所述训练音频样本对应的预测类别;

所述网络损失计算子单元,用于通过交叉熵损失函数,基于每一所述训练音频样本对应的所述预测类别与标注类别,计算网络损失;

所述分类器优化子单元,用于采用误差反向传播算法,基于所述网络损失优化所述分类器,得到训练好的语音分类网络;

所述语音分类网络训练装置还包括测试集构建模块、语音特征提取模块、预测模块、样本损失计算模块、正则因子获取模块以及损失函数重构模块;

所述测试集构建模块,用于基于所述支撑集,构建测试集;其中,所述测试集包括从所述支撑集对应的K个类别中随机选取的C个类别,每一类别对应Z个测试样本;其中,其中,C为小于等于K的正整数,Z为正整数;

所述语音特征提取模块,用于通过所述目标特征提取器分别提取所述测试样本对应的第一语音特征,以及所述支撑集中每一所述训练音频样本对应的第二语音特征;

所述预测模块,用于计算所述第一语音特征与每一所述第二语音特征的特征相似度,并将特征相似度最高的第二语音特征对应的标注类别作为所述测试样本对应的预测类别;

所述样本损失计算模块,用于通过交叉熵损失函数,基于每一所述测试样本对应的预测类别以及标注类别,计算每一测试样本的样本损失;

所述正则因子获取模块,用于对多个测试样本的样本损失取均值,将得到的损失均值作为正则因子;

所述损失函数重构模块,用于基于所述正则因子,重构交叉熵损失函数;

所述网络损失计算子单元具体为:通过重构后的所述交叉熵损失函数,基于每一所述训练音频样本对应的所述预测类别与标注类别,计算网络损失。

6.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至

4任一项所述语音分类网络训练方法的步骤。

7.一种计算机存储介质,所述计算机存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述语音分类网络训练方法的步骤。

说明书 :

语音分类网络训练方法、装置、计算设备及存储介质

技术领域

[0001] 本发明涉及人工智能技术领域,尤其涉及一种语音分类网络训练方法、装置、计算设备及存储介质。

背景技术

[0002] 目前,随着人工智能的飞速发展,语音识别作为人工智能的重要部分在不同领域有着广阔的应用前景,例如语音情感识别在人机交互、情绪监测或个性化推荐等领域有着广阔的应用前景。语音情感识别的主要过程包括数据预处理、特征提取以及情感分类。但目前的语音情感识别,往往需要大量的训练数据,才可保证情感分类的准确性,而在实践训练中,大量的标签数据难以获得,因此常使用元学习方法解决小样本语音情感识别的问题。
[0003] 一般地,常用的元学习方法在训练数据和测试数据存在领域差距时,仍然无法满足泛化性要求,目前的元学习方法主要通过对比学习的方式实现,即在自监督学习环境下,通过为原始数据创建正样本学习,以学习两个事物的相似或不相似进行编码构建表征。而自监督学习的方式针对新的预测任务的数据表达能力不够稳定,导致传统的元学习无法保证新任务的预测准确性。

发明内容

[0004] 本发明实施例提供一种语音分类网络训练方法、装置、计算设备及存储介质,以解决传统的小样本的自监督的元学习方式对新的预测任务的数据表达能力不够稳定,无法保证预测准确性的问题。
[0005] 一种语音分类网络训练方法,包括:
[0006] 获取小样本数据集;其中,所述小样本数据集包括多个标注好类别的训练音频样本;
[0007] 将同一类别的训练音频样本作为对比模型学习的训练集,以基于所述训练集预训练所述对比模型,计算所述对比模型的模型损失;
[0008] 通过所述模型损失迭代训练所述对比模型,以得到训练好的对比模型;其中,所述训练好的对比模型包括目标特征提取器;
[0009] 将所述目标特征提取器与一分类器连接,以构建语音分类网络;
[0010] 采用小样本学习方式,基于所述小样本数据集对所述语音分类网络进行微调,得到训练好的语音分类网络。
[0011] 一种语音分类网络训练装置,包括:
[0012] 小样本数据集获取模块,用于获取小样本数据集;其中,所述小样本数据集包括多个标注好类别的训练音频样本;
[0013] 预训练模块,用于将同一类别的训练音频样本作为对比模型学习的训练集,以基于所述训练集预训练所述对比模型,计算所述对比模型的模型损失;
[0014] 迭代训练模块,用于通过所述模型损失迭代训练所述对比模型,以得到训练好的对比模型;其中,所述训练好的对比模型包括目标特征提取器;
[0015] 分类网络构建模块,用于将所述目标特征提取器与一分类器连接,以构建语音分类网络;
[0016] 模型微调模块,用于采用小样本学习方式,基于所述小样本数据集对所述语音分类网络进行微调,得到训练好的语音分类网络。
[0017] 一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述语音分类网络训练方法的步骤。
[0018] 一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述语音分类网络训练方法的步骤。
[0019] 上述语音分类网络训练方法、装置、计算设备及存储介质中,通过获取标注好类别的小样本数据集,并将同一类别的训练音频样本作为对比模型学习的训练集,以基于训练集预训练对比模型,计算对比模型的模型损失,并通过模型损失迭代训练对比模型,得到训练好的对比模型,以基于有监督学习的方式预训练对比模型,可产生比自我监督更好地概括单领域和多领域少量任务的表征,从而可保证模型对于新任务的特征表达能力。然后,将训练好的目标特征提取器与一分类器连接,构建语音分类网络,以便采用小样本学习方式,基于小样本数据集对语音分类网络进行微调,得到训练好的语音分类网络,提高模型在小样本数据集上的样本学习效率。

附图说明

[0020] 为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0021] 图1是本发明一实施例中语音分类网络训练方法的一应用环境示意图;
[0022] 图2是本发明一实施例中语音分类网络训练方法的一流程图;
[0023] 图3是本发明一实施例中语音分类网络训练方法的一流程图;
[0024] 图4是图3中步骤S307的一具体流程图;
[0025] 图5是图2中步骤S205的一具体流程图;
[0026] 图6是图5中步骤S502的一具体流程图;
[0027] 图7是本发明一实施例中语音分类网络训练方法的一流程图;
[0028] 图8是本发明一实施例中语音分类网络训练装置的一示意图;
[0029] 图9是本发明一实施例中计算机设备的一示意图。

具体实施方式

[0030] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0031] 该语音分类网络训练方法可应用在如图1的应用环境中,其中,计算机设备通过网络与服务器进行通信。计算机设备可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器来实现。
[0032] 在一实施例中,如图2所示,提供一种语音分类网络训练方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
[0033] S201:获取小样本数据集;其中,小样本数据集包括多个标注好类别的训练音频样本。
[0034] 其中,小样本数据集指样本数量较少的数据集。该小样本数据集包括多个标注好类别的训练音频样本。本方法可应用于语音情感分类场景,该类别可指不同情绪类别,例如悲伤、开心、愤怒等。每一类别对应多个训练音频样本呢。
[0035] S202:将同一类别的训练音频样本作为对比模型学习的训练集,以基于训练集预训练对比模型,计算对比模型的模型损失。
[0036] 其中,对比模型即为simclr(A Simple Framework for Contrastive Learning of Visual Representations)模型。该对比模型可实现对无标签样本数据进行数据增广表示,以通过对比学习的方式实现自监督训练。
[0037] 可以理解地是,在自监督学习情境下,是通过为原始数据创建正样本学习对,以对两个事物的相似或不相似进行编码来构建表征,与有监督学习相比,自监督学习对新的任务的数据表达能力较不稳定,故本实施中通过改进上述对比模型的自监督对比学习方式,通过有监督方式训练对比模型,可使模型产生比单独自我监督更好地概括单领域和多领域少量任务的表征。
[0038] 具体地,在传统的SimCLR模型中,由于采用无标签数据,因此每轮训练的训练集为n个原样本中的一个样本x构成,该样本x仅对应一个正样本,通过对样本x进行二次数据增强,得到2n个样本(视为原样本的正样本)以扩充训练集,从而实现对比学习。而本实施例中,在构建每轮训练的训练集时,由于原训练音频样本已对应标注好类别,故可直接将同一类别的U个训练音频样本作为对比模型学习的训练集(视为正样本集),以基于所述训练集预训练所述对比模型,也即原训练音频样本对应多个正样本,而不仅仅是一个正样本。
[0039] 进一步地,该模型损失可通过如下公式计算其中,exp(zs·zl/τ)表示所述训练集(假设包含U个
样本)中第s个锚点样本的映射特征Zs与训练集U中的第l个映射特征Zl的第一点积结果;exp(zs·za/τ)表示所述训练集U中第s个锚点样本的映射特征Zs与负样本集中第w个负样本特征Zw的第二点积结果;∑w∈Wexp(zs·zw/τ)表示多个第二点积结果的累加和;W表示负样本集,即与第i个样本不同类别的其他类别的正样本集;τ表示预设的温度参数,该温度参数用于调节模型对于困难样本(即与原始样本最相似的样本,也就是正样本)的关注程度,该温度参数越小越关注于将原始样本和最相似的困难样本区分开。其中,映射特征可通过SimCLR模型中的特征提取器提取样本特征得到,该特征提取器可采用resnet18或resnet50实现,此处不做限定。
[0040] S203:通过模型损失迭代训练对比模型,以得到训练好的对比模型;其中,训练好的对比模型包括目标特征提取器。
[0041] 具体地,可采用传统的模型优化方法(如有误差反向传播算法),通过模型损失迭代训练所述对比模型,即训练特征提取器对应的参数,直至模型收敛,即可得到训练好的对比模型。该训练好的目标特征提取器即可作为语音分类网络中的特征提取器,用于提取语音特征。
[0042] S204:将目标特征提取器与一分类器连接,以构建语音分类网络。
[0043] 具体地,在训练好的目标特征提取器后接入分类器(如softmax分类器),以构建构建语音分类网络,以便后续采用小样本学习方式基于所述小样本数据集对所述语音分类网络进行微调,从而得到训练好的语音分类网络。
[0044] S205:采用小样本学习方式,基于小样本数据集对语音分类网络进行微调,得到训练好的语音分类网络。
[0045] 其中,小样本学习方式是指将数据集分解为不同的K‑way‑N‑shot(表示K个类别,每一类别对应N个训练样本)元任务(meta task),以学习类别变化的情况下模型的泛化能力,捕获不同类别音频样本的共性部分从而训练语音分类网络。
[0046] 具体地,基于小样本学习方式构建支撑集,并根据支撑集训练分类器,以实现对所述语音分类网络进的微调,得到训练好的语音分类网络。该支撑集包括M个训练音频样本,该M个训练音频样本通过从小样本数据集中随机选取K个类别,并从每一所述类别对应的多个训练音频样本中随机选取得到。本实施例中,通过小样本学习的方式以对所述语音分类网络进行微调,可在小数据集上实现快速学习样本的能力,达到较好的分类效果。
[0047] 本实施例中,通过获取标注好类别的小样本数据集,并将同一类别的训练音频样本作为对比模型学习的训练集,以基于训练集预训练对比模型,计算对比模型的模型损失,并通过模型损失迭代训练对比模型,得到训练好的对比模型,以基于有监督学习的方式预训练对比模型,可产生比自我监督更好地概括单领域和多领域少量任务的表征,从而可保证模型对于新任务的特征表达能力。然后,将训练好的目标特征提取器与一分类器连接,构建语音分类网络,以便采用小样本学习方式基于小样本数据集对语音分类网络进行微调,得到训练好的语音分类网络,提高模型在小样本数据集上的样本学习效率。
[0048] 在一实施例中,如图3所示,在基于所述训练集预训练所述对比模型之前,该方法还包括如下步骤:
[0049] S301:获取小样本数据集;其中,小样本数据集包括多个标注好类别的训练音频样本。
[0050] 具体地,步骤S301与步骤S201一致,为避免重复此处不再赘述。
[0051] S302:将同一类别的训练音频样本作为对比模型学习的训练集。
[0052] 具体地,步骤S302与步骤S202一致,为避免重复此处不再赘述。
[0053] S303:从训练集中随机选取目标锚点,并将训练集中的其他训练音频样本作为自样本集。
[0054] 本实施例中,为扩充训练对比模型的训练集,保证对比学习的学习精度,可针对训练集进行数据增广。具体地,扩充训练集的过程如下:首先从所述训练集(如包括U个训练音频样本)中随机选取一训练音频样本作为目标锚点,并将所述训练集中的其他U‑1个训练音频样本作为自样本集。
[0055] S304:对目标锚点以及自样本集进行数据增强处理,得到增强样本集。
[0056] 其中,数据增强处理包括但不限于加噪音、调低/高音量或1.5倍速播放等,通过随机选择上述某一数据增强处理方式对所述目标锚点以及所述自样本集进行一次数据增强处理,得到增强样本集,此时增强样本集包括U个增强样本(包括U‑1个自样本集对应的增强样本以及1个目标锚点对应的增强样本)。
[0057] S305:合并自样本集以及增强样本集作为目标锚点对应的正样本集。
[0058] 具体地,合并所述自样本集以及所述增强样本集作为所述目标锚点对应的正样本集,该正样本集包括2U‑1个正样本,该2U‑1个正样本中包括自样本集中的U‑1个自样本、U‑1个自样本对应的增强样本以及1个目标锚点对应增强样本。
[0059] 可以理解地是,通过执行步骤S303‑S305,可对训练集中每一训练音频样本对应的正样本集和负样本集进行数据增广,从而扩充训练集。示例性地,假设原训练集中包括两个类别X、Y,其中,X类别包括A、B两个训练音频样本;Y类别包括D、E两个训练音频样本,此时,每一训练音频样本对应的正样本集中包括除自身以外的其他相同类别的样本;负样本集中即为其他一个或多个类别对应的训练集;例如,训练音频样本A对应的正样本集中包括B样本;负样本集即为Y类别对应的训练集,包括D、E两个训练音频样本。通过将每一训练音频样本作为目标锚点,执行步骤S301‑S303,可得到每一训练音频样本对应正样本及和负样本集,即训练音频样本A对应的正样本集中包括样本B、样本A对应的增强样本以及样本B对应的增强样本;负样本集可为Y类别对应的原训练集,即包括D、E两个训练音频样本,或者Y类别对应数据增广后的训练集,包括样本D、样本E、样本D对应的增强样本以及样本E对应的增强样本。
[0060] S306:将与训练集对应类别不同的其他类别的训练集作为目标锚点对应的负样本集。
[0061] 具体地,将与所述训练集对应类别不同的其他类别的训练集作为所述目标锚点对应的负样本集,例如小样本数据集中包括A、B、C三个类别,每一类别对应的训练集中包括X个训练音频样本,假设当前批训练A类别对应的训练集,则其他类别即B类别和C类别对应的训练集均作为A类别的负样本集。需要说明的是,此处B类别和C类别对应的训练集可指根据小样本数据集进行划分得到的原训练集或者B类别和C类别中经过数据增广后的训练集。
[0062] S307:基于每一目标锚点对应的正负样本集预训练对比模型,计算对比模型的模型损失。
[0063] 具体地,该待训练的对比模型包括一原始特征提取器,用于提取样本特征。通过所述原始特征提取器分别提取所述目标锚点对应的锚点特征以及所述正样本集中每一正样本对应的正样本特征;对所述锚点特征以及所述正样本特征进行点积计算,得到第一点积结果;通过所述原始特征提取器提取所述负样本集中每一负样本对应的负样本特征;对所述锚点特征以及所述负样本特征进行点积计算,得到第二点积结果;最后,基于所述第一点积结果以及所述第二点积结果,计算所述对比模型的模型损失。
[0064] S308:通过模型损失迭代训练对比模型,以得到训练好的对比模型;其中,训练好的对比模型包括目标特征提取器。
[0065] 具体地,步骤S308与步骤S203一致,为避免重复此处不再赘述。
[0066] S309:将目标特征提取器与一分类器连接,以构建语音分类网络。
[0067] 具体地,步骤S309与步骤S204一致,为避免重复此处不再赘述。
[0068] S310:采用小样本学习方式基于小样本数据集对语音分类网络进行微调,得到训练好的语音分类网络。
[0069] 具体地,步骤S310与步骤S205一致,为避免重复此处不再赘述。
[0070] 在一实施例中,如图4所示,所述预训练的对比模型包括原始特征提取器;步骤S307中,基于每一所述目标锚点对应的所述正负样本集预训练所述对比模型,计算所述对比模型的模型损失,具体包括如下步骤:
[0071] S401:通过原始特征提取器分别提取目标锚点对应的锚点特征以及正样本集中每一正样本对应的正样本特征。
[0072] S402:对锚点特征以及正样本特征进行点积计算,得到第一点积结果。
[0073] S403:通过原始特征提取器提取负样本集中每一负样本对应的负样本特征。
[0074] S404:对锚点特征以及负样本特征进行点积计算,得到第二点积结果。
[0075] S405:基于第一点积结果以及第二点积结果,计算对比模型的模型损失。
[0076] 进一步地,针对步骤S401‑S405的计算过程可通过如下对比学习损失计算公式描述,即: 其中,D表示所述正样本集;exp(zi·zp/τ)表示所述训练集I中第i个目标锚点的锚点特征Zi与所述正样本集中第p个正样本特征Zp的第一点积结果;exp(zi·za/τ)表示所述训练集I中第i个目标锚点的锚点特征Zi与负样本集中第a个负样本特征Za的第二点积结果;∑a∈Aexp(zi·za/τ)表示多个第二点积结果的累加和;A表示所述负样本集;τ表示预设的温度参数,该温度参数用于调节模型对于困难样本(即与原始样本最相似的样本,也就是正样本)的关注程度,该温度参数越小越关注于将原始样本和最相似的困难样本区分开。
[0077] 在一实施例中,如图5所示,步骤S205中,即采用小样本学习方式基于小样本数据集对语音分类网络进行微调,得到训练好的语音分类网络,具体包括如下步骤:
[0078] S501:从小样本数据集中随机选取K个类别,并从每一类别对应的多个训练音频样本中随机选取M个训练音频样本作为支撑集。其中,K和M均为正整数。
[0079] 具体地,小样本数据集中包括多个标注好类别的训练音频样本,从该小样本数据集中随机选取K个类别,并从每一类别对应的多个训练音频样本中随机选取M个训练音频样本作为支撑集。其中,针对M和K均为正整数,其对应的具体取值可根据实际需要进行设定,此处不做限定。
[0080] S502:基于支撑集对语音分类网络进行微调,得到训练好的语音分类网络。
[0081] 具体地,首先通过特征提取器提取支撑集中每一训练音频样本对应的语音特征;通过分类器将语音特征映射至类别空间,输出训练音频样本对应的预测类别;通过交叉熵损失函数,基于每一训练音频样本对应的预测类别与标注类别,计算网络损失,最后,采用误差反向传播算法,基于网络损失优化分类器,得到训练好的语音分类网络。其中,交叉熵损失函数可为 其中, 表示预测训练音频样本属
于第j类的概率,即预测类别;yj表示标注类别,M表示支撑集中的样本数量。
[0082] 在一实施例中,如图6所示,步骤S502中,即基于支撑集对语音分类网络进行微调,得到训练好的语音分类网络,具体包括如下步骤:
[0083] S601:通过目标特征提取器提取支撑集中每一训练音频样本对应的语音特征。
[0084] 具体地,本实施例中的目标特征提取器可通过resnet18或resnet50训练得到,以resnet18为例,该resnet18网络中由多个级联的残差块,每一残差块均包括多层卷积层、归一化层以及激活层,在最后一个残差快后接入一层池化层和全连接层,通过将支撑集中每一训练音频样本输入至resnet18网络中进行处理,即可提取得到训练音频样本对应的语音特征。其中,针对resnet18网络的具体处理流程与传统的resnet18网络相同,此处不再详述。
[0085] S602:通过分类器将语音特征映射至类别空间,输出训练音频样本对应的预测类别。
[0086] 本实施例中,该分类器可为softmax分类器,以将体征提取器提取得到的语音特征映射至类别空间,预测其概率分布,即该样本属于不同类别的概率,将概率值最高的一类作为训练音频样本对应的预测类别。
[0087] S603:通过交叉熵损失函数,基于每一训练音频样本对应的预测类别与标注类别,计算网络损失。
[0088] 其中,交叉熵损失函数可为 其中, 表示预测训练音频样本属于第j类的概率,即预测类别;yj表示标注类别,T表示支撑机中训练音频样本的数量。
[0089] S604:采用误差反向传播算法,基于网络损失优化分类器,得到训练好的语音分类网络。
[0090] 具体地,可采用传统的模型优化方法(如有误差反向传播算法),通过网络损失优化分类器直至网络收敛,即可得到训练好的语音分类网络。
[0091] 在一实施例中,如图7所示,还包括如下步骤:
[0092] S701:通过目标特征提取器提取支撑集中每一训练音频样本对应的语音特征。
[0093] 具体地,步骤S701与步骤S601的执行过程一致,为避免重复,此处不再赘述。
[0094] S702:通过分类器将语音特征映射至类别空间,输出训练音频样本对应的预测类别。
[0095] 具体地,步骤S702与步骤S602的执行过程一致,为避免重复,此处不再赘述。
[0096] S703:基于支撑集,构建测试集;其中,测试集包括从支撑集对应的K个类别中随机选取的C个类别,每一类别对应Z个测试样本;其中,C为小于等于K的正整数,Z为正整数。
[0097] 具体地,可从支撑集中对应的K个类别中随机选取C(C≤K)个类别,并从C个类别对应的剩余样本中随机选取Z个测试样本作为测试集。例如,假设K=3,在小样本数据集中每一类别对应5个样本,若M=2,则支撑集中包括3个类别,每一类别对应2个训练音频样本,此时小样本学习任务K‑way‑M‑shot,即为3‑way‑2‑shot。然后从这3个类别中,对每一类别对应的剩余样本,即剩下的3个样本中随机选取Z个测试样本作为测试集。其中,对于M、K、Z、C均为正整数,其对应的具体取值可根据经验设置,此处不做限定。
[0098] S704:通过目标特征提取器分别提取测试样本对应的第一语音特征,以及支撑集中每一训练音频样本对应的第二语音特征;
[0099] S705:计算第一语音特征与每一第二语音特征对应的特征相似度,并将特征相似度最高的第二语音特征对应的标注类别作为测试样本对应的预测类别。
[0100] 具体地,在获取到测试集之后,通过目标特征提取器提取测试集中每一测试样本对应的第一语音特征A,以及,支撑集中每一训练音频样本对应的第二语音特征B;然后将该第一语音特征A与每一训练音频样本对应的第二语音特征B进行相似度计算(例如余弦相似度),并将与第一语音特征A最相似(即特征相似度最高)的第二语音特征B所对应的类别作为预测类别。
[0101] S706:通过交叉熵损失函数,基于每一测试样本对应的预测类别以及标注类别,计算每一测试样本的样本损失。
[0102] 其中,交叉熵损失函数可为 其中, 表示预测训练音频样本属于第j类的概率,即预测类别;yj表示标注类别,loss表示样本损失。
[0103] S707:对多个测试样本的样本损失取均值,将得到的损失均值作为正则因子。
[0104] 具体地,通过交叉熵损失函数根据该预测类别与第一语音特征A对应的标注类别计算每一测试样本的样本损失,最终对测试集中多个测试样本的样本损失取均值(即其中,Q表示测试集中的测试样本数量;γ表示得到的损失均值,也即正则因子;lossq表示每一测试样本的样本损失),得到测试集的损失均值作为正则因子。
[0105] 进一步地,为防止模型过拟合,可在上述交叉熵损失函数中引入正则因子,即上述交叉熵损失函数更新为Loss’=loss+γ,其中,γ为正则因子;作为一实施方式该正则因子可预先设置;作为另一实施方式,可通过构建测试集,并将测试集的交叉熵损失作为正则因子。
[0106] S708:基于正则因子,重构交叉熵损失函数。
[0107] 具体地,基于正则因子,重构交叉熵损失函数,即此时交叉熵损失函数更新为Loss’=loss+γ,其中,γ表示正则因子。
[0108] S709:通过重构后的交叉熵损失函数,基于每一训练音频样本对应的预测类别与标注类别,计算网络损失。
[0109] 具体地,基于重构后的交叉熵损失函数,即Loss’=loss+γ,计算网络损失。其中, 表示预测训练音频样本属于
第j类的概率,即预测类别;yj表示标注类别,γ表示正则因子。
[0110] S710:采用误差反向传播算法,基于网络损失优化分类器,得到训练好的语音分类网络。
[0111] 具体地,步骤S710与步骤S604的执行过程一致,为避免重复,此处不再赘述。
[0112] 应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0113] 在一实施例中,提供一种语音分类网络训练装置,该语音分类网络训练装置与上述实施例中语音分类网络训练方法一一对应。如图8所示,该语音分类网络训练装置包括小样本数据集获取模块10、预训练模块20、迭代训练模块30、分类网络构建模块40以及模型微调模块50。各功能模块详细说明如下:
[0114] 小样本数据集获取模块10,用于获取小样本数据集;其中,小样本数据集包括多个标注好类别的训练音频样本;
[0115] 预训练模块20,用于将同一类别的训练音频样本作为对比模型学习的训练集,以基于训练集预训练对比模型,计算对比模型的模型损失;
[0116] 迭代训练模块30,用于通过模型损失迭代训练对比模型,以得到训练好的对比模型;其中,训练好的对比模型包括目标特征提取器;
[0117] 分类网络构建模块40,用于将目标特征提取器与一分类器连接,以构建语音分类网络;
[0118] 模型微调模块50,用于采用小样本学习方式,基于小样本数据集对语音分类网络进行微调,得到训练好的语音分类网络。
[0119] 具体地,该语音分类网络训练装置还包括自样本集获取模块、样本增强模块、正样本集获取模块以及负样本集获取模块。
[0120] 自样本集获取模块,用于从训练集中随机选取目标锚点,并将训练集中的其他训练音频样本作为自样本集;
[0121] 样本增强模块,用于对目标锚点以及自样本集进行数据增强处理,得到增强样本集;
[0122] 正样本集获取模块,用于合并自样本集以及增强样本集作为目标锚点对应的正样本集;
[0123] 负样本集获取模块,用于将与训练集对应类别不同的其他类别的训练集作为目标锚点对应的负样本集;
[0124] 预训练模块具体为:基于每一目标锚点对应的正负样本集预训练对比模型,计算对比模型的模型损失。
[0125] 具体地,预训练的对比模型包括原始特征提取器;预训练模块包括第一特征提取单元、第一点积计算单元、第二特征提取单元、第二点积计算单元以及模型损失计算单元。
[0126] 第一特征提取单元,用于通过原始特征提取器分别提取目标锚点对应的锚点特征以及正样本集中每一正样本对应的正样本特征;
[0127] 第一点积计算单元,用于对锚点特征以及正样本特征进行点积计算,得到第一点积结果;
[0128] 第二特征提取单元,用于通过原始特征提取器提取负样本集中每一负样本对应的负样本特征;
[0129] 第二点积计算单元,用于对锚点特征以及负样本特征进行点积计算,得到第二点积结果;
[0130] 模型损失计算单元,用于基于第一点积结果以及第二点积结果,计算对比模型的模型损失。
[0131] 具体地,模型损失计算单元具体为:基于对比学习损失计算公式,根据第一点积结果以及第二点积结果,计算对比模型的模型损失;其中,对比学习损失计算公式包括:其中,D表示正样本集;exp(zi·zp/τ)表示训练集I
中第i个目标锚点的锚点特征Zi与正样本集中第p个正样本特征Zp的第一点积结果;exp(zi·za/τ)表示训练集I中第i个目标锚点的锚点特征Zi与负样本集中第a个负样本特征Za的第二点积结果;∑a∈Aexp(zi·za/τ)表示多个第二点积结果的累加和;A表示负样本集;τ表示温度参数。
[0132] 具体地,模型微调模块包括支撑集获取单元和模型微调单元。
[0133] 支撑集获取单元,用于从小样本数据集中随机选取K个类别,并从每一类别对应的多个训练音频样本中随机选取M个训练音频样本作为支撑集;其中,K和M均为正整数。
[0134] 模型微调单元,用于基于支撑集对语音分类网络进行微调,得到训练好的语音分类网络。
[0135] 具体地,模型微调单元包括语音特征提取子单元、类别映射子单元、网络损失计算子单元和分类器优化子单元。
[0136] 语音特征提取子单元,用于通过目标特征提取器提取支撑集中每一训练音频样本对应的语音特征;
[0137] 类别映射子单元,用于通过分类器将语音特征映射至类别空间,输出训练音频样本对应的预测类别;
[0138] 网络损失计算子单元,用于通过交叉熵损失函数,基于每一训练音频样本对应的预测类别与标注类别,计算网络损失;
[0139] 分类器优化子单元,用于采用误差反向传播算法,基于网络损失优化分类器,得到训练好的语音分类网络。
[0140] 具体地,该语音分类网络训练装置还包括测试集构建模块、语音特征提取模块、预测模块、样本损失计算模块、正则因子获取模块以及损失函数重构模块。
[0141] 测试集构建模块,用于基于支撑集,构建测试集;其中,测试集包括从支撑集对应的K个类别中随机选取的C个类别,每一类别对应Z个测试样本;其中,其中,C为小于等于K的正整数,Z为正整数。
[0142] 语音特征提取模块,用于通过目标特征提取器分别提取测试样本对应的第一语音特征,以及支撑集中每一训练音频样本对应的第二语音特征;
[0143] 预测模块,用于计算第一语音特征与每一第二语音特征的特征相似度,并将特征相似度最高的第二语音特征对应的标注类别作为测试样本对应的预测类别;
[0144] 样本损失计算模块,用于通过交叉熵损失函数,基于每一测试样本对应的预测类别以及标注类别,计算每一测试样本的样本损失;
[0145] 正则因子获取模块,用于对多个测试样本的样本损失取均值,将得到的损失均值作为正则因子;
[0146] 损失函数重构模块,用于基于正则因子,重构交叉熵损失函数;
[0147] 网络损失计算子单元具体为:通过重构后的交叉熵损失函数,基于每一训练音频样本对应的预测类别与标注类别,计算网络损失。
[0148] 关于语音分类网络训练装置的具体限定可以参见上文中对于语音分类网络训练方法的限定,在此不再赘述。上述语音分类网络训练装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0149] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括计算机存储介质、内存储器。该计算机存储介质存储有操作系统、计算机程序和数据库。该内存储器为计算机存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储执行语音分类网络训练方法过程中生成或获取的数据,如语音分类网络。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种语音分类网络训练方法。
[0150] 在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中的语音分类网络训练方法的步骤,例如图2所示的步骤S201‑S205,或者图3至图7中所示的步骤。或者,处理器执行计算机程序时实现语音分类网络训练装置这一实施例中的各模块/单元的功能,例如图8所示的各模块/单元的功能,为避免重复,这里不再赘述。
[0151] 在一实施例中,提供一计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中语音分类网络训练方法的步骤,例如图2所示的步骤S201‑S205,或者图3至图7中所示的步骤,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述语音分类网络训练装置这一实施例中的各模块/单元的功能,例如图8所示的各模块/单元的功能,为避免重复,这里不再赘述。
[0152] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0153] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
[0154] 以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。