知识蒸馏方法和装置与流程

文档序号:17447391发布日期:2019-04-17 05:52阅读:2576来源:国知局
知识蒸馏方法和装置与流程

本发明属于语音数据处理技术领域,尤其涉及知识蒸馏方法和装置。



背景技术:

相关技术中,i-vector是很经典的说话人嵌入学习方法,它是基于传统的因子分析模型进行的,本质上是求得高斯超向量的低维空间表示。

基于深度神经网络的说话人嵌入学习,首先训练一个目标是区分不同说话人的网络,然后从某个特定层(嵌入提取层)提取说话人嵌入表示。大量的论文证明,大网络,深网络通常能取得更好的效果。

深度说话人嵌入学习是一种非常有效的说话人身份建模方法,超深模型如残差网络取得了很好的性能,但是对于资源受限的真实应用场景而言,此类模型计算量太大。另一方面,简单的减小模型会造成严重的性能下降。

发明人发现现有技术的方案至少存在以下问题:

i-vector本质上可以看做一个单层的线性模型,对于复杂的数据很难进行鲁棒的建模,对于短时数据性能表现也不是很好。

对于实际应用场景来讲,超深网络(如残差网络)由于计算量巨大,很难进行部署,而简单的浅层的、参数量小的模型又往往达不到性能要求。



技术实现要素:

本发明实施例提供一种知识蒸馏方法和装置,用于至少解决上述技术问题之一。

第一方面,本发明实施例提供一种知识蒸馏方法,包括:在说话人嵌入学习任务中,向教师模型和学生模型中输入相同说话人的音频数据,其中,所述教师模型和所述学生模型均包括说话人嵌入提取和说话人后验概率分布预测;以所述教师模型的说话人嵌入提取为标准,将所述学生模型的说话人嵌入提取和所述教师模型的说话人嵌入提取的差距限制在第一预设范围内,以对所述学生模型进行优化;或以所述教师模型的说话人后验概率分布预测为标准,将所述学生模型的说话人后验概率分布预测和所述教师说话人后验概率分布预测的差距限制在第二预设范围内,以对所述学生模型进行优化;使用优化好的学生模型进行部署和/或预测。

第二方面,本发明实施例提供一种知识蒸馏装置,包括:输入模块,配置为在说话人嵌入学习任务中,向教师模型和学生模型中输入相同说话人的音频数据,其中,所述教师模型和所述学生模型均包括说话人嵌入提取和说话人后验概率分布预测;说话人嵌入模块,配置为以所述教师模型的说话人嵌入提取为标准,将所述学生模型的说话人嵌入提取和所述教师模型的说话人嵌入提取的差距限制在第一预设范围内,以对所述学生模型进行优化;或后验模块,配置为以所述教师模型的说话人后验概率分布预测为标准,将所述学生模型的说话人后验概率分布预测和所述教师说话人后验概率分布预测的差距限制在第二预设范围内,以对所述学生模型进行优化;以及部署预测模块,配置为使用优化好的学生模型进行部署和/或预测。

第三方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的知识蒸馏方法的步骤。

第四方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行本发明任一实施例的知识蒸馏方法的步骤。

本申请的的方案提供了一种通用的提升轻量级说话人嵌入的训练方式,不限于模型结构,有很强的推广性。通常方法训练的深度说话人嵌入由于模型参数量,计算量太大,对于资源受限的真实应用来讲,很难被部署。直接训练的小模型又有着较大的性能下降。通过本方案提出的方法,可以大大减小大模型和小模型之间的性能差距,在满足部署要求的同时,尽可能的提升性能。事实上,学生网络可以选择更轻量级的网络,甚至定点化之后的网络结构。我们提出的知识蒸馏、迁移方案是通用的。

附图说明

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

图1为本发明一实施例提供的一种知识蒸馏方法的流程图;

图2为本发明一实施例提供的一种知识蒸馏方法的原理框图;

图3为本发明一实施例提供的多种不同模型的收敛比较图;

图4为本发明一实施例提供的一种知识蒸馏装置的框图;

图5是本发明一实施例提供的电子设备的结构示意图。

具体实施方式

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

请参考图1,其示出了本申请的知识蒸馏方法一实施例的流程图,本实施例的知识蒸馏方法可以适用于使用大模型训练小模型的方案。

