掌桥专利:专业的专利平台
掌桥专利
首页

声纹识别模型训练方法、装置及相关设备

文献发布时间:2023-06-19 11:02:01


声纹识别模型训练方法、装置及相关设备

技术领域

本申请涉及声纹识别技术领域,尤其涉及到一种声纹识别模型训练方法、装置及相关设备。

背景技术

声纹识别作为可信的声纹特征认证技术,在身份认证、安全核身等诸多领域和场景中都有广阔的应用前景。但是语音很容易受到各种噪声环境,情绪,身体状况等外部环境和自身因素的影响,因此,提高声纹识别准确率,有着极为重要的现实意义。在实现本申请的过程中,申请人发现现有技术中存在以下技术问题:声纹识别模型训练中,容易受到大规模非平衡数据的干扰,从而导致训练得到的声纹识别模型训练的精度较低。

发明内容

本申请实施例提供一种声纹识别模型训练方法、装置及相关设备,以解决训练得到的声纹识别模型训练的精度较低的问题。

为了解决上述技术问题,本申请是这样实现的:

第一方面,本申请实施例提供了一种声纹识别模型训练方法,包括:

在样本池中随机选择M个第一声纹样本数据,每一个所述第一声纹样本数据包括被采样的概率值;

将所述第一声纹样本数据输入到预训练声纹识别模型,进行第N次迭代训练;

基于所述预训练声纹识别模型输出的分类结果确定调整所述第一声纹样本数据的被采样的概率值;

在经过第N次迭代训练后的预训练声纹识别模型收敛的情况下,将经过第N次迭代训练后的预训练声纹识别模型确定为声纹识别模型;

其中,调整被采样的概率值后的所述第一声纹样本数据用于确定第N+1次迭代训练的输入数据,M和N均为正整数。

第二方面,本申请实施例提供了一种声纹识别方法,包括:

获取待识别的第一语音数据对应的声纹数据;

将所述声纹数据输入到声纹识别模型中,获得待确认的声纹特征向量;

将所述声纹特征向量输入至预设的分类模型获得第一分类结果;

在所述第一分类结果与第一用户对应的基准结果匹配的情况下,确定所述第一语音数据为第一用户的语音数据;

其中,所述声纹识别模型基于所述上述所述的声纹识别模型训练方法训练得到。

第三方面,本申请实施例提供了一种声纹识别模型训练装置,包括:

选择模块,用于在样本池中随机选择M个第一声纹样本数据,每一个所述第一声纹样本数据包括被采样的概率值;

训练模块,用于将所述第一声纹样本数据输入到预训练声纹识别模型,进行第N次迭代训练;

第一确定模块,用于基于所述预训练声纹识别模型输出的分类结果确定调整所述第一声纹样本数据的被采样的概率值;

第二确定模块,用于在经过第N次迭代训练后的预训练声纹识别模型收敛的情况下,将经过第N次迭代训练后的预训练声纹识别模型确定为声纹识别模型;

其中,调整被采样的概率值后的所述第一声纹样本数据用于确定第N+1次迭代训练的输入数据,M和N均为正整数。

第四方面,本申请实施例还提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述声纹识别模型训练方法中的步骤。

第五方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述声纹识别模型训练方法中的步骤。

在本申请实施例中,在样本池中随机选择M个第一声纹样本数据,每一个所述第一声纹样本数据包括被采样的概率值;将所述第一声纹样本数据输入到所述预训练声纹识别模型,进行第N次迭代训练;基于所述预训练声纹识别模型输出的分类结果确定调整所述第一声纹样本数据的被采样的概率值;在经过第N次迭代训练后的预训练声纹识别模型收敛的情况下,将经过第N次迭代训练后的预训练声纹识别模型确定为声纹识别模型;其中,调整被采样的概率值后的所述第一声纹样本数据用于确定第N+1次迭代训练的输入数据,M和N均为正整数。这样,通过调整第一声纹样本数据被采样的概率值,并根据调整被采样的概率值后的第一声纹样本数据确定第N+1次迭代训练的输入数据,从而减小了大规模非平衡数据的干扰,提升了训练得到的声纹识别模型训练的精度。

附图说明

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

图1是本申请实施例提供的一种声纹识别模型训练方法的流程图;

图2是本申请实施例提供的另一种声纹识别模型训练方法的流程图;

图3是本申请实施例提供的另一种声纹识别模型训练方法的流程图;

图4是本申请实施例提供的另一种声纹识别模型训练方法的流程图;

图5是本申请实施例提供的另一种声纹识别模型训练方法的流程图;

