训练方法、声纹识别方法、装置和电子设备
技术领域
本发明涉及人工智能领域,尤其涉及一种训练方法、声纹识别方法、装置和电子设备。
背景技术
声纹识别是一项生物识别技术,可以通过说话人的声音鉴定话者身份。由于声纹识别技术的安全性和便捷性等特点,已经广泛应用在安防、智能家居、银行以及司法等领域。
目前大多数的声纹识别系统都建立在神经网络的基础上,可以鉴别不同说话人发出的音频。
发明内容
根据本公开的一方面,提供了一种训练方法,包括:
获取样本音频数据集,其中,所述样本音频数据集包括多个样本音频数据;
基于所述样本音频数据集训练声纹识别模型,所述声纹识别模型用于确定所述多个样本音频数据中每个样本音频数据对应的声纹特征,并且其中,针对不同的声纹特征,所述声纹识别模型的损失函数含有不同的余量,且所述余量与所述声纹特征到该声纹特征所属类别的类别中心的距离相关联。
根据本公开的另一方面,提供了一种声纹识别方法,包括:
获取待识别音频数据;
利用声纹识别模型提取待识别音频数据的声纹特征,其中,所述声纹识别模型是根据上述训练方法训练得到的;
基于所述声纹特征,确定所述待识别音频数据的说话者身份。
根据本公开的另一方面,提供了一种训练装置,包括:
获取模块,用于获取样本音频数据集,其中,所述样本音频数据集包括多个样本音频数据;
训练模块,用于基于所述样本音频数据集训练声纹识别模型,所述声纹识别模型用于确定所述多个样本音频数据中每个样本音频数据对应的声纹特征,并且其中,针对不同的声纹特征,所述声纹识别模型的损失函数含有不同的余量,且所述余量与所述声纹特征到该声纹特征所属类别的类别中心的距离相关联。
根据本公开的另一方面,提供了一种声纹识别装置,包括:
获取模块,用于获取待识别音频数据;
提取模块,用于利用声纹识别模型提取所述待识别音频数据的声纹特征,其中,所述声纹识别模型是根据上述训练方法训练得到的;
确定模块,用于基于所述声纹特征,确定所述待识别音频数据的说话者身份。
根据本公开的另一方面,提供了一种电子设备,包括:
处理器;以及,
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据本公开实施例的训练方法。
根据本公开的另一方面,提供了一种电子设备,包括:
处理器;以及,
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据本公开实施例的声纹识别方法。
根据本公开的另一方面,提供了一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行根据本公开实施例的训练方法。
根据本公开的另一方面,提供了一种非瞬时计算机可读存储介质,其特征在于,所述非瞬时计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行根据本公开实施例的声纹识别方法。
本申请实施例中提供的一个或多个技术方案中,针对不同的声纹特征,声纹识别模型的损失函数含有不同的余量,由于余量可以被认为是将声纹特征推向类别中心的作用力,因此,当余量与声纹特征到该声纹特征所属类别的类别中心的距离(简称声纹特征的距离)相关联时,可以将声纹特征的距离对余量的影响引入损失函数中。基于此,当基于样本音频数据集训练声纹识别模型时,利用该损失函数可以更为快速更新声纹识别模型的模型参数,且使得所训练的声纹识别模型可以准确确定说话人身份。
附图说明
在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:
图1示出了根据本公开示例性实施例提供的训练方法示例出的系统示意图;
图2示出了根据本公开示例性实施例提供的声纹识别方法示例出的系统架构示意图;
图3示例出本公开示例性实施例提供的训练方法的示意性流程图;
图4示出了本公开示例性实施例的声纹识别方法的示意性流程图;
图5示出了本公开示例性实施例的用户设备所展示的界面示意图;
图6示出了根据本公开示例性实施例的训练装置的功能模块示意性框图;
图7示出了根据本公开示例性实施例的声纹识别装置的功能模块示意性框图;
图8示出了根据本公开示例性实施例的芯片的示意性框图;
图9示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。在介绍本申请实施例之前首先对本申请实施例中涉及到的相关名词作如下释义:
声纹识别是生物识别技术的一种,也称为说话人识别,可以将音频信号转换成电信号,再用计算机进行识别。
神经网络是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。
全连接层(fully-connected layer)是分类器,可以将特征提取得到的高维特征图映射成一维特征向量。该一维特征向量包含所有特征信息,可以转化为最终分类的各类别的概率。
损失函数用以衡量预测值与真实值之间的差。神经网络的预测值是权重ω和b的函数,预测值与真实值之间总是不完全一致,二者的误差可以用损失函数表示为L(ω,b)=f(H ω,b (x),y)。
Softmax损失函数:是一种常用的经典的损失函数,常用于基于神经网络的分类任务。
反向传播算法,是一种使用梯度下降法优化神经网络的网络参数,它根据神经网络计算出的值和期望值计算损失函数的值,然后再计算损失函数对模型参数的偏导,最后更新网络参数。
模型参数包括权重参数和偏置参数,权重参数表示超平面的斜率,偏置参数表示超平面的截距。
本公开示例性实施例提供过一种训练方法,其使用经过优化的损失函数可以训练出的声纹识别模型,可以准确识别声纹特征。
图1示出了根据本公开示例性实施例提供的训练方法示例出的系统示意图。如图1所示,本公开示例性实施例提供的系统100为深度学习处理器,其包括控制模块110、存储模块120和运算模块130。控制模块110用来控制运算模块130和存储模块120工作,完成深度学习任务;运算模块130完成深度学习的计算任务,存储模块120用来存储或搬运相关的数据。
如图1所示,上述控制模块110包括取指单元111和指令译码单元112。取指单元111用于从片外存储器(如DRAM,即通俗的内存条)获取指令,指令译码单元112将指令译码后发送至运算模块130和存储模块120执行。
如图1所示,上述运算模块130包括向量运算单元131和矩阵运算单元132,向量运算单元131进行向量运算,可以支持向量乘、加、非线性变换等复杂运算,适用于多种数据类型的多种运算模式,可以支持查表、池化、边缘扩充、向量比较、向量求最值、数据格式转换等输入神经元的前处理和输出神经元的后处理。矩阵运算单元132负责深度学习算法的核心计算:矩阵乘法和卷积,可以实现卷积层和全连接层运算功能。矩阵运算单元132的运算量占整个神经网络算法的90%以上,因此,矩阵运算单元132的运算单元可以采用低位宽运算器减少芯片尺寸和功耗,其中的乘法器可以采用并行乘法器的方案进行设计,支持INT16×INT16、INT8×INT8和INT8×INT4这三种工作模式。另外,神经网络具有稀疏性的特点,矩阵运算单元132还支持对为0的权重或神经元进行稀疏性处理,从而减少大量运算能耗开销。
如图1所示,上述存储模块120包括直接内存存取单元121、神经元存储单元122和权重存储单元123。直接内存存取单元121可以协调神经元存储单元122和权重存储单元123与片外存储器之间的数据交互。神经元存储单元122用于存储深度学习网络的输入神经元、输出神经元、中间结果等数据,权重存储单元123用于存储深度学习网络的权重,直接内存存取单元121通过存储总线Bus连接片外存储器与神经元存储单元122和权重存储单元123,负责片外存储器与神经元存储单元122和权重存储单元123之间的数据半圆。
如图1所示,当深度学习处理器开始一次深度学习运算时,取指单元111通过直接内存存取单元121从片外存储器读取程序指令,程序指令经过指令译码单元112译码分发给直接内存存取单元121、向量运算单元131和矩阵运算单元132。直接内存存取单元121接收到分发的指令后,通过存储总线Bus将访存指令发送至片外存储器,以利用指令将片外存储器所保存的神经元数据读取至神经元存储单元122,将片外存储器所保存的权重读取至权重存储单元123;向量存储单元接收到指令后,读取神经元存储单元122内的神经元数据,并对神经元数据进行预处理(如边界扩充等),然后发给矩阵运算单元132;矩阵运算单元132接收到指令后从向量运算单元131接收预处理的神经元数据,并从权重存储单元123读取权重数据,完成矩阵运算后将结果发送至向量运算单元131;向量运算单元131对输出神经元进行后处理,如激活或池化等,然后将后处理结果保存在神经元存储单元122;直接内存存取单元121将输出神经元从神经元存储单元122写回到片外存储器。
图2示出了根据本公开示例性实施例提供的声纹识别方法示例出的系统架构示意图。如图2所示,本公开示例性实施例提供的系统架构200包括:用户设备210、执行设备220以及数据存储系统230。
如图2所示,上述用户设备210可以通过通信网络与执行设备220通信。该通信网络可以为有线通信网络或无线通信网络。有限通信网络可以为基于电力线载波技术的通信网络,无线通信网络可以为局域无线网络或广域无线网络。局域无线网络可以为WIFI无线网络、Zigbee无线网络、移动通信网络或卫星通信网络等。
如图2所示,上述用户设备210可以包括电脑、手机或者信息处理中心等智能终端,用户设备210可以作为声纹识别的发起端,向执行设备220发起请求。执行设备220可以为云服务器、网络服务器、应用服务器以及管理服务器等具有数据处理功能的服务器,用以实施声纹识别方法。服务器内可以配置深度学习处理器,深度学习处理器可以是单核深度学习处理器(Deep Learning Processor-Singlecore,缩写为DLP-S)的神经元,也可以为多核深度学习处理器(Deep Learning Processor-Multicore,缩写为DLP-M)。DLP-M是在DLP-S的基础上进行的多核扩展,将多个DLP-S通过片上网络(Network-on-chip,缩写为Noc)进行互联、多播、核间同步等协议进行核间通信。
如图2所示,上述数据存储系统230可以是一个统称,包括本地存储以及存储历史数据的数据库,数据库可以在执行设备220上,也可以在其它网络服务器上,还可以在数据存储系统230上。该数据存储系统230可以与执行设备220分立,也可以集成在执行设备220内。数据存储系统230不仅可以输入用户设备210上传的数据,还可以存储程序指令、神经元数据、权重数据等,这些神经元数据和权重数据可以是经过训练的数据。除此之外,数据存储系统230也可以将执行设备220处理得到的处理结果(如预处理待待识别声纹特征、中间处理结果或者声纹识别结果)等存储入数据存储系统230。
在实际应用中,如图2所示,上述用户设备210可以具有音频采集功能,使得用户设备210不仅可以通过交互接口向执行设备220发起请求,还可以采集待识别音频数据,并通过交互接口向执行设备220发送待识别音频数据。基于此,执行设备220在实施声纹识别方法时,所使用的声纹识别方法不仅可以从数据存储系统230获取,还可以通过交互接口从用户设备210获取。另外,在执行设备220实施声纹识别方法时,其声纹识别结果不仅可以通过通信网络反馈至用户设备210,还可以保存在数据存储系统230。
在相关技术中,神经网络的结构通常会基于输入特征在频域和时域上的特性来进行构建,以实现从输入特征中尽可能提取说话人相关的特征而剔除说话人无关的干扰信息,而为了使得提取出的声纹特征在能够表达话者身份的同时,还要能够与其他说话人的声纹特征有一定的区别,需要神经网络对音频数据具有良好的声纹识别特征。例如:可以优化损失函数,以使得反向传播算法更新声纹识别模型的模型参数。基于此,损失函数是否合适直接影响声纹识别模型对声纹特征的鉴别性。
目前,声纹识别模型常用的损失函数为基于度量学习的损失函数以及Softmax损失函数的一些变种,前者通常存在挖掘困难样本的采样问题,导致声纹识别模型性能不稳定,且训练非常耗时,后者更加容易训练,且性能也不弱于前者。对于Softmax损失函数来说,其可以引入加性余量的方式对Softmax损失函数进行优化。下面以式一所示的L-Softmax损失函数为例进行描述。
式一
在声纹识别模型中,N表示样本音频数据集中样本音频数据的数量,C表示声纹识别模型基于多个样本音频数据确定的声纹特征的类别数量,yn表示第n个声纹特征所属类别的类别序号,x n 表示第n个声纹特征,可以认为是声纹识别模型的倒数第二层(即分类层上一层的全连接层)的输出特征,W yn 表示属于第yn类别的声纹特征对应的权重向量,可以被认为是第n个声纹特征的类别中心,其为计算损失函数所赋予的权重向量,θ yn 表示x n 与W yn 的夹角,b yn 表示属于第yn类别的声纹特征对应的偏置向量。W m 表示属于第m类别的声纹特征对应的权重向量,可以被认为是第m类别的声纹特征的类别中心,其为计算损失函数所赋予的权重向量,θ n,m 为x n 与W m 的夹角,b m 表示属于第m类别的声纹特征对应的偏置向量,T为转置矩阵符号。
在相关技术中,对式一所示的L-Softmax损失函数引入限制性条件,可以转换为如式二所示的A-Softmax损失函数L AM 。
式二
在式二中,ψ(θ yn )表示关于θ yn 的函数,ψ(θ n,m ) 表示关于θ n,m 的函数,其它参数解释参考前文相关解释。
接着在引入加性余量的情况下,对式二进行变换,可以将式二转换为如式三所示的加性余量损失函数L0。
式三
在式三中,s为超参数,可以为常数,如30等,但不仅限于此,λ为余量,可以为常数,其它参数解释参考前文相关解释。
由上可见,可以基于L-Softmax损失函数获得式三所示的加性余量损失函数。该加性余量损失函数针对不同的声纹特征可以选择恒定的常数作为余量。
发明人发现,对于属于同一类别的声纹特征来说,各个声纹特征与该类别中心的距离越小越好,但是属于该类别的声纹特征与类别中心的距离又有所不同。神经网络训练的最终目标是缩小声纹特征与类别中心的距离。由于余量可以被理解为将声纹特征推向类别中心的作用力,因此,对于距离类别中心的距离不同的声纹特征,其余量相同不合理。
当样本音频数据集中存在大量说话人的样本音频数据时,尤其是在混合了不同场景下的样本音频数据时,不同的说话人的样本音频数据由于其语音数据量及质量差异,其在声纹特征空间中对应的分布也会存在明显差异(例如对于说话人A含有干净音频200条,说话人B含有带噪音频100条,显然对于数据量更多的音频,分布的面积更广,距离类别中心的距离更大,可以使用更大余量值来推动样本向类中心靠拢;同时对于噪声更大的音频,其样本与类别中心的距离也会越大,也需要更大的余量值来推动样本向类中心靠拢,这些数据分布特性在进行余量设置时都应该被考虑到)
本公开示例性实施例提供的训练方法可以由深度学习处理器或者深度学习处理器中的芯片执行。图3示例出本公开示例性实施例提供的训练方法的流程图。如图3所示,本公开示例性实施例提供的训练方法包括:
步骤301:获取样本音频数据集,样本音频数据集包括多个样本音频数据。多个样本音频数据可以来自不同的说话人,也可以来自同一说话人。当多个样本数据来自不同说话人时,可以是部分样本音频数据来自不同说话人,也可以是全部样本音频数据来自不同的说话人。
在实际应用中,样本音频数据集所含有的数据被保存在片外存储器。当深度学习处理器开始执行训练方法时候,可以利用直接内存存取单元从片外存储器将样本音频数据集取出保证在神经元存储单元。样本音频数据集所含有的多个样本音频数据可以被标注,标注方法可以是人工标注,也可以是基于神经网络进行标注。标注的内容可以是样本音频数据的说话人身份。
步骤302:基于样本音频数据集训练声纹识别模型,声纹识别模型用于确定多个样本音频数据中每个样本音频数据对应的声纹特征,针对不同的声纹特征,声纹识别模型的损失函数含有不同的余量,且余量与声纹特征到该声纹特征所属类别的类别中心的距离相关联。该声纹识别模型的架构可以采用各种已经比较成熟的神经网络架构,如Resnet神经网络架构、X-vector神经网络架构等,但不仅限于此。
由于余量可以被认为是将声纹特征推向类别中心的作用力,因此,当余量与声纹特征到该声纹特征所属类别的类别中心的距离(简称声纹特征的距离)相关联时,可以将声纹特征的距离对余量的影响引入损失函数中。基于此,当基于样本音频数据集训练声纹识别模型时,利用该损失函数可以更为快速更新声纹识别模型的模型参数,且使得所训练的声纹识别模型可以准确确定说话人身份。
作为一种可能的实现方式,上述损失函数可以为Softmax损失函数,可以为常见的Softmax损失函数及其变种Softmax损失函数。该损失函数满足如式四所示的损失函数。
式四
在式四中,L为损失函数,λ n 表示第n个声纹特征的余量,θ yn 表示x n 与W yn 的夹角,θ n,m 表示x n 与W m 的夹角,x n 表示第n个声纹特征,n为大于或等于1且小于或等于N的整数,N表示样本音频数据集中样本音频数据的数量;
W yn 表示属于第yn类别的声纹特征的权重向量,第n个声纹特征为属于第yn类别的声纹特征的一个声纹特征,W m 表示属于第m类别的声纹特征的权重向量,m≠yn,m和yn均为大于或等于1,且小于或等于C的整数,C表示声纹特征的类别数量,C和N均为大于2的整数,s表示超参数。
在一种可选方式中,上述余量与声纹特征的距离正相关。基于此,当声纹特征的距离越小,推动声纹特征向声纹特征所属类别中心的力也就越小。当声纹特征的距离越大,推动声纹特征向声纹特征所属类别中心的力也就越大,可以使得该属于该类别中心的声纹特征可以更为快速的接近类别中心。
示例性的,当N=2,C=1时,样本音频数据集含有两个样本音频数据,共两类别,每类别的样本音频数据的数量为1。基于此,式四所示的损失函数可以表示为式五:
式五
在式五中,L1为当N=2,C=1时的损失函数,s为超参数,可以取值为30,λ 1表示针对第1个声纹特征的余量,θ y1表示x 1与W y1的夹角,θ 1,2为x 1与W 2的夹角,x 1表示第1个声纹特征,W y1为属于第1类别的声纹特征的权重向量,W 2表示不属于第1个声纹特征的第2类别的声纹特征的权重向量。此时,W y1为x 1的类别中心,cos(θ y1)表示第1个声纹特征到第1个声纹特征所属类别的类别中心之间的距离,定义为第一距离。
λ 2表示针对第2个声纹特征的余量,θ y2表示x 2与W y2的夹角,θ 2为x 2与W 1的夹角,x 2表示第2个声纹特征,W y2为属于第2类别的声纹特征的权重向量,W 1表示不属于第2个声纹特征的第1类别的声纹特征的权重向量。此时,W y2为x 2的类别中心,cos(θ y2)表示第2个声纹特征到第2个声纹特征所属类别的类别中心之间的距离,定义为第二距离。
当第一距离大于第二距离,λ 1>λ 2。由于第一距离大于第二距离时,第2个声纹特征的质量高于第1个声纹特征的质量,因此,当λ 1>λ 2,可以利用针对第1个声纹特征的余量λ 1,确保第1个声纹特征可以快速(相对第2个声纹特征靠近第2个声纹特征所属类别中心)靠近第1个声纹特征所属类别的类别中心。基于此,可以利用针对两个声纹特征的余量差异化,平衡两个声纹特征到所属类别中心的距离差异,从而加快训练速度,保证训练出的模型对于声纹特征的识别准确率。
作为一种可能的实现方式,针对属于同一类别的多个声纹特征,余量满足第一高斯分布。也就是说,当属于同一类别的声纹特征数量为多个,其对应的多个余量满足第一高斯分布。这种余量分布方式满足实际场景中同一类别的样本音频数据在特征空间的分布规律,使得为每个声纹特征配置的余量与真实场景更加接近,从而进一步提高训练的声纹模型的声纹特征识别准确率。
对于第一高斯分布来说,第一高斯分布的均值和方差可以决定高斯曲线的位置和形状。例如:第一高斯分布的均值μ1决定了高斯曲线的对称轴所在位置,当x于第一高斯分布的均值,则y为高斯曲线的最大值。同时,第一高斯分布的方差σ1可以决定高斯曲线的最大值大小,可以通过第一高斯分布的方差σ1确定8个余量的分布密度。
示例性的,当N=2,C=3时,样本音频数据集含有6个样本音频数据,对6个样本音频数据的声纹特征进行编号,分别为第1个声纹特征x 1、第2个声纹特征x 2、第3个声纹特征x 3、第4个声纹特征x 4、第5个声纹特征x 5和第6个声纹特征x 6。其中,样本音频数据集所含有的样本音频数据可以被分为两类,第一类样本音频数据的声纹特征分别为第1个声纹特征x 1、第2个声纹特征x 2和第3个声纹特征x 3,第一类样本音频数据的声纹特征分别为第4个声纹特征x 4、第5个声纹特征x 5和第6个声纹特征x 6。基于此,式四所示的损失函数可以表示为式六:
式六
在式六中,L2为当N=6,C=2时的损失函数,s为超参数,可以取值为30。
λ 1表示针对第1个声纹特征的余量,θ y1表示x 1与W y1的夹角,θ 1,2为x 1与W 2的夹角,λ 2表示针对第2个声纹特征的余量,θ y2表示x 2与W y1的夹角,θ 2,2为x 2与W 2的夹角,λ 3表示针对第3个声纹特征的余量,θ y3表示x 3与W y1的夹角,θ 3,2为x 3与W 2的夹角,W y1为x 1、x 2和x 3的类别中心,W y1为属于第1类别的声纹特征的权重向量,W 2表示除了第1个声纹特征至第3个声纹特征的声纹特征的权重向量。
λ 4表示针对第4个声纹特征的余量,θ y4表示x 4与W y2的夹角,θ 4,1为x 4与W 1的夹角,λ 5表示针对第5个声纹特征的余量,θ y5表示x 5与W y2的夹角,θ 5,1为x 5与W 1的夹角,λ 6表示针对第6个声纹特征的余量,θ y6表示x 6与W y2的夹角,θ 6,1为x 6与W 1的夹角,W y2为x 4、x 5和x 6的类别中心,W y2为属于第2类别的声纹特征的权重向量,W 1表示除了第4个声纹特征至第6个声纹特征的声纹特征的权重向量。
由上可见,针对属于第1类别的声纹特征,损失函数含有3个余量,分别为λ 1、λ 2和λ 3,λ 1、λ 2和λ 3呈现第一高斯化分布。针对属于第2类别的声纹特征,损失函数含有3个余量,分别为λ 4、λ 5和λ 6,λ 4、λ 5和λ 6呈现第一高斯化分布。
在一种可选方式中,若属于每个类别的声纹特征的数量为1的情况下,则说明不存在第一高斯分布这个概念。此时,基于属于不同类别的声纹特征呈现高斯化分布规律,针对属于不同类别的多个声纹特征,该余量满足第二高斯分布,可以将不同类别的声纹特征分布规律引入损失函数,使得采用这种损失函数更新模型参数时,可以更为快速的完成声纹特征训练,并保证声纹识别模型具有更高的识别准确率。
示例性的,上述余量与声纹特征的实际类别质量满足第一映射关系,第一映射关系满足:余量与余量映射的实际类别质量负相关。也就是说,当实际类别质量升高时,余量减小,此处通过将余量的变化趋势与实际类别质量的变化趋势关联,使得在损失函数中引入余量的时候,还将余量与声纹特征的实际类别质量的变化趋势引入损失函数,从而更为快速的完成声纹特征训练,并保证声纹识别模型具有更高的识别准确率。
在属于每个类别的声纹特征的数量为大于或等于2的整数的情况下,则说明存在第一高斯分布这个概念。此时,针对属于不同类别的声纹特征,第一高斯分布的均值满足第二高斯分布。第二高斯分布的均值可以根据实际情况决定,例如第二高斯分布的均值μ2可以为0.2~0.4的常数(如0.2、0.3或0.4),至于第二高斯分布的方差σ2,则可以等于0.0005~0.002的常数(如0.0015),从而确定出第二高斯分布的高斯曲线,并获得各个第一高斯分布的均值分布规律。在此基础上,可以指定第一高斯分布的方差σ1(如0.0005~0.002),并利用第一高斯分布的均值,确定出余量的分布规律,从而达到针对不同损失函数向损失函数引入不同余量的目的。
针对属于同一类别的声纹特征,第一高斯分布的均值等于第一参考因子。也就是说,针对同一类别的声纹特征,可以具有一个第一参考因子和呈第一高斯分布的多个余量,该第一高斯分布的均值为第一参考因子。而针对属于不同类别的声纹特征,由于不同类别的声纹特征到类别中心的距离也呈现高斯化分布,因此,从数据高斯分布的特性出发,针对属于不同类别的声纹特征,第一参考因子呈现高斯化分布。基于此,通过第一参考因子高斯化分布可以调控第一高斯分布的高斯曲线对称位置,使得第一高斯分布的对称位置与不同类别的声纹特征的空间分布规律匹配,从而进一步优化为每个特征向量分配余量的方法。
示例性的,当N=12,C=3,属于每个类别的声纹特征的数量为4个。针对属于3个类别的声纹特征,一一对应的具有3个第一参考因子,分别为第1个第一参考因子、第2个第一参考因子和第3个第一参考因子。
针对属于第1类别的声纹特征,损失函数含有4个余量,并且呈现第一高斯分布,第一高斯分布的均值为第1个第一参考因子。针对属于第2类别的声纹特征,损失函数含有4个余量,并且呈现第一高斯分布,第一高斯分布的均值为第2个第一参考因子。针对属于第3类别的声纹特征,损失函数含有4个余量,并且呈现第一高斯分布,第一高斯分布的均值为第3个第一参考因子。同时,第1个第一参考因子、第2个第一参考因子和第3个第一参考因子呈第二高斯分布。
为了进一步优化第一参考因子,可以定义第一参考因子与声纹特征的实际类别质量满足第一映射关系。第一映射关系满足:第一参考因子与第一参考因子映射的实际类别质量负相关。也就是说,当实际类别质量升高时,第一参考因子减小,使得第一参考因子的变化趋势与实际类别质量的变化趋势关联。而针对属于同一类别的多个声纹特征中,可以利用第一参考因子确定多个余量构筑的第一高斯分布的高斯曲线对称位置,因此,在损失函数中引入余量的时候,还将余量变化趋势与声纹特征的实际类别质量的变化趋势引入损失函数,从而更为快速的完成声纹特征训练,并保证声纹识别模型具有更高的识别准确率。
在实际应用中,声纹特征的实际类别质量不仅与该声纹特征的理论质量有关,还与该类声纹特征的数量占比有关。基于此,不管同一类别的声纹特征数量,针对属于同一类别的声纹特征,上述实际类别质量满足:实际类别质量与声纹特征的平均类别质量正相关,且实际类别质量与属于同一类别的声纹特征的数量负相关。
例如:该类声纹特征的数量比较多,则代表说话人所发出的音频条数比较多如200条,那么其分布面积比较广,使得该类声纹特征到类别中心的距离比较远,需要更大的余量推动其向类别中心靠近。而且,对于噪声更大的样本音频数据,其声纹特征与声纹特征所属类别中心的距离也会越大,也需要更大的余量值来推动样本向类中心靠拢。基于此,当该类声纹特征的数量比较多、噪声比较大,实际类别质量比较低,针对该类声纹特征的余量相对于其它类别的声纹特征的余量大。
在属于每个类别的声纹特征的数量为1的情况下,由于余量与余量映射的实际类别质量负相关,因此,该类声纹特征的数量越多、噪声比较大时,可以映射到更大的余量,使得损失函数针对属于不同类别的声纹特征,余量分布与实际应用场景一致,可以更快的训练出声纹识别模型。
在属于每个类别的声纹特征的数量为大于或等于2的整数的情况下,由于第一参考因子与第一参考因子映射的实际类别质量负相关,因此,当该类声纹特征的数量比较多、噪声比较大时,针对该类声纹特征,第一参考因子也就越大。而由于针对属于同一类别的声纹特征,第一高斯分布的均值等于第一参考因子,且第一高斯分布的均值决定满足第一高斯分布规律的余量位置,因此,当第一参考因子越大,针对该类声纹特征的余量也就比较大。由此可见,损失函数针对属于不同类别的声纹特征,余量分布与实际应用场景一致,可以更快的训练出声纹识别模型。
示例性的,上述实际类别质量满足式七所示的公式:
式七
在式七中,表示属于第i类别的声纹特征的实际类别质量,表示属于第i类 别的声纹特征的平均类别质量,K i 表示属于第i类别的声纹特征与样本音频数据集中样本 音频数据数量的比值,α表示平衡因子,0<α<1。
示例性的,上述声纹特征的平均类别质量满足式八所示的公式:
式八
上述属于同一类别的声纹特征的数量满足式九所示的公式:
式九
在式八和式九中,N表示样本音频数据集中样本音频数据的数量,C表示声纹特征的类别数量,n i 表示属于第i类别的声纹特征的数量,i为不小于1,且不大于C的整数,k为不小于1,且不大于n i 的整数,C和N为大于或等于2的整数,n i 为大于或等于1的整数;
表示属于第i类别的声纹特征的平均质量,K i 表示属于第i类别的声纹特征与样 本音频数据集中样本音频数据数量的比值,θ ik 表示属于第i类别的第k个声纹特征与属于第i类别所述声纹特征的权重向量的夹角。
由上可见,属于第i类别的声纹特征的实际类别质量表达式由两项组成,第一项表达该类别声纹特征的质量,可以看作属于第i类声纹特征的平均类别质量,K i 表示属于第i类别的声纹特征与样本音频数据集中样本音频数据数量的比值,其通过平衡因子α结合,可以保证第i类别的声纹特征的实际类别质量可以融合该类说话人的音频噪声和该类说话人数量两方面的因素,保证向损失函数引入的余量符合实际应用场景,从而快速训练出声纹识别模型,使得训练出的声纹识别模型可以准确识别声纹。
在实际应用中,针对属于不同类别的类声纹特征,可以基于每类声纹特征及其所属类别的声纹特征的权重向量、声纹特征的数量等,计算出该类声纹特征的实际类别质量,并随机生成一组高斯化分布的随机值,该随机值的数量与该声纹特征的类别数量相同。然后将不同类别的实际类别质量进行升序排列,将该组随机值进行降序排列,最后按照随着实际类别质量增大,所选择的随机值逐渐减小这一映射方式,确定实际类别质量与随机值的映射关系,将与实际类别质量具有映射关系的随机值作为第一参考因子。至于第一参考因子与声纹特征类别的对应关系,可以由确定第二参考因子所涉及的声纹特征类别决定。
在一种可选方式中,针对属于同一类别的多个声纹特征,每个余量与第二参考因子满足第二映射关系。该第二映射关系满足:余量与余量映射的第二参考因子负相关。此处第二参考因子可以用于评价声纹特征的质量,使得不同第二参考因子映射的余量变化可以间接指示声纹特征的质量的变化。基于此,针对属于同一类别的多个声纹特征,余量的变化与声纹特征的质量变化密切相关,进而快速完成声纹识别模型训练。
示例性的,针对属于同一类别的每个声纹特征,该第二参考因子满足以下至少一种条件:
第一条件:上述第二参考因子与声纹特征的质量正相关,第二参考因子与属于同一类别的声纹特征的质量之和负相关。也就是说,在属于同一类别的声纹特征的质量之和保持不变的情况下,当声纹特征的质量越大,第二参考因子越小;在声纹特征的质量不变的情况下,当属于同一类别的声纹特征的质量之和越小,第二参考因子越大。
第二条件:上述第二参考因子用于表征声纹特征的质量与属于同一类别的声纹特征的质量之和的比值。该声纹特征的质量用于表征声纹特征与该声纹特征所属类别的权重向量之间的距离。
上述声纹特征的质量可以是通过声纹特征与声纹特征所属类别的权重向量的内积表示,也可以通过其它类似方式表示。例如:声纹特征的质量满足如下所示的式十:
M ij =1+cos(θ ij ) 式十
同理,属于同一类别的声纹特征的质量之和满足如下所示的式十一:
式十一
在式七中,i可以表示声纹特征所属类别的编号,其值为大于或等于1,且小于或等于C的整数,C表示声纹特征的类别数量,C为大于或等于2的整数。j和k均可以表示声纹特征在所属类别的声纹特征的编号,其值大于或等于1,且小于或等于n i 的整数,n i 表示属于第i类别声纹特征的数量,n i 为大于或等于1的整数。
M i 表示属于第i类别的声纹特征的质量之和,M ij 表示属于第i类别的第j个声纹特征的质量,θ ij 表示属于第i类别的第j个声纹特征与属于第i类别声纹特征的权重向量的夹角,θ ik 表示属于第i类别的第k个声纹特征与属于第i类别声纹特征的权重向量的夹角。
当第二参考因子用于表征声纹特征的质量与属于同一类别的声纹特征的质量之和的比值时,第二参考因子可以满足如下所示的式十二:
式十二
t ij 可以表示为属于第i类别的第j个声纹特征映射的第二参考因子,将该特征参数因子定义为第i类别的第j个第二参考因子。
在实际应用中,针对同一类声纹特征,可以基于每个声纹特征及其所属类别的声纹特征的权重向量,计算出该类声纹特征所有第二参考因子,并随机生成一组高斯化分布的随机值,该随机值的数量与该类声纹特征的数量相同。然后将该组第二参考因子进行升序排列,将该组随机值进行降序排列,最后按照随着第二参考因子增大,所选择的随机值逐渐减小这一映射方式,确定第二参考因子与随机值的映射关系,将与第二参考因子具有映射关系的随机值作为余量。至于余量与声纹特征的对应关系,可以由确定第二参考因子所涉及的声纹特征决定。
本公开示例性实施例所涉及的损失函数的余量可以分为两个阶段进行确定,为了清楚描述本公开示例性实施例所涉及的损失函数的余量确定方法,下面以式六所示公式的相关场景为例进行说明。
第一阶段:通过每个类别的声纹特征的实际类别质量确定针对每个类别的第一参考因子。
基于式七~式九确定第属于第1类别的声纹特征的实际类别质量和第2类别的声纹 特征的实际类别质量,简称第1类别的实际类别质量和第2类别的实际类别质量。此 处式6所示的公式的相关场景中,一共有两个类别的声纹特征。为了方便描述,给定第1随机 数φ1和第2随机数φ2,并简单的认为第1随机数φ1和第2随机数φ2是一组符合第二高斯 分布的随机数。
当φ1>φ2,,则按照随着实际类别质量越大,随机数越小这一映射规 律,第1类别的实际类别质量与第2随机数φ2映射,使得针对属于第1类别的声纹特征,第 1第一参考因子等于第2随机数φ2。同理,可以确定第2类别的实际类别质量与第1随机 数φ1映射,使得针对属于第2类别的声纹特征,第2第一参考因子等于第2随机数φ2。
第二阶段:通过针对每个类别的第一参考因子确定针对该类别每个声纹特征的余量。
基于式十二所示的公式,确定第1类别第1个第二参考因子t 11、第1类别第2个第二参考因子t 12、第1类别第3个第二参考因子t 13、第2类别第1个第二参考因子t 21、第2类别第2个第二参考因子t 22和第2类别第3个第二参考因子t 23。
将第1第一参考因子作为均值,给定具有第一高斯分布的3个第三随机数φ31、φ32、φ33,对第1类别第1个第二参考因子t 11、第1类别第2个第二参考因子t 12、第1类别第3个第二参考因子t 13进行升序排列,获得升序数组t 11>t 12>t 13,对φ31、φ32、φ33进行降序排列,形成降序数组φ33<φ32<φ31。按照第二参考因子越大,第三随机数越小这一映射规律,将t 11与φ33映射,t 12与φ32映射,t 13与φ31映射。基于此,针对1类别第1个声纹特征,余量等于φ33,针对第1类别第2个声纹特征,余量等于φ32,针对1类别第3个声纹特征,余量等于φ31。
同理,将第2第一参考因子作为均值,给定具有第一高斯分布的3个第四随机数φ41、φ42、φ43。对第2类别第1个第二参考因子t 21、第2类别第2个第二参考因子t 22、第2类别第3个第二参考因子t 23进行升序排列,获得升序数组t 21>t 22>t 23,对φ41、φ42、φ43进行降序排列,形成降序数组φ43<φ42<φ41。按照第二参考因子越大,第四随机数越小这一映射规律,将t 21与φ43映射,t 22与φ42映射,t 23与φ41映射。基于此,针对2类别第1个声纹特征,余量等于φ43,针对第2类别第2个声纹特征,余量等于φ42,针对2类别第3个声纹特征,余量等于φ41。
由上可见,本公开示例性实施例可以根据样本音频数据集内部数据在特征空间的分布特性为训练样本进行余量赋值,同时考虑了训练数据的质量与数量,结合其高斯分布的特性,以更合理的方式对声纹特征空间进行构建,从而达到提升声纹识别系统性能的目的。
本公开示例性实施例还提供一种声纹识别方法,其可以由图2所示服务器或应用于服务器的芯片执行。图4示出了本公开示例性实施例的声纹识别方法的示意性流程图。如图4所示,本公开示例性实施例提供的声纹识别方法包括:
步骤401:获取待识别音频数据。服务器可以通过用户设备采集待识别音频数据,用户设备可以提前对待识别音频数据进行降噪处理,也可以不经过降噪处理,直接上传至服务器。
步骤402:利用声纹识别模型提取待识别音频数据的声纹特征,其中,声纹识别模型是图3所示的训练方法训练得到的。
在实际应用中,服务器可以调用数据存储系统所保存的模型参数、神经源数据等,提取待识别音频数据的声纹特征。该声纹识别模型的架构可以为ResNet、X-vector等架构。
步骤403:基于声纹特征,确定待识别音频数据的说话者身份。
在一种示例中,数据存储系统预存的声纹特征也可以是通过声纹识别模型重新提取的声纹特征,此处不做赘述。在另一种示例中,服务器在确定识别音频数据的说话者身份时,可以从数据存储系统调用已经保证的预存的声纹特征,与步骤302所提取的声纹特征进行比较,确定声纹特征数据是否满足预存的声纹特征。此处根据声纹识别方法的应用场景,数据存储系统预存的声纹特征也有所不同。
例如:当声纹识别方法用于确定是否为同一说话人时,可以预存其它说话人的声纹特征。当步骤302所提取的声纹特征与预存的其它说话人的声纹特征进行比较,比较二者的相似性,当相似度大于或等于阈值(例如,0.5)时,则认为这两个声纹特征来自同一个说话人,否则认为来自不同的说话人。又例如:当声纹识别方法用于确定说话人身份时,可以预存用户的声纹特征。当步骤302所提取的声纹特征与预存的其它说话人的声纹特征相同时,确定用户设备所采集的待识别音频数据为用户发出的音频。
示例性的,上述用户设备可以具有显示界面,可以在该用户设备安装具有声纹识别功能的客户端。如声纹锁等。图5示出了本公开示例性实施例的用户设备所展示的界面示意图。如图5所示,在用户设备500的显示屏幕501显示有声纹锁界面502,用户可以针对界面提示文字进行操作,以使得用户设备采集用户发出的待识别音频。
例如:声纹锁界面提示:请按下麦克风按钮说话,那么用户可以按下图5所示麦克风按钮503,说出预先保存的音频。用户设备在采集到该音频后,可以将音频通过通信网络自动上传至服务器进行声纹识别。若声纹识别成功,则服务器会向声纹锁下达开锁指令,继而实现声纹开锁的目的。若声纹识别失败,则用户可以重复之前操作几次(如2次)。如果经过预设次数(如3次)声纹识别结果均失败,则服务器会向声纹锁下达锁定指令,用户无法再重复之前操作,使得用户设备内部数据得到保护。
上述主要从服务器的角度对本公开实施例提供的方案进行了介绍。可以理解的是,服务器为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
本公开实施例可以根据上述方法示例对服务器进行功能单元的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,本公开示例性实施例提供一种训练装置,该训练装置可以为深度学习处理器或应用于深度学习处理器的芯片。图6示出了根据本公开示例性实施例的训练装置的功能模块示意性框图。如图6所示,该训练装置600包括:
获取模块601,用于获取样本音频数据集,其中,所述样本音频数据集包括多个样本音频数据;
训练模块602,用于基于所述样本音频数据集训练声纹识别模型,所述声纹识别模型用于确定所述多个样本音频数据中每个样本音频数据对应的声纹特征,并且其中,针对不同的声纹特征,所述声纹识别模型的损失函数含有不同的余量,且所述余量与所述声纹特征到该声纹特征所属类别的类别中心的距离相关联。
在采用对应各个功能划分各个功能模块的情况下,本公开示例性实施例提供一种声纹识别装置,该声纹识别装置可以为服务器或应用于服务器的芯片。图7示出了根据本公开示例性实施例的声纹识别装置的功能模块示意性框图。如图7所示,该声纹识别装置700包括:
获取模块701,用于获取待识别音频数据;
提取模块702,用于利用声纹识别模型提取所述待识别音频数据的声纹特征,其中,所述声纹识别模型是根据上述示例性训练方法训练得到的;
确定模块703,用于基于所述声纹特征,确定所述待识别音频数据的说话者身份。
图8示出了根据本公开示例性实施例的芯片的示意性框图。如图8所示,该芯片800包括一个或两个以上(包括两个)处理器801和通信接口802。通信接口802可以支持服务器执行上述训练方法和声纹识别模型中的数据收发步骤,处理器801可以支持服务器执行上述训练方法和声纹识别模型的数据处理步骤。
可选的,如图8所示,该芯片800还包括存储器803,存储器803可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
在一些实施方式中,如图8所示,处理器801通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。处理器801控制终端设备中任一个的处理操作,处理器还可以称为中央处理单元(central processing unit,CPU)。存储器803可以包括只读存储器和随机存取存储器,并向处理器801提供指令和数据。存储器903的一部分还可以包括NVRAM。例如应用中存储器、通信接口以及存储器通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图8中将各种总线都标为总线系统804。
上述本公开实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processing,DSP)、ASIC、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的方法,如训练方法和/或声纹识别方法。
本公开示例性实施例还提供一种非瞬时计算机可读存储介质,其中,所述非瞬时计算机可读存储介质存储有计算机程序,计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法,如训练方法和/或声纹识别方法。
本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法,如训练方法和/或声纹识别方法
参考图9,现将描述可以作为本公开的服务器或客户端的电子设备900的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,电子设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
如图9所示,电子设备900中的多个部件连接至I/O接口905,包括:输入单元906、输出单元907、存储单元908以及通信单元909。输入单元906可以是能向电子设备900输入信息的任何类型的设备,输入单元906可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元907可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元908可以包括但不限于磁盘、光盘。通信单元909允许电子设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
如图9所示,计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理。例如,在一些实施例中,前述训练方法和声纹识别方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到电子设备900上。在一些实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行训练方法和声纹识别方法。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。