如图1所示,在步骤101中,在说话人嵌入学习任务中,向教师模型和学生模型中输入相同说话人的音频数据,其中,教师模型和学生模型均包括说话人嵌入提取和说话人后验概率分布预测;

在步骤102中,以教师模型的说话人嵌入提取为标准,将学生模型的说话人嵌入提取和教师模型的说话人嵌入提取的差距限制在第一预设范围内,以对学生模型进行优化;或

在步骤103中,以教师模型的说话人后验概率分布预测为标准,将学生模型的说话人后验概率分布预测和教师说话人后验概率分布预测的差距限制在第二预设范围内,以对学生模型进行优化。

在步骤104中,使用优化好的学生模型进行部署和/或预测。

在本实施例中,对于步骤101,通过向教师模型和学生模型中输入相同说话人的音频数据,其最终应该输出的是同一说话人,从而可以很明显的比较出学生模型与教师模型的差别,让学生模型更好地向教师模型学习。之后,对于步骤102,通过强迫学生模型学习教师模型的说话人嵌入,可以让学生模型有一个学习的方向,效果更好。同样,对于步骤103,通过强制学生模型学习教师模型的预测输出,从而不断地调整学生模型以使得学生模型的预测与教师模型的输出更相似。最后,对于步骤104,优化好的学生模型可以用于部署和预测。

本实施例的方法通过利用训练好的性能好的大模型,即教师模型来训练学生模型,使得学生模型能够学到教师模型的性能表现。由于性能好的大模型通常不适合部署,通过知识蒸馏的方式让其优化学生模型,可以很快地优化出性能差距不大的学生模型,用时短,性能好,适合部署和预测。

在一些可选的实施例中,将学生模型的说话人嵌入提取和教师模型的说话人嵌入提取的差距限制在第一预设范围内,以对学生模型进行优化包括:获取由教师模型计算的第i个样本的第一说话人嵌入;获取由学生模型计算的第i个样本的第二说话人嵌入;通过调整学生模型使得第二说话人嵌入与第一说话人嵌入之间的欧氏距离损失或者余弦距离损失最小化。

在进一步可选的实施例中,欧氏距离损失和余弦距离损失的计算公式如下:

其中,表示欧氏距离损失,表示余弦距离损失,n表示样本数,i表示样本索引,表示由教师模型为第i个样本计算的说话人嵌入,表示由学生模型为第i个样本计算的说话人嵌入。

在另一些可选的实施例中,将学生模型的说话人后验概率分布预测和教师说话人后验概率分布预测的差距限制在第二预设范围内包括:获取教师模型预测的第一后验概率分布;获取学生模型预测的第二后验概率分布;计算第二后验概率与第一后验概率的相对熵,并通过调整学生模型使得相对熵最小化。

在进一步可选的实施例中,相对熵的计算公式如下:

其中,表示相对熵,表示教师模型预测的第i个样本的后验概率,yi表示学生模型预测的第i个样本的后验概率,j表示第j类,c表示类的数量。

在一些可选的实施例中,上述方法还包括:结合交叉熵损失得出最终损失,其中,交叉熵损失的计算公式为:

其中,表示交叉熵,i表示样本索引,n表示样本数,表示真实标签,yi是模型的预测输出,j表示第j类,c表示类的数量。

需要说明的是,上述方法步骤并不用于限制各步骤的执行顺序,实际上,某些步骤可能会同时执行或者以与步骤限定的相反的顺序执行,本申请在此没有限制。

下面对通过描述发明人在实现本发明的过程中遇到的一些问题和对最终确定的方案的一个具体实施例进行说明,以使本领域技术人员更好地理解本申请的方案。

面对以上现有技术中存在的问题,本领域技术人员一般会对大网络定点化训练,或者进行网络裁剪,缩小网络的大小。

在本申请中,我们提出了标签级别和嵌入级别的知识蒸馏方法来缩小小模型和大模型之间的性能差距。标签级别的知识蒸馏方法使用一个训练好的教师模型预测的后验概率分布来指导学生模型的优化过程。嵌入级别的知识蒸馏方法则直接限制大模型和小模型学到的说话人嵌入之间的相似性。我们在voxceleb1数据集上展开了实验,实验结果表明提出的知识蒸馏方法可以有效地提升小型学生模型的性能表现。