图6是本申请实施例提供的一种声纹识别模型的输入数据和输出数据示意图;

图7是本申请实施例提供的一种声纹识别模型的结构示意图;

图8是本申请实施例提供的另一种声纹识别模型的结构示意图;

图9是本申请实施例提供的另一种声纹识别模型的结构示意图;

图10是本申请实施例提供的另一种声纹识别模型的结构示意图;

图11是本申请实施例提供的一种声纹识别方法的流程图;

图12是本申请实施例提供的一种声纹识别模型训练装置的结构示意图;

图13是本申请实施例提供的一种声纹识别装置的结构示意图;

图14是本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

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

参见图1,图1是本申请实施例提供的声纹识别模型训练方法的流程图,如图1所示,包括以下步骤:

步骤101、在样本池中随机选择M个第一声纹样本数据,每一个所述第一声纹样本数据包括被采样的概率值。

其中,样本池中可以包括所有待训练的声纹样本数据,上述样本池中包括的所有的待训练的声纹样本数据可以被称作为全量数据,而M个第一声纹样本数据属于样本池中的部分数据。

另外,M个第一声纹样本数据属于不同分类下的数据,也就是说上述M个第一声纹样本数据可以为自适应地找到的有价值的样本中的至少一部分,从而使得自适应地找到的有价值的样本形成了小批量数据,而上述自适应地找到的有价值的样本则可以被称作为自适应数据采样(Adaptive Data Sampling,ADS)。

而每一个第一声纹样本数据均包括有被采样的概率值,也就是说每一个第一声纹样本数据均对应有被采样的概率值,这样,由于每一个第一声纹样本数据中均包括有被采样的概率值,从而方便后续识别每一个第一声纹样本数据对应的被采样的概率值,进而调整其对应被采样的概率值。

步骤102、将所述第一声纹样本数据输入到预训练声纹识别模型,进行第N次迭代训练。

其中,将所述M个第一声纹样本数据转化成矩阵形式的音频特征,并将该音频特征输入至预训练声纹识别模型中,进行迭代训练。

作为一种可选的实施方式,所述预训练声纹识别模型为利用全量数据训练之后的声纹识别模型,所述第一声纹样本数据属于所述全量数据中的数据。

本实施方式中,利用全量数据训练得到的预训练声纹识别模型可以为一个良好的基线声纹识别模型,该模型已经学习了声纹识别的基本知识,对语音的声纹识别具有一定的辨识度,即可以对声纹进行初步识别。这样,即相当于对预训练声纹识别模型先进行一个预训练,从而降低了对预训练声纹识别模型进行训练的训练周期。

例如:参见图3,图3中为利用全量数据训练训练声纹识别模型,以得到本实施方式中的预训练声纹识别模型的流程图,可以理解的是,图3中声纹识别模型训练中的声纹识别模型指的是初始声纹识别模型,而采用全量数据训练之后,图3中收敛的声纹识别模型即为本实施方式中的预训练声纹识别模型。

而上述在利用全量数据训练得到的预训练声纹识别模型的训练方式可以参见以下表述:

从全量数据中,随机取一个batch对初始声纹识别模型进行训练,直至所有数据都被训练完成,为一个epoch,然后循环多个epoch直至模型的训练和验证的准确率趋于稳定,这样,将训练之后的模型确定为本实施方式中的预训练声纹识别模型。

也就是说:可以将全量数据分为多组数据,每一组数据中包括多个数据,而一组数据可以被称为一个batch,多组数据全部训练一遍,称为一个epoch,将全量数据分成多组数据,轮流输入至初始声纹识别模型中进行训练,直至模型的训练和验证的准确率趋于稳定。

步骤103、基于所述预训练声纹识别模型输出的分类结果确定调整所述第一声纹样本数据的被采样的概率值。

需要说明的是,每一个第一声纹样本数据的被采样的概率值不能低于最低阈值,这样,可以保证每一个第一声纹样本数据均可以被获取,避免某些第一声纹样本数据的被采样的概率值过低导致不能被获取,进而不能输入至预训练声纹识别模型进行训练的现象的出现。

其中,参见图2和图4,第一声纹样本数据的被采样的概率值可以被称作为权重,而第一声纹样本数据可以简称为数据,并将取得数据输入至声纹识别模型(也就是本实施方式中的预训练声纹识别模型)中进行训练。

其中,预训练声纹识别模型可以输出每一个第一声纹样本数据的分类结果,并根据分类结果确定对应的第一声纹样本数据的被采样的概率值。也就是说预训练声纹识别模型输出的分类结果是输入的第一声纹样本数据的分类结果,即两者是一一对应的,也就是说每一个第一声纹样本数据输入至预训练声纹识别模型中,该模型均会输出该第一声纹样本数据的分类结果,当然,分类结果通常包括分类正确或者分类错误两种结果。

