编者按:近年来,众多智能语音技术服务商开始布局声纹识别领域,声纹识别逐渐进入大众视野。随着技术的发展和在行业中的不断渗透,声纹识别的市场份额逐年增加,但声纹识别仍有许多关键问题需要解决。百分百分感知智能实验室在本文中梳理了声纹识别技术的发展历史,分析了每个阶段的关键技术原理,以及遇到的困难和挑战,希望让大家对声纹识别技术有更多的了解。
声纹是电声仪器显示的带有言语信息的声波频谱。人类语言的产生是人类语言中枢和发声器官之间复杂的生理和物理过程。不同的人使用的发声器官在大小和形状上都有很大的不同,所以任何两个人的声纹图都是不一样的。
每个人的声音的声学特征都是相对稳定和可变的,而不是绝对的和不可改变的。这种变异可以来自生理、病理、心理、模拟和伪装,也与环境干扰有关。
但由于每个人的发音器官不同,一般情况下,人们还是可以分辨出不同人的声音,或者判断是不是同一个人的声音。因此,声纹就成了鉴别说话人身份的一种手段。
图1发声器官示意图
声纹识别是一种生物识别技术,也称为说话人识别。它是根据语音波形中反映说话人生理和行为特征的语音参数,自动识别说话人身份的技术。首先需要注册说话人,即输入一段说话人的说话音频,系统提取特征并存储在模型库中,然后输入要识别的音频。系统提取特征后,通过对比打分,判断输入音频中说话人的身份。
从功能上讲,声纹识别技术应该有两种,即“1:N”和“1:1”。前者是判断某段音频是几个人中的哪一个说的;后者是确认某段音频是否是某人所说。因此,不同的功能适用于不同的应用领域。比如“1:N”功能,常用于公安领域,如重点人员调配控制、侦查破案、反电信诈骗、治安防控、司法鉴定等。,即识别是几个音频扬声器中的哪一个说的;“1:1”功能更多用于金融领域的交易确认、账户登录、身份验证等。
从技术发展的角度来看,声纹识别技术经历了三个主要阶段:
第一阶段,基于模板匹配的声纹识别技术;
第二阶段是基于统计机器学习的声纹识别技术。
第三阶段,基于深度学习框架的声纹识别技术。
一、声纹识别的模板匹配
下图是声纹识别最早的技术框架,是一个非参数模型。
特点:基于信号比较的不同,通常要求注册的语音与待识别的语音相同,是文本相关的,因此有很强的局限性。
图2两个人对同一数字的发音和声谱图
该方法将训练特征参数与测试特征参数进行比较,以两者之间的偏差作为相似度。如VQ模型和DTW模型的动态时间规整方法。
DTW将输入的待识别特征向量序列与训练时提取的特征向量进行比较,用最佳路径匹配法进行识别。而VQ方法通过聚类和量化生成码书,在识别时对测试数据进行量化和编码,并以失真度作为判断标准。
二、基于统计机器学习的技术框架
但第一阶段只能用于文本相关的识别,即注册语音的内容需要与被识别语音的内容一致,因此具有很强的局限性。同时,得益于统计机器学习的快速发展,声纹识别技术也迎来了第二阶段。这个阶段又可以细分为四个小阶段,即GMM > GMM-UBM/GMM-SVM > JFA > GMM-我矢-PLDA。
1.高斯混合模型
特点:使用大量数据为每个说话人训练模型。注册需要长而有效的说话者声音。
高斯混合模型是统计学中一个极其重要的模型,其中机器学习、计算机视觉、语音识别都有广泛的应用,甚至在神经网络、深度学习普及之前,它也可以算是主流模型。
GMM之所以强大,是因为它可以通过对几个简单的正态分布进行加权平均,用较少的参数模拟出非常复杂的概率分布。
在声纹识别领域,高斯混合模型的核心设定是每个说话人的音频特征用一个高斯混合模型来表示。采用高斯混合模型的动机也可以直观地理解为:每个说话人的声纹特征可以分解成一系列简单的子概率分布,如说出一个音节的概率、该音节的频率分布等。这些简单的概率分布可以近似地认为是正态分布。然而,GMM尺度越大,代表性越强,其负面效应就越明显:参数的尺度也会成比例地扩大,需要更多的数据来驱动GMM的参数训练,以便得到更普遍的GMM模型。
假设对50维的声学特征建模,GMM包含1024个高斯分量,多维高斯的协方差简化为对角矩阵,一个GMM需要估计的参数总数为1024+1024×50+1024×50=103424,需要估计的参数超过100000个。
即使这种规模的变量将目标用户的训练数据增加到几个小时,也远远不能满足GMM足够的训练需求,数据的稀缺性容易让GMM陷入过拟合的陷阱,导致泛化能力急剧下降。因此,尽管GMM起初在小规模文本无关数据集上表现出了超越传统技术框架的性能,但远不能满足实际场景中的要求。
2.高斯混合背景模型和支持向量机。
特点:采用自适应模型方法,减少建模和注册所需的有效语音数据量,但跨通道分辨能力不强。
UBM的一个重要优点是通过最大后验估计算法来估计模型参数,避免了过拟合。MAP算法的另一个优点是,我们不必调整目标用户GMM的所有参数,只需要估计每个高斯分量的平均参数,就可以达到最佳的识别性能。这样待估计的参数一下子减少了一半以上,参数越少收敛越快,不需要那么多目标用户数据就能完成模型更好的训练。
GMM-UBM系统框架是GMM模型的推广,是解决当前目标语者数据不足的一种方法。通过收集其他演讲者的数据进行预训练。通过MAP算法的自适应,将预训练模型微调到目标说话人模型。这种方法可以大大减少训练所需的样本量和训练时间。
然而,GMM-UBM缺乏与信道变化相对应的补偿能力,因此后来WM Campbell将支持向量机引入GMM-UBM建模。通过分别取出GMM每个高斯分量的平均值,构造一个高斯超向量作为SVM的样本,利用SVM核函数强大的非线性分类能力,在原有GMM-UBM的基础上大大提高了识别性能。同时介绍了一些基于GSV的正则化算法,如扰动属性投影、类内方差正则化等。,一定程度上补偿了通道变形对声纹建模的影响。
3.联合因子分析
特点:扬声器空、声道空和残留噪声分别建模,但每一步都会引入误差。
在传统的基于GMM-UBM的识别系统中,由于训练环境和测试环境的不匹配,系统的性能不稳定。于是帕特里克·肯尼(Patrick Kenny)在2005年左右提出了一个想法:既然声纹信息可以用一个低秩的超量子空来表示,那么噪声和其他通道效应是否可以用一个不相关的超量子空来表示呢?
基于这一假设,Kenny提出了联合因子分析的理论分析框架,对说话人所在的空和通道所在的空做出了独立且不相关的假设。在JFA的假设下,所有与声纹相关的信息都可以用特征声音空来表示,同一说话人的多段语音就在这个特征声音/。
M=s+c
其中s是说话人相关的超矢量,表示说话人之间的差异;c是通道相关超矢量,表示同一说话人不同语音段的差异;M GMM平均超级矢量,表示为说话者相关部分S和声道相关部分c的叠加
图的五均值超向量
如上图所示,联合因子分析实际上是利用GMM超矢量之间的sub 空对说话人差异和通道差异进行建模,这样可以去除通道的干扰,得到更准确的说话人身份描述。
JFA定义公式如下:
s = m + Vy + dZ
c = Ux
其中s是说话人相关的超矢量,表示说话人之间的差异;m是独立于说话者和通道的平均超级向量;v是低阶特征声音矩阵;y是说话者相关因素;d是对角剩余矩阵;z是剩余因子;c是通道相关超矢量,表示同一说话人不同语音段的差异;u是信贷渠道矩阵;x是与特定说话人的某个语音相关的因子。这里的超参数集{V,D,U}是待评估的模型参数。根据上面的定义公式,我们可以将平均超矢量改写为以下形式:
M = m + Vy + Ux + Dz
为了得到JFA模型的超参数,可以用EM算法训练UBM模型,用UBM模型提取Baum-Welch统计量。
虽然JFA对特征音空和特征通道空之间独立性的假设看似合理,但对独立性和分布性的绝对假设过于强烈。这种独立性和分布性的假设往往便于数学推导,但限制了模型的泛化能力。
4.基于GMM和PLDA的I向量法
特点:所有空房间统一建模,进一步减少了注册识别所需的语音时间。PLDA被用来区分说话者的特征,但噪声对GMM仍然有很大的影响。
名词(noun的缩写)德哈克提出了一个更为宽松的假设:既然声纹信息和通道信息不可能完全独立,我们就应该用一个超量子空来同时对两种信息建模。也就是说,sub 空用于同时描述扬声器信息和声道信息。此时,同一说话人,无论如何采集语音,采集多少段语音,这个sub 空之间都会有不同的映射坐标,更符合实际情况。这个空房间,既模拟了音箱差异,又模拟了声道差异,叫做全因子空房间。这个空房间里每一段语音的映射坐标叫做单位向量,i-vector向量的维数通常不会太高,一般在400-600左右。
I-vector方法用一个空房间代替这两个空房间。这个新的空房间可以是全局差异空房间,既包含了扬声器之间的差异,也包含了声道之间的差异。因此,I向量的建模过程并没有严格区分GMM平均超向量中说话人的影响和信道的影响。这种建模方法的动机来自Dehak的另一项研究:JFA建模后的信道因素不仅包含信道效应,还包含说话人的信息。
i-vector中总可变性的实践瞬间将JFA复杂的训练过程和对语料库的复杂要求降低到极致,尤其是将长度可变的语音映射到固定的低维向量。所以所有的机器学习算法都可以用来解决声纹识别的问题。
现在,主要特征是I向量。这是通过高斯超矢量的因子分析获得的。它是基于单个空的跨通道算法,既包含说话人空之间的信息,又包含通道空之间的信息,相当于使用因子分析法将语音从高位空投影到低维。
I-vector可以看作是一个特征,也可以看作是一个简单的模型。最后,在测试阶段,我们只需要计算测试语音I向量和模型I向量之间的一致距离,就可以作为最终的得分。这种方法通常也被用作基于I向量的说话人识别系统的基线系统。
i-vector简洁的背后是抛弃了太多东西,包括文字差异。在与文本无关的识别中,我们需要抑制这种差异,因为注册和训练的声音在内容上有很大不同。然而,在文本相关的识别中,我们需要放大训练和识别语音在内容上的相似性。这个时候,牵一发而动全身的i-vector就不那么合适了。虽然i-vector在与文本无关的声纹识别中表现非常好,但是在看似简单的文本相关声纹识别任务中,i-vector并不比传统的GMM-UBM框架表现得更好。
i-vector的出现使得说话人识别的研究被简化抽象为一个数值分析和数据分析问题:任何一段音频,无论其长度和内容如何,最终都会被映射成一个低维的定长i-vector。我们只需要找到一些优化的方法和度量的方法,能够在海量的数据中尽可能接近的分类同一说话人的几个I向量,尽可能的分离不同说话人的I向量。此外,Dehak在实验中还发现i-vector在空之间有很好的方向辨别能力。即使将SVM用于鉴别,也只需要简单的余弦核来实现非常好的鉴别。
在大多数情况下,i-vector仍然是与文本无关的声纹识别中性能最好的建模框架。学者们后续的改进都是基于I向量的优化,包括线性判别分析、基于概率的线性预测判别分析甚至度量学习。
线性判别分析是一种信道补偿算法,用于对I向量进行建模和分类。实验表明,效果最好。因为i-vector同时包含了说话人信息和声道信息,而我们只关心说话人信息,所以需要做声道补偿。让我们假设训练数据语音由I个说话者的声音组成,其中每个说话者有J个他自己不同语音的片段。然后,我们把第I个人的第j个声音定义为Xij。根据因子分析,我们将Xij的生成模型定义为:
在上面的公式中,n1和n2分别是两个声音的I矢量向量。这两个声音来自同一空的假设是Hs,来自不同空的假设是Hd。
其中p是两个声音来自同一个空的似然函数;p,p分别是n1和n2来自不同空的似然函数。通过计算对数似然比,可以测量两个声音的相似性。
比例越高,分数越高,两个声音属于同一说话人的可能性越大;比率越低,分数越低,两个声音属于同一说话人的可能性越小。
第三,基于深度神经网络的技术框架
随着深度神经网络技术的快速发展,声纹识别技术逐渐采用了基于深度神经网络的技术框架。目前有DNN-依维特-PLDA和最新的End-2 End。
1.基于深度神经网络的方法
特征:DNN可以从大量样本中学习高度抽象的音素特征。同时具有很强的抗噪声能力,可以消除噪声对声纹识别的干扰。
在论文《用于小足迹文本相关说话人确认的深度神经网络》中,研究了DNN在声纹识别中的应用。
Conv64-s:简单卷积层。
卷积核大小为5 * 5;数字是64,代表输出数据的第三维度;如果步长为2*2,数据维的前两个维度,即高度和宽度,将会改变。
Res64:是ResBlock,不是层网。实际层数是该ResBlock中包含的层数。这里,残差块包含两个卷积层:卷积核大小为3 * 3;64号;步长为1*1。以下3的乘法意味着有三个ResBlock。所以这个res64部分指的是三个ResBlocks,每个RES blocks包含两个卷积层,实际上是一个六层网络。
平均层,原始数据是三维的,分别代表通道数,也就是每一帧用不同方式提取的特征。平均时间,使一个语音对应一个特征,而不是每一帧对应一个特征。
仿射层:仿射层,就是把2048维的特征改成512维。
第ln层:标准化层,特征标准化后,得到的向量代表说话人的声音。
关于dim维列,开头的输入语音数据是三维的:。在本文中,时间帧的数量根据语音长度而变化,每帧的特征维数为64,通道数为3。所以输入维度:时间段数* 64 * 3。在第一层conv64-s之后,因为卷积层的步长为2*2,所以时间帧的数量和每帧的特征维数减半,特征维数变为32,通道数变为64个卷积核。2 * 64 = 2048,这是dim的值。所以这里的dim维度是指除了时间维度之外的频率特征维度。
训练时,使用三重损失作为损失函数。通过随机梯度下降,来自同一个人的向量相似度尽可能大,来自不同说话人的向量相似度尽可能小。
摘要
从声纹识别技术的发展概况中,我们不难看出,声纹识别的研究趋势正在迅速向深度学习和端到端发展,其中最典型的就是基于句子层面的实践。在网络结构设计、数据增强、损失函数设计等方面还有很多工作要做。,而且还有很大的提升空间空。此外,声纹识别系统在保持高性能的同时,对语音长度的需求也在降低。
声纹识别是百分比科技一直关注和研究的技术领域之一。目前百分科技的声纹识别系统采用大规模数据训练,准确率可以达到95%以上。1:N支持万级以上声纹数据库建设,在国内数字政府、公共安全等多个领域实施了实际项目。未来,我们将继续专注于声纹识别技术的深度学习。
免责声明:本平台仅供信息发布交流之途,请谨慎判断信息真伪。如遇虚假诈骗信息,请立即举报
举报