最终使用的模型仍然是小模型,但是通过knowledgedistillation(kd,知识蒸馏方法),用性能很好的大模型(教师模型)去教小模型(学生模型),从而达到小模型模拟大模型的效果,在不增加计算量的同时极大地提高系统性能。

以下,介绍本申请实现的过程,并给出详细的实验过程及实验数据。

最近,深度架构学到的说话人嵌入已经表现出令人印象深刻的说话人识别性能。说话人嵌入表示基于固定维矢量的表示,用于建模说话者的身份。从基于高斯混合模型(gmm)的超向量,基于联合因子分析(jfa)的特征语音向量,基于因子分析(fa)的i向量,到最近出现的深度说话人嵌入,说话人嵌入学习现已成为说话人识别中说话人建模的主流。

使用resnet等深度架构学习的说话人嵌入被证明可以实现非常好的性能。然而,这些模型包含数百万个参数并且需要巨大的存储器和计算资源。对于通常需要在资源受限的嵌入式设备上运行程序的实际应用程序,无法轻松部署这些高级模型。另一方面,小型模型需要更少的资源,更适合部署,但代价是性能下降。因此,我们希望开发一种有效的机制来提升小型模型的系统性能。与大型深度模型相比,为了缩小性能差距,知识蒸馏将是一种自然的方法。

知识蒸馏在已成功应用于许多应用,如图像识别,语音识别和关键词识别。知识蒸馏通常用于领域适应和模型压缩,常见的方法是使用通过训练有素的教师模型获得的后验来指导学生模型的优化,这种范例通常被称为师生学习。在本申请中,我们建议将师生学习思想引入深度说话人嵌入学习过程。开发了两种知识蒸馏方法。

·标签级知识蒸馏:教师模型提供预测的后验作为学生模型的参考标签。kullback-leibler散度用于监督模型优化。

·嵌入级知识蒸馏:直接使用教师模型学习的说话人嵌入来帮助优化学生模型。更具体地,诸如欧氏距离和余弦距离的相似性度量用于约束从两个模型学习的嵌入的相似性。

2.深度说话人嵌入学习

在深度说话人嵌入框架中,首先对来自大量说话人的话语训练说话者辨别dnn。该训练过程可以在帧级或话语级别执行,而话语级别训练更有意义并且实现更好的表现。已经开发出更强大的深度架构,如resnet和更高级的损耗函数,如三元组损失,角度softmax和广义端到端损耗,在标准数据集上取得了令人印象深刻的结果。在这项工作中,我们采用正常的softmax结合交叉熵损失作为训练标准,更复杂的框架将留在未来的工作中。

图2示出了深度说话人嵌入式学习在说话人识别中的知识蒸馏。如图2所示,本方案提出了两种知识蒸馏方法,使得小模型也能学习到性能不错的说话人嵌入表示。

(1)左:标签级别教师-学生学习架构,学生优化由预训练教师模型预测的后验者指导。

(2)右:嵌入级别教师-学生学习架构,直接约束从教师和学生模型中学习的说话人嵌入的相似性。

如之前说明,说话人嵌入表征是通过神经网络提取的,该神经网络训练的目标是尽可能的区分训练集中的不同说话人,损失函数为ce(crossentropy,交叉熵),模型的最后一层输出为说话人的预测概率分布。

我们提出的第一种kd方法是用使得小模型的模型输出去拟合大模型预测的概率分布,优化的损失函数为两个模型预测的概率分布的kld(kullback-leiblerdivergence,相对熵,kl散度)。

第二种kd方法则是直接在说话人嵌入上进行,通过直接限制小模型学到的说话人嵌入表示,使其尽可能与大模型学习到的嵌入相似。相似性可以用不同的准则表示,如常见的欧氏距离,余弦距离等等。

综上,我们提出的方案的实施步骤如下:

1)训练一个性能很好的大模型(教师模型);

2)用训练好的教师模型通过上述的两种方案去教小模型(学生模型);

3)用优化好的学生模型进行部署、预测等等。