另外,预训练声纹识别模型输出的分类结果可以输出第一声纹样本数据属于某一分类的概率值,当概率值大于或等于预设值,则认定分类结果正确,当概率值小于预设值,则认定分类结果错误;例如:当概率值为0.6,大于预设值0.5,则此时分类结果正确;当概率值为0.4,小于预设值0.5,则此时分类结果错误。

当然,预训练声纹识别模型输出的分类结果也可以输出第一声纹样本数据是否属于某一分类的结果。例如:在输出第一声纹样本数据是否属于第一分类时,分类结果可以为“是”,则表示第一声纹样本数据属于第一分类;当分类结果为“否”,则表示第一声纹样本数据不属于第一分类。

另外,预训练声纹识别模型还可以输出多个概率值,并从多个概率值确定最大数值对应的分类为第一声纹样本数据的分类,例如:分类结果包括属于第一分类的概率值0.2,属于第二分类的概率值0.3,以及属于第三分类的概率值0.5,这样,可以确定0.5对应的第三分类为该第一声纹样本数据的分类。

需要说明的是,根据分类结果确定对应的第一声纹样本数据的被采样的概率值的具体方式在此不做限定。

例如:作为一种可选地实施方式,所述基于所述预训练声纹识别模型输出的分类结果确定调整所述第一声纹样本数据的被采样的概率值,包括:

在所述预训练声纹识别模型输出的分类结果正确的情况下,调低所述第一声纹样本数据的被采样的概率值;

在所述预训练声纹识别模型输出的分类结果错误的情况下,调高所述第一声纹样本数据的被采样的概率值,或者,剔除所述第一声纹样本数据。

其中,在调低或者调高第一声纹样本数据的被采样的概率值时,可以每次均调整一个固定值,需要说明的是,不同的第一声纹样本数据对应的固定值可以相同,也可以不相同。

另外,在调低或者调高第一声纹样本数据的被采样的概率值时,还可以每次调整一个变量值,变量值的取值与对应的第一声纹样本数据的被输入至预训练声纹识别模型中的次数相关,即第一声纹样本数据的被输入次数越多,则变量值的取值越大或者越低,具体对应方式在此不做限定。

本实施方式中,当预训练声纹识别模型输出的分类结果正确时,说明预训练声纹识别模型已经能够正确识别该第一声纹样本数据,因此,在后续的训练过程中,可以降低该第一声纹样本数据的被采样的概率值;当预训练声纹识别模型输出的分类结果错误时,说明预训练声纹识别模型还不能够正确识别该第一声纹样本数据,因此,在后续的训练过程中,可以提高该第一声纹样本数据的被采样的概率值,使得预训练声纹识别模型可以更多的获取该第一声纹样本数据,并对该第一声纹样本数据进行训练,从而提高预训练声纹识别模型对该第一声纹样本数据识别的准确度。

作为一种可选地实施方式,所述在所述预训练声纹识别模型输出的分类结果错误的情况下,调高所述第一声纹样本数据的被采样的概率值,或者,剔除所述第一声纹样本数据,包括:

在所述预训练声纹识别模型输出的分类结果错误的情况下,确定所述第一声纹样本数据的目标参数;

在所述目标参数满足预设条件的情况下,调高所述第一声纹样本数据的被采样的概率值;

或者,在所述目标参数不满足预设条件的情况下,剔除所述第一声纹样本数据。

这样,当目标参数满足预设条件的情况下,说明目标参数对应的第一声纹样本数据为优秀样本数据,但是该第一声纹样本数据被分类错误,因此需要在后续的过程中继续获取,并提高该第一声纹样本数据的被采样的概率值,并输入至预训练声纹识别模型中进行训练,以使得预训练声纹识别模型能够正确对该第一声纹样本数据进行分类。相应的,当目标参数不满足预设条件时,则说明此时目标参数对应的第一声纹样本数据为较差的样本数据,且该第一声纹样本数据分类错误,因此需要减少后续训练中,该第一声纹样本数据的获取概率,即可以将第一声纹样本数据剔除。

其中,目标参数的具体类型在此不做限定,例如:作为一种可选的实施方式,目标参数可以为第一声纹样本数据的被采样的概率值,当第一声纹样本数据的被采样的概率值与预设概率值的差值大于或等于第一预设值的情况下,确定目标参数满足预设条件;当第一声纹样本数据的被采样的概率值与预设概率值的差值小于第一预设值的情况下,确定目标参数不满足预设条件。

