Text-Independent Speaker Verification Using 3D Convolutional Neural Networks

使用3D卷积神经网络进行文本无关说话人识别

摘要

本文提出了一种新的基于3D卷积神经网络(3D-CNN)结构的语音认证方法。主要的挑战之一是建立说话人的模型。之前报告的大多数方法都是基于从说话人的话语中提取特征的平均值来创建说话人模型,这就是所谓的d-vector系统。在我们的论文中,我们提出了一种利用3D-CNNs直接进行说话人模型创建的自适应特征学习,在开发和注册阶段,每个说话人都被输入相同数量的语音,用于代表说话人的语音,并创建说话人模型。这将会同时获取说话人相关的信息,并建立一个更健壮的系统来应对说话人本身的变化。实验结果表明,该方法明显优于传统的d-vector验证方法。此外,该系统还可以替代传统的d-vector系统,即利用3D-CNNs的一次说话人建模系统。

关键词 说话人验证,3D卷积神经网络,文本无关,说话人模型

介绍

说话人验证(SV)是通过使用麦克风等录音设备捕获的说话人的语音特征来验证说话人的身份。SV的概念属于说话人识别(SR)的一般范畴,可以细分为文本相关型和文本无关型。在文本的模式中,说话人验证过程的所有阶段都使用预定义的固定文本,如密码短语。另一方面,在文本无关的SV中,说话者没有考虑口语短语的先验约束,这使得文本无关的场景更具挑战性。一般来说,SV流程包括三个步骤:开发、注册和评估。在开发步骤中,将为说话人的陈述创建背景模型。在注册步骤中,使用后台模型生成新用户的说话人模型。最后,在评价阶段,通过与现有的生成说话人模型的比较,确认/拒绝测试语音所代表的身份。

成功的SV方法通常采用无监督生成模型,如高斯混合模型-通用背景模型(GMM-UBM)框架[1]。一些模型,如基于GMM-UBM的i-vector,已经证明了[2]有效性。虽然上述模型被证明是有效的SV任务,主要问题是无监督方法的缺点,即其中模型训练不一定被区别说话人的特征所监督。不同的方法,如GMM-UBMs[3]支持向量机模型和PLDA i-vectors模型[4],已经被发展成为了判别模型去生成框架,并显示出了良好的效果。最近关于深度学习方法的研究提出了数据驱动特征的学习方法。受深度神经网络(DNNs)在自动语音识别(ASR)[5]中的应用启发,其他的研究工作已经在SR中对DNNs的应用进行了研究[6,7],并在学习面向任务的特征方面显示出良好的前景。卷积神经网络用于特征提取,通常用于二维输入。然而,3D-CNN架构最近被用于动作识别[8]和视听匹配[9]。对于本文的工作,除了联合提取空间和时间信息外,我们还使用了三维CNNs来捕捉说话人本身的变化。

在本文中,我们关注的是文本无关的场景,在所有阶段的语境中,说话者的话语都没有先验信息。选择配置的困难之处在于,被选择的系统应该能够区分说话者和说不同话语(上下文相关的)的语音相关信息,这些话语来自于输入到系统的同一个说话者。在本文中,我们将基于DNN的特征提取扩展到文本无关的SV任务中,其目标是在开发阶段和注册阶段之间建立与说话人相关的桥梁,以创建更通用的说话人模型。我们的源代码是一个开源项目[10]。

相关工作

我们研究了卷积神经网络[11]在说话人识别中的应用,并将其应用于语音处理[12]。在以前关于说话人验证的研究中,就像[6]中报道的那样,DNNs已经被研究用于文本无关模型的建立。然而,以上这些没有一个是针对3D-CNN架构的。在一些研究中,如[13],CNNs和局部连接网络(LCNs)已经被用于SV的研究。但是,它们只考虑与文本相关模型的建立。在其他一些工作中,如[7,14],DNNs被用作特征提取器,然后用于为SV过程创建说话人模型。在[7]、[13]和[14]中,使用预先训练好的DNN作为特征提取器,根据同一说话人的注册话语中具有代表性的特征进行平均,创建说话人模型,称为SV的d-vector系统。我们建议利用CNN的固有特性来获取一组不同的说话者的话语,这些话语可用于创建说话人模型。据我们所知,这是第一次将3D-CNNs用于开发和注册阶段的特征提取和说话人模型创建。该方法为这两个阶段建立了相同的说话人表示框架,具有实际和计算上的优点。

使用深度神经网络进行说话人验证

说话人验证规则应使用DNN进行处理。一般过程已在第1节中说明。在这一节中,我们描述了三个阶段,开发、注册和评估,如下:

开发: 在开发阶段,为了从说话人的话语中提取表示说话人的特征,我们必须建立一个背景模型。表示说话人的特征由模型生成。在DNN的情况下,可以使用提取的说话人的语音特征映射来构建输入数据。在理想的情况下,在训练过程中,模型的损失函数(如Softmax)最终表现为说话者的辨别力。这一阶段已经通过一些研究工作进行了调查,使用了i-vectors[1,2]和d-vectors[7,14]等最先进的方法。其主要思想是使用一个DNN架构作为说话人特征提取器,在帧级和话语级对说话人进行分类。

注册: 在注册阶段,对于每个说话人,将建立一个不同的模型。每个特定说话人的模型都将建立在目标说话者所提供的话语之上。在这个阶段中,每一个话语(或帧,根据表示级别)在开发结对将会传给监督训练网络,并最终输出(在softmax层之前的一个层输出,无论是否提供更好的表示)为所有话语(或帧)进行积累。由DNN的输出投射出的话语的最终表达被称为d-vector。在说话人模型的创建中,可以取目标说话人的所有话语的d-vector的平均值来生成说话人模型。然而,我们提出了一种方法来代替通常在d-vector系统中使用的平均方法,即通过捕获来自同一说话人的话语,一次性生成说话人模型的架构(第五节)。

评估: 在模型评价阶段,将每个测试语句喂给网络,提取其特征。验证的主要是进行one-vs-all,其中测试语句的特征将与所有说话人模型进行比较,并根据相似度评分做出决策。在这一步中,错误拒绝和错误接受率是主要的错误指标。错误拒绝/接受率取决于预定义的阈值。等错误率(EER)度量上述两种错误率相等时的预测错误。

基线方法

在这一部分,我们描述一下基线方法。我们使用的基线架构是[7,14]中使用的本地连接网络(LCN)。该网络采用局部连接层[13]进行低层特征提取,全连接层作为高层特征生成器。我们使用PReLU激活函数而不是使用ReLU,已经证明了PReLU在训练时更稳定并且可以提高性能[15]。利用局部连通层加强第一隐藏层的稀疏性。采用交叉熵损失作为训练的判据。

训练阶段结束后,网络参数将被确定。通过对最后一层的输出向量进行平均(在Softmax之前,没有PReLU非线性消除)来提取话语d-vector。注册时,说话者模型是使用说话者的话语的平均d-vector生成的。最后,在评估阶段,通过计算说话人模型与测试话语的余弦相似度,得到相似度评分。

本文作者:Author:     文章标题:Text-Independent Speaker Verification Using 3D Convolutional Neural Networks
本文地址:https://alphalrx.cn/index.php/archives/114/     
版权说明:若无注明,本文皆为“LRX's Blog”原创,转载请保留文章出处。
Last modification:April 15th, 2020 at 10:27 pm
给作者赏一杯奶茶吧!

Leave a Comment