本方案提供了一种通用的提升轻量级说话人嵌入的训练方式,不限于模型结构,有很强的推广性。通常方法训练的深度说话人嵌入由于模型参数量,计算量太大,对于资源受限的真实应用来讲,很难被部署。直接训练的小模型又有着较大的性能下降。通过本方案提出的方法,可以大大减小大模型和小模型之间的性能差距,在满足部署要求的同时,尽可能的提升性能。事实上,学生网络可以选择更轻量级的网络,甚至定点化之后的网络结构。我们提出的知识蒸馏、迁移方案是通用的。

3.针对深度嵌入式的教师-学生学习

师生学习使用表现良好的教师模型来帮助优化学生模型。例如,研究人员可以使用几种声学模型的集合来帮助优化单个声学模型以进行语音识别。类似于语音识别,我们使用师生学习来减少大型深度模型和用于说话人识别的小型模型之间的性能差距。在本文中,提出了两个框架,用于深度说话人嵌入之间的知识蒸馏,包括标签级和嵌入级,这将在以下部分中描述。两种不同架构的图示如图2所示。

3.1交叉熵训练

说话人嵌入学习最常见的标准是交叉熵损失函数(ce,crossentropy,交叉熵),其定义如下:

其中i是样本索引,n表示样本数。表示真实标签,它是一个单一向量,yi是模型的预测输出。j表示第j类,c表示类的数量。

3.2标签级知识蒸馏

在说话人嵌入学习任务中,教师和学生模型的输出都是同一组说话人的后代,如果我们强迫他们发出类似的后验,学生模型应该模仿教师模型。这通常通过最小化学生和教师分布之间的kl散度(kullback-leiblerdivergence,kld)来实现。相应的kld损失在公式2中定义:

其中是教师模型预测的第i个样本的后验,它现在是一个分布(软标签)而不是简单的单一向量(硬标签)。与硬标签相比,软标签包含底层标签分布的更多信息(在某些现有技术中称为暗知识),这可能有益于学生模型的优化。在优化中,使用硬标签和软标签,因此可以将两种损失结合起来用于学生模型训练:

其中α是一个超参数来平衡两个损失。

3.3嵌入级知识蒸馏

不是在标签级别执行知识蒸馏,即模型输出的分布,而是更直观地在基于深度嵌入的说话人识别框架中直接约束来自两个模型的学习嵌入的相似性。在这项工作中,欧氏距离(mse)和余弦距离(cos)损失被开发为嵌入级知识蒸馏的优化度量。

其中表示由教师模型为第i个样本计算的嵌入,表示由学生模型计算的嵌入。模型训练的最终损失函数分别是β和γ是相应的加权参数。

4.实验

4.1数据集

所有实验都是在牛津最近发布的voxceleb1数据集上进行的。voxceleb是一个大型的与文本无关的说话人识别数据集,由两个版本组成,voxceleb1和voxceleb2。请注意,我们在本申请中仅使用voxceleb1。而且,实验中没有采用数据增强方法。第1部分包含来自1251个不同名人的150000多个话语。对于说话人验证任务,第1部分分为训练部分和评估部分。训练部分包含来自1211人的148642个话语,而评估部分包含来自其余40人的约4874个语句。采用的官方测试列表共包含37720个测试用例。

4.2系统设置和评估指标

本申请所提出的知识蒸馏方法可以应用于标准说话人嵌入学习模型。在这项工作中,我们采用的教师模型架构,已被验证在voxceleb数据集上使用此架构具有良好的性能。它是一个34层神经网络,由16个残差块组成{3,4,6,3}.resnet34的详细网络配置是如表1所示。

表1.resnet34教师模型的详细配置:所有过滤器大小设置为3×3,n表示输入话语的帧编号。

对于学生模型,在实验中研究了几种不同的设置。最直观的选择是使用具有较少块的resnet。采用两种设置,即resnet16和resnet10,残差块的块数分别设置为{1,2,3,1}和{1,1,1,1}。resnet16大约是resnet34的一半大小,而resnet10是我们可以获得的最小型号,同时与resnet34教师模型保持相同的架构。此外,还研究了一种不同的架构,它是一个简单的4层cnn,其详细配置如表2所示。cnn模型旨在模拟resnet架构,而每个残差块用简单的卷积层代替。后续将给出不同模型在参数编号和推理速度方面的比较。

表2.cnn学生模型的详细配置,所有过滤器大小设置为3×3,n表示输入话语的帧号。