而上述第一预设值的具体取值在此不做限定,例如:第一预设值可以为0。

需要说明的是,预设概率值可以为样本池中多个声纹样本数据对应的概率值的平均值或者加权平均值,上述多个声纹样本数据可以为标注分类结果正确的声纹样本数据,或者可以标注为与第一声纹样本数据属于同一分类的样本数据。

作为另一种可选的实施方式,目标参数可以为第一声纹样本数据的被采样的概率值,当第一声纹样本数据的被采样的概率值大于或等于第二预设值的情况下,确定目标参数满足预设条件;当第一声纹样本数据的被采样的概率值小于第二预设值的情况下,确定目标参数不满足预设条件。

作为另一种可选的实施方式,目标参数可以为第一声纹样本数据的输入预训练声纹识别模型后输出第一声纹样本数据属于某一分类的概率值,当第一声纹样本数据属于某一分类的概率值大于或等于第三预设值的情况下,确定目标参数满足预设条件;当第一声纹样本数据的被采样的概率值小于第三预设值的情况下,确定目标参数不满足预设条件。

其中,参见图4,上述第一声纹样本数据的被采样的概率值即可以为图4中的分数,而第二预设值即为图4中的给定阈值,迭代是否正确指的是本实施方式中的分类结果是否正确。

作为一种可选地实施方式,所述在所述预训练声纹识别模型输出的分类结果错误的情况下,确定所述第一声纹样本数据的目标参数,包括:

在所述预训练声纹识别模型输出的分类结果错误的情况下,确定所述第一声纹样本数据与对应的预设声纹样本数据的相似度为所述目标参数;

所述在所述目标参数满足预设条件的情况下,调高所述第一声纹样本数据的被采样的概率值,包括:

在所述第一声纹样本数据与对应的预设声纹样本数据的相似度大于第一阈值的情况下,调高所述第一声纹样本数据的被采样的概率值。

其中,上述对应的预设声纹样本数据可以被认为是带有标注信息的声纹样本数据,而上述标注信息可以用于表示该声纹样本数据的分类信息,即预设声纹样本数据为分类正确的声纹样本数据。

本实施方式中,在预训练声纹识别模型输出的第一声纹样本数据的分类结果错误的情况下,判断第一声纹样本数据与对应的预设声纹样本数据的相似度,当相似度大于第一阈值的情况下,说明第一声纹样本数据中的有效数据较多,有效数据可以指的是与第一声纹样本数据与预设声纹样本数据相重合的部分数据,此时说明该第一声纹样本数据为有价值的声纹样本数据,因此可以调高该第一声纹样本数据的被采样的概率值,以方便后续的训练过程中,该第一声纹样本数据再次被模型获取,并进行训练,进而使得模型可以正确的对该第一声纹样本数据进行分类,即使得模型可以正确的识别该第一声纹样本数据。

由于预设声纹样本数据为分类正确的声纹样本数据,当相似度越大,则说明第一声纹样本数据中的有效数据的占比越高。

作为另一种可选地实施方式,所述在所述目标参数不满足预设条件的情况下,剔除所述第一声纹样本数据,包括:

在所述预训练声纹识别模型输出的分类结果错误,且所述第一声纹样本数据与对应的预设声纹样本数据的相似度小于或等于第一阈值的情况下,剔除所述第一声纹样本数据。

本实施方式中,由于预训练声纹识别模型输出的分类结果错误,且第一声纹样本数据与对应的预设声纹样本数据的相似度小于或等于第一阈值,则说明该第一声纹样本数据中包括的有效数据较少,因此可以将该第一声纹样本数据确定为无效数据或者不需要学习数据,从而剔除该第一声纹样本数据,以减少该第一声纹样本数据在后续的训练过程中,再次被模型获取的概率,从而减少了整个样本池中可以被获取的样本数据的数量,进而减少了计算资源的占用。

需要说明的是,有效数据可以参见上个实施方式中的相应表述,具体在此不再赘述。

步骤104、在经过第N次迭代训练后的预训练声纹识别模型收敛的情况下,将经过第N次迭代训练后的预训练声纹识别模型确定为声纹识别模型;其中,调整被采样的概率值后的所述第一声纹样本数据用于确定第N+1次迭代训练的输入数据,M和N均为正整数。

其中,判断预训练声纹识别模型是否收敛的方式在此不做限定,例如,训练过程中产生的误差小于某个预先设定的较小的值;两次迭代训练之间的权值变化已经很小,例如,设定一个阈值,当两次迭代训练之间的权值小于这个阈值后,就停止训练;设定最大迭代训练次数,当迭代训练超过最大次数就停止训练等。

需要说明的是,在确定声纹识别模型之后,还可以对声纹识别模型进行进一步的训练,以进一步提高声纹识别模型的识别精度。

可选地,所述将经过第N次迭代训练后的预训练声纹识别模型确定为声纹识别模型之后,所述方法还包括:

随机获取L个声纹样本数据集合,其中,每个所述声纹样本数据集合中包括至少两个用户的声纹样本数据,所述至少两个用户的声纹样本数据的相似度大于第二阈值,L为正整数。

利用所述L个声纹样本数据集合训练所述声纹识别模型;

在经过训练的声纹识别模型收敛的情况下,将经过训练的声纹识别模型确定为目标声纹识别模型。

其中,任意两个声纹样本数据集合包括的声纹样本数据之间的相似度均大于第三阈值,也就是说:任意两个声纹样本数据集合包括的声纹样本数据之间的相似度较高,因而区分度较小,所以可以获取上述声纹样本数据集合包括的声纹样本数据供声纹识别模型进行训练,从而进一步提升声纹识别模型的识别精度和识别准确率。

其中,每一个声纹样本数据集合中包括的至少两个用户的声纹样本数据的相似度大于第二阈值,这样,也就是说每个声纹样本数据集合中包括的声纹样本数据的相似度较高。

这样,本实施方式中,可以进一步提高训练得到的目标声纹识别模型的识别精度和准确度。

可选地,所述至少两个用户的声纹样本数据包括目标用户的声纹样本数据,所述至少两个用户中除所述目标用户外的其他用户属于所述目标用户的队列中的用户,所述目标用户的队列中的用户的声纹样本数据与所述目标用户的声纹样本数据的相似度大于第二阈值。

这样,可以将与每个目标用户相似的目标队列用户放入对应的目标用户的队列中,从而使得在选取声纹样本数据时,可以先随机确定多个目标用户,然后再确定每个目标用户的队列中的多个目标队列用户,并选取上述每个目标用户以及每个目标队列用户的声纹样本数据,从而使得选取声纹样本数据的速率更高,同时,使得选取的声纹样本数据的相似度较大,进而方便提高声纹识别模型的识别精度和准确度。

作为一种可选的选取声纹样本数据的实施方式,所述随机获取L个声纹样本数据集合,包括:

随机确定S个目标用户;

并确定每一个目标用户对应的队列中K个目标队列用户;

随机选取每个目标用户以及对应的每个目标队列用户的I项声纹信息组成声纹样本数据集合。

这样,通过先确定目标用户,然后再确定每个目标用户对应的目标队列用户,从而使得选取声纹样本数据的速率更高,同时,使得选取的声纹样本数据的相似度较大。

参见图2和图5,可以先确定S个目标用户,然后确定与每个目标用户相似队列中的K个目标队列用户,且对S*K的所有用户,每个人随机选择I条声纹样本数据输入至声纹识别模型中进行训练。

需要说明的是,作为一种可选的实施方式,所述L个声纹样本数据集合包括的声纹样本数据属于所述全量数据中的数据。也就是说L个声纹样本数据集合包括的声纹样本数据可以属于全量数据中一部分数据,也可以被称作为小批数据。由于全量数据属于样本池中的数据,只要确定了全量数据,然后再从全量数据中确定L个声纹样本数据集合即可,无需再去寻找其他数据,这样,减小了工作量,并减少了计算资源的占用。

本申请实施例中,首先根据预训练声纹识别模型输出的分类结果调整第一声纹样本数据的被采样的概率值,从而建立了第一个反馈机制,使得模型在后期的训练中可以更加关注分类结果错误的声纹样本数据,从而使得模型可以学习上述分类结果错误的声纹样本数据等有价值的样本。另外,还根据目标用户与对应的目标队列用户的声纹样本数据确定声纹样本数据集合,并采用声纹样本数据集合来训练声纹识别模型,使得模型在训练过程中更加关注相似度较大的样本数据,并且可以在每一次训练之后更新获取的声纹样本数据集合,从而建立了第二个反馈机制,这样,通过上述步骤,能够有效地提高了识别精度,缩短训练时间。

也可以理解为:本申请同时提出了两种基于困难挖掘(hard mining)的声纹识别模型训练方法,第一个是从数据采样出发,建立了一个反馈机制,使得模型在后期可以更关注困难样本(hard sample),以求学习有价值的样本。第二个hard mining从类层次进行,同样地建立了一个反馈机制,让模型在训练过程关注相近的类别。基于hard mining的声纹识别训练方法能够有效地提高了识别精度,缩短训练时间。