对于所有基于神经网络的系统,以10ms帧移位提取帧长为25ms的64维fbank特征。神经网络在单gpu上使用64小批量训练,随机梯度下降,动量为0.9,重量衰减1e-4用于优化器。尽管训练话语的原始长度不同,但我们将样本保存在一个共享相同帧数的小批量中,这是一个介于300和800之间的随机整数。在实验中,设置了前面提到的三个超参数α,β和γ分别为1.0,0.4和0.4,在实验中获得最佳结果。

概率线性判别分析(plda)和余弦距离用于评估说话人嵌入。所有结果都报告为最小错误率(eer)和标准化检测成本函数的最小值。先验目标概率ptarget设置为0.01(mindcf0.01)和0.001(mindcf0.001),在失败cmiss和误报cfa之间具有相等的权重1.0。

4.3结果和分析

表3总结了不同系统的结果。resnet34是教师模型,没有知识蒸馏的resnet16,resnet10和cnn是三种学生模型的基线。如表3所示,更深度的体系结构可以实现更好的性能。resnet34教师模型分别通过plda和余弦距离得分获得4.852%和6.045%eer。

使用不同的学生模型观察到不同的表现模型。resnet16,resnet10和cnn分别使用plda后端实现了5.456%,6.384%和8.823%的eer。标签级知识蒸馏将三个系统的eer降低到5.392%,5.870%和7.853%,而嵌入式知识蒸馏进一步提高了性能。从表3可以看出,嵌入式知识蒸馏方法的性能优于标签级方法,这是有意义的,因为我们现在优化的目标与系统性能更相关。基于余弦距离的蒸馏实现了比mse更好的性能,可能是因为mse约束太严格,这可能会损害泛化能力。

值得注意的是,使用embeddingcos进行知识蒸馏的resnet16的性能几乎可以达到与教师模型resnet34相同的精度,但参数要少得多。对于最简单的cnn学生模型,可以更好地反映所提出的知识蒸馏方法的能力。通过embeddingcos进行知识蒸馏之后的模型采用plda和余弦距离打分的eer分别取得了21.6%和59.3%的下降。

表3.不同系统的性能比较。第一行代表教师模型resnet34,以下行表示三种学生模型,包括resnet16,resnet10和简单cnn,如前所述。label(标签级别),embeddingmse(欧氏距离嵌入式级别)和embeddingcos(余弦距离嵌入式级别)表示前面描述的不同知识蒸馏方法。

图3示出了学生cnn模型w/或w/o知识蒸馏的收敛比较。

具有/不具有知识蒸馏的学生cnn模型的收敛速度如图3所示。可以发现,利用不同的知识蒸馏方法,收敛速度在不同程度上得到改善。一个有趣的观察结果是,mse损失蒸馏所达到的最终精度甚至低于原始cnn,但前者系统优于后者。回想一下通过标签级知识蒸馏获得的有限性能增益,两个观察都表明具有交叉熵损失的softmax不是说话者嵌入学习的完美标准。可以考虑更有力的标准,例如angular-softmax和端到端损失,使用这些设置的知识蒸馏将留作未来的工作。

4.4模型大小和推理速度

排除不会在系统实现中使用的最后一层,测试并比较模型大小和推理速度,结果如表4所示。

减小模型大小将相应地提高推理速度。回想一下表3中报告的性能,resnet16获得了与教师模型resnet34几乎相同的性能,但参数和推理时间只有一半。另一个观察是,尽管通过提出的知识蒸馏方法可以降低教师和学生模型之间的性能差距,但是更大的模型仍然可以获得更好的性能。对于实际应用,仍然需要在模型尺寸和性能之间进行权衡,而使用提出的知识蒸馏方法可以更容易地实现这种权衡。

表4.比较模型大小和教师和学生模型之间的推理速度。在gpu(teslak40m)和cpu(intelxeone5-2670)上测试推理速度。

5.结论

通过深度架构学习的说话人嵌入在说话人识别方面表现出令人印象深刻的性能,然而,这些先进的深度模型不适合部署。在本申请中,我们建议使用知识蒸馏与师生学习框架来弥合大型和小型模型提取的说话人嵌入之间的性能差距。提出了两种知识蒸馏结构:1)标签级知识蒸馏,其中教师模型的后验输出用于指导学生模型的优化。2)嵌入级知识蒸馏,其中教师和学生模型的嵌入之间的相似性受到约束。在voxceleb1数据集上进行实验,使用标准的34层resnet作为教师模型,而使用具有不同大小的三个不同模型作为学生模型。结果一致表明,所提出的知识蒸馏方法可以显着提高学生模型的性能。