需要说明的是,本申请实施例中的预训练声纹识别模型和声纹识别模型可均为ResNet结构,而ResNet结构中包括的动态路由层的引入,不仅使得网路层数变深且可训练,还使得网络参数大幅减少,提升了网络性能的同时有效提升了网络效率。针对业务场景,可进行相关网络设计。而基于ResNet提取的声纹识别特征(或者被称作为声纹识别数据)被称为r-vector。对于ResNet结构,有两个控制模型容量的基本维度,即宽度和深度。

例如:参见图7,图7可以相当于ResNet的结构示意图,也可以被称作为基本块(Basic block),其至少包括两层3X3卷积层。另外,参见图6,图6为声纹识别模型的系统架构图,即图6可以为输入数据和输出数据的示意图。图6中module可以被称作为模块,outputsize可以被称作为模型的输出尺寸或者输出大小(即可以被理解为概率值),input layer可以被称作为输入层,aggregation layer可以被称作为聚合层,averge可以被称作为平均数,attention可以被称作为关注,classification layer可以被称作为分类层,而conv可以用于表示向量卷积运算,fc可以表示连接层。

当然,作为另一种可选的实施方式,所述预训练声纹识别模型和所述声纹识别模型均包括第一卷积层、第二卷积层和第三卷积层,所述第二卷积层位于所述第一卷积层和所述第三卷积层之间,所述第二卷积层为ResNeXt结构或者Res2Net结构。

其中,本申请实施例中的获取声纹样本数据的步骤可以在数据层上实现,除此之外的其他步骤可以在上述第一卷积层、第二卷积层和第三卷积层上实现。

其中,第一卷积层可以为3X3或者1X1结构,而第三卷积层同样可以为3X3或者1X1结构。例如:参见图8,图8中包括第一卷积层801、第二卷积层802和第三卷积层803,其中,第一卷积层801和第三卷积层803均为1X1卷积层;第二卷积层802可以为3X3卷积层,且可以被称作为groups C模块层,也就是说图8中的第二卷积层802可以理解为ResNeXt结构。

参见图9,图9中包括第一卷积层901、第二卷积层902和第三卷积层903,第一卷积层901为3X3卷积层,第三卷积层903为1X1卷积层,第二卷积层902可以理解为Res2Net结构。

可以理解的是,ResNeXt相当于通过多分支转换替换了ResNet中的残差块,从而在一层中引入了许多卷积组。Res2Net还专注于残块的重新设计。它在残差块内部构造分层的残差状连接,并在一层内提供多个可用的接收场。除了宽度和深度,ResNeXt和Res2Net还公开了另外两个维度,分别称为基数和比例。

具体参见图8,图8中第二卷积层802是具有超参数C(称为基数)的多分支变换。这是一个新的基本维度,增加基数比增加网络的深度和宽度更有效的提高训练效率,还减少了过拟合现象的出现。

参见图9,Res2Net体系结构用多尺度方法可以在更细粒度级别上表示多尺度特征,并增加每个网络的感受野。将基于Resnet架构的声纹识别系统中的ResNet结构的基本块修改为Res2Net块。例如:将图8中的第一卷积层设置为图9中的第一卷积层901,且第一卷积层901为3x3卷积层,并用Res2Net模块替换了图8中的第二卷积层802。

例如:图10说明了Res2Net模块的设计。经过第一个3x3卷积层后,特征图被均匀切成s个子集,用{x1,x2,...,xs}表示。然后将每个子集送给3×3卷积(用Ki表示),除了x1。从x3开始,在通过Ki之前,将Ki-1的每个输出与xi相加。这种分层的残留样连接进一步增加了一层内可能的感受野,从而能够获取更全面的声纹特征。同时Res2Net的多尺度特征表示可以大大提高短话语的性能,对背景噪声的鲁棒性更强。

本申请同时对基于Resnet架构的声纹识别系统进行了改进,将ResNeXt和Res2Net结构整合到现有的ResNet结构中,ResNeXt具有超参数C(称为基数)的多分支变换。增加基数能够有效提升声纹识别的准确率。Res2Net这种分层的残留样连接进一步增加了一层内可能的感受野,从而能够获取更全面的声纹特征。同时Res2Net的多尺度特征表示可以大大提高短话语的性能,对背景噪声的鲁棒性更强。进一步提升了r-vector声纹识别模型识别的准确率。

这样,本申请实施例中,通过将ResNeXt and Res2Net的核心思想引入传统的ResNet架构,最大程度地利用特征并以更少的参数获得更好的性能。

参见图11,本申请实施例还提供了一种声纹识别方法,包括以下步骤:

步骤1101、获取待识别的第一语音数据对应的声纹数据;

其中,第一语音数据可以为采集的用户的语音数据,或者也可以为样本池中获取得到的语音数据。

步骤1102、将所述声纹数据输入到声纹识别模型中,获得待确认的声纹特征向量;

其中,待确认的声纹特征向量可以呈矩阵形式,而所述声纹识别模型基于上述实施例提供的声纹识别模型训练方法训练得到。

步骤1103、将所述声纹特征向量输入至预设的分类模型获得第一分类结果;

其中,分类模型的类型在此不做限定,例如:分类模型可以为Softmax分类器等形式。

步骤1104、在所述第一分类结果与第一用户对应的基准结果匹配的情况下,确定所述第一语音数据为第一用户的语音数据。

其中,第一用户对应的基准结果可以为预先批注的正确的分类结果。

这样,通过上述步骤可以使得对待识别的第一语音数据的分类结果较为准确。

参见图12,图12是本申请实施例提供的声纹识别模型训练装置的结构图,能实现上述实施例中声纹识别模型训练方法的细节,并达到相同的效果。如图12所示,声纹识别模型训练装置1200包括:

选择模块1201,用于在样本池中随机选择M个第一声纹样本数据,每一个所述第一声纹样本数据包括被采样的概率值;

训练模块1202,用于将所述第一声纹样本数据输入到预训练声纹识别模型,进行第N次迭代训练;

第一确定模块1203,用于基于所述预训练声纹识别模型输出的分类结果确定调整所述第一声纹样本数据的被采样的概率值;

第二确定模块1204,用于在经过第N次迭代训练后的预训练声纹识别模型收敛的情况下,将经过第N次迭代训练后的预训练声纹识别模型确定为声纹识别模型;

其中,调整被采样的概率值后的所述第一声纹样本数据用于确定第N+1次迭代训练的输入数据,M和N均为正整数。

可选地,第一确定模块1203,包括:

调低子模块,用于在所述预训练声纹识别模型输出的分类结果正确的情况下,调低所述第一声纹样本数据的被采样的概率值;

调整子模块,用于在所述预训练声纹识别模型输出的分类结果错误的情况下,调高所述第一声纹样本数据的被采样的概率值,或者,剔除所述第一声纹样本数据。

可选地,调整子模块,包括:

确定子单元,用于在所述预训练声纹识别模型输出的分类结果错误的情况下,确定所述第一声纹样本数据的目标参数;

调高子单元,用于在所述目标参数满足预设条件的情况下,调高所述第一声纹样本数据的被采样的概率值;

或者,剔除子单元,用于在所述目标参数不满足预设条件的情况下,剔除所述第一声纹样本数据。

可选地,声纹识别模型训练装置1200还包括:

第一获取模块,用于随机获取L个声纹样本数据集合,其中,每个所述声纹样本数据集合中包括至少两个用户的声纹样本数据,所述至少两个用户的声纹样本数据的相似度大于第二阈值,L为正整数。

训练模块,用于利用所述L个声纹样本数据集合训练所述声纹识别模型;

第三确定模块,用于在经过训练的声纹识别模型收敛的情况下,将经过训练的声纹识别模型确定为目标声纹识别模型。

可选地,所述至少两个用户的声纹样本数据包括目标用户的声纹样本数据,所述至少两个用户中除所述目标用户外的其他用户属于所述目标用户的队列中的用户,所述目标用户的队列中的用户的声纹样本数据与所述目标用户的声纹样本数据的相似度大于第二阈值。

可选地,所述预训练声纹识别模型为利用全量数据训练之后的声纹识别模型,所述第一声纹样本数据和所述L个声纹样本数据集合包括的声纹样本数据均属于所述全量数据中的数据。

可选地,所述预训练声纹识别模型和所述声纹识别模型均包括第一卷积层、第二卷积层和第三卷积层,所述第二卷积层位于所述第一卷积层和所述第三卷积层之间,所述第二卷积层为ResNeXt结构或者Res2Net结构。

本申请实施例提供的声纹识别模型训练装置能够实现图1的方法实施例中声纹识别模型训练装置实现的各个过程,为避免重复,这里不再赘述。

可选地,参见图13,本申请实施例还提供一种声纹识别装置的结构示意图,如图13所示,声纹识别装置1300包括:

第二获取模块1301,用于获取待识别的第一语音数据对应的声纹数据;

第一输入模块1302,用于将所述声纹数据输入到声纹识别模型中,获得待确认的声纹特征向量;