请参考图4,其示出了本发明一实施例提供的知识蒸馏装置的框图。

如图4所示,知识蒸馏装置400,包括输入模块410、说话人嵌入模块420、后验模块430和部署预测模块440。

其中,输入模块410,配置为在说话人嵌入学习任务中,向教师模型和学生模型中输入相同说话人的音频数据,其中,所述教师模型和所述学生模型均包括说话人嵌入提取和说话人后验概率分布预测;说话人嵌入模块420,配置为以所述教师模型的说话人嵌入提取为标准,将所述学生模型的说话人嵌入提取和所述教师模型的说话人嵌入提取的差距限制在第一预设范围内,以对所述学生模型进行优化;或后验模块430,配置为以所述教师模型的说话人后验概率分布预测为标准,将所述学生模型的说话人后验概率分布预测和所述教师说话人后验概率分布预测的差距限制在第二预设范围内,以对所述学生模型进行优化;以及部署预测模块440,配置为使用优化好的学生模型进行部署和/或预测。

应当理解,图4中记载的诸模块与参考图1中描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征以及相应的技术效果同样适用于图4中的诸模块,在此不再赘述。

值得注意的是,本公开的实施例中的模块并不用于限制本公开的方案,例如判断模块可以描述为当设备处于交互状态时,判断交互状态是否为播放场景的模块。另外,还可以通过硬件处理器来实现相关功能模块,例如判断模块也可以用处理器实现,在此不再赘述。

在另一些实施例中,本发明实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的知识蒸馏方法;

作为一种实施方式,本发明的非易失性计算机存储介质存储有计算机可执行指令,计算机可执行指令设置为:

在说话人嵌入学习任务中,向教师模型和学生模型中输入相同说话人的音频数据,其中,所述教师模型和所述学生模型均包括说话人嵌入提取和说话人后验概率分布预测;

以所述教师模型的说话人嵌入提取为标准,将所述学生模型的说话人嵌入提取和所述教师模型的说话人嵌入提取的差距限制在第一预设范围内,以对所述学生模型进行优化;或

以所述教师模型的说话人后验概率分布预测为标准,将所述学生模型的说话人后验概率分布预测和所述教师说话人后验概率分布预测的差距限制在第二预设范围内,以对所述学生模型进行优化;

使用优化好的学生模型进行部署和/或预测。

非易失性计算机可读存储介质可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据知识蒸馏装置的使用所创建的数据等。此外,非易失性计算机可读存储介质可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,非易失性计算机可读存储介质可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至知识蒸馏装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

本发明实施例还提供一种计算机程序产品,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行上述任一项知识蒸馏方法。

图5是本发明实施例提供的电子设备的结构示意图,如图5所示,该设备包括:一个或多个处理器510以及存储器520,图5中以一个处理器510为例。知识蒸馏方法的设备还可以包括:输入装置530和输出装置540。处理器510、存储器520、输入装置530和输出装置540可以通过总线或者其他方式连接,图5中以通过总线连接为例。存储器520为上述的非易失性计算机可读存储介质。处理器510通过运行存储在存储器520中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例知识蒸馏方法。输入装置530可接收输入的数字或字符信息,以及产生与信息投放装置的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。

上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。

作为一种实施方式,上述电子设备应用于知识蒸馏装置中,用于客户端,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够:

在说话人嵌入学习任务中,向教师模型和学生模型中输入相同说话人的音频数据,其中,所述教师模型和所述学生模型均包括说话人嵌入提取和说话人后验概率分布预测;

以所述教师模型的说话人嵌入提取为标准,将所述学生模型的说话人嵌入提取和所述教师模型的说话人嵌入提取的差距限制在第一预设范围内,以对所述学生模型进行优化;或

以所述教师模型的说话人后验概率分布预测为标准,将所述学生模型的说话人后验概率分布预测和所述教师说话人后验概率分布预测的差距限制在第二预设范围内,以对所述学生模型进行优化;

使用优化好的学生模型进行部署和/或预测。

本申请实施例的电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子装置。

以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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