第二输入模块1303,用于将所述声纹特征向量输入至预设的分类模型获得第一分类结果;

第四确定模块1304,用于在所述第一分类结果与第一用户对应的基准结果匹配的情况下,确定所述第一语音数据为第一用户的语音数据;

其中,所述声纹识别模型基于所述权利要求1至7中任一项所述的声纹识别模型训练方法训练得到。

这样,通过声纹识别装置可以使得对待识别的第一语音数据的分类结果较为准确。

图14为实现本申请各个实施例的一种电子设备的硬件结构示意图。

该电子设备1400包括但不限于:射频单元1401、网络模块1402、音频输出单元1403、输入单元1404、传感器1405、显示单元1406、用户输入单元1407、接口单元1408、存储器1409、处理器1410、以及电源1411等部件。本领域技术人员可以理解,图14中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本申请实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。

其中,处理器1410,用于执行以下操作:

在样本池中随机选择M个第一声纹样本数据,每一个所述第一声纹样本数据包括被采样的概率值;

将所述第一声纹样本数据输入到预训练声纹识别模型,进行第N次迭代训练;

基于所述预训练声纹识别模型输出的分类结果确定调整所述第一声纹样本数据的被采样的概率值;

在经过第N次迭代训练后的预训练声纹识别模型收敛的情况下,将经过第N次迭代训练后的预训练声纹识别模型确定为声纹识别模型;

其中,调整被采样的概率值后的所述第一声纹样本数据用于确定第N+1次迭代训练的输入数据,M和N均为正整数。

应理解的是,本申请实施例中,射频单元1401可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器1410处理;另外,将上行的数据发送给基站。通常,射频单元1401包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元1401还可以通过无线通信系统与网络和其他设备通信。

电子设备通过网络模块1402为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。

音频输出单元1403可以将射频单元1401或网络模块1402接收的或者在存储器1409中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元1403还可以提供与电子设备1400执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元1403包括扬声器、蜂鸣器以及受话器等。

输入单元1404用于接收音频或视频信号。输入单元1404可以包括图形处理器(Graphics Processing Unit,GPU)14041和麦克风14042,图形处理器14041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元1406上。经图形处理器14041处理后的图像帧可以存储在存储器1409(或其它存储介质)中或者经由射频单元1401或网络模块1402进行发送。麦克风14042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元1401发送到移动通信基站的格式输出。

电子设备1400还包括至少一种传感器1405,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板14061的亮度,接近传感器可在电子设备1400移动到耳边时,关闭显示面板14061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器1405还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。

显示单元1406用于显示由用户输入的信息或提供给用户的信息。显示单元1406可包括显示面板14061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板14061。

用户输入单元1407可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元1407包括触控面板14071以及其他输入设备14072。触控面板14071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板14071上或在触控面板14071附近的操作)。触控面板14071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1410,接收处理器1410发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板14071。除了触控面板14071,用户输入单元1407还可以包括其他输入设备14072。具体地,其他输入设备14072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。

进一步的,触控面板14071可覆盖在显示面板14061上,当触控面板14071检测到在其上或附近的触摸操作后,传送给处理器1410以确定触摸事件的类型,随后处理器1410根据触摸事件的类型在显示面板14061上提供相应的视觉输出。虽然在图14中,触控面板14071与显示面板14061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板14071与显示面板14061集成而实现电子设备的输入和输出功能,具体此处不做限定。

接口单元1408为外部装置与电子设备1400连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元1408可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备1400内的一个或多个元件或者可以用于在电子设备1400和外部装置之间传输数据。

存储器1409可用于存储软件程序以及各种数据。存储器1409可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1409可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

处理器1410是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器1409内的软件程序和/或模块,以及调用存储在存储器1409内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器1410可包括一个或多个处理单元;优选的,处理器1410可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1410中。

电子设备1400还可以包括给各个部件供电的电源1411(比如电池),优选的,电源1411可以通过电源管理系统与处理器1410逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

另外,电子设备1400包括一些未示出的功能模块,在此不再赘述。

优选的,本申请实施例还提供一种电子设备,包括处理器1410,存储器1409,存储在存储器1409上并可在所述处理器1410上运行的计算机程序,该计算机程序被处理器1410执行时实现上述声纹识别模型训练方法的各个过程,且能达到相同的技术效果,这里不再赘述。

本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器1410执行时实现上述声纹识别模型训练方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

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

上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

相关技术
  • 声纹识别模型训练方法、声纹识别方法及相关设备
  • 声纹识别模型训练方法、装置及相关设备
技术分类

06120112771998