学习说话人识别和验证的判别特征

Learning Discriminative Features for Speaker Identification and Verification

学习说话人识别和验证的判别特征

摘要

任何文本独立的说话者识别和/或验证系统的成功依赖于系统学习辨别特征的能力。

在本文中,我们提出了一种基于流行的非常深VGG [1] CNN的卷积神经网络(CNN)架构,通过关键修改来适应可变长度频谱图输入,减少模型磁盘空间要求并减少参数数量,从而产生在培训时间显着减少。我们还提出了一个统一的深度学习系统,用于文本无关的说话人识别和说话人验证,通过在Softmax损失和中心损失的共同监督下训练拟议的网络架构。

[2]获得适用于说话人识别和验证任务的高度辨别力的深度特征。

我们使用最近发布的VoxCeleb数据集[3],其中包含超过1200名属于不同种族的名人的数十万个现实世界话语,用于对我们的方法进行基准测试。我们最好的CNN模型获得了84.6%的前1准确度,比Vox-Celeb的方法有4%的绝对改进,而与Center Loss相结合的训练将Top-1准确度提高到89.5%,绝对值提高了9% Voxceleb的方法。

索引术语:说话人识别,说话人识别,说话人验证,卷积神经网络,判别特征学习

1.简介

随着在大量现实场景中具有重要应用的大型数据集的出现,以卷积神经网络为先导的深度学习已经成为计算机视觉领域的首选方法[4],[5] ,语音识别[6],[7]和其他相关领域,由于其固有的处理现实世界的能力,嘈杂的数据集,不需要手工制作的特征工程。

由于外在和内在的变化,在无约束条件下的文本独立说话人识别是一个具有挑战性的问题;外在变化是背景喋喋不休,音乐,笑声,混响,错误的录音设备和传输介质引起的失真;而内在的变化包括说话者的年龄,口音,情绪和语调等。 [8]

学习辨别功能的先天能力对任何说话人识别系统表现良好至关重要。最近的工作重点是利用DNN的瓶颈功能[9],培训深层嵌入以供PLDA后端使用[10]或使用Constrastive Loss [3]或Triplet Loss [11]训练端到端深度CNN嵌入]。这些方法需要培训各种各样的网络,以尽量减少不同的目标函数集,这需要大量的培训和计算。

最近推出的VNG系列CNN [1]证明,仅由小型3x3卷积滤波器组成的非常深的CNN比ImageNet [4]竞争中的先前基线有了显着的改进。这种成功主要归功于较小的感受野(3x3内核)的使用以及增加的网络深度,这得益于3x3内核的参数有效性。

在本文中,我们提出了一种新的基于VGG Config-A和Config-B [1]的卷积神经网络体系结构,由于它们具有上述特性,其关键模型可以适应可变长度频谱图输入并减少网络参数和存储空间要求。

然后出现了一个问题:由于说话人识别和说话人验证的任务具有相同的基本目标,即识别先前已知的说话者以及学习区分不同的说话者,所以不具有益处。一个能够解决这两个问题的统一方法?为此,我们还提出了一个统一的深度学习系统,用于独立于文本的说话人识别和说话人验证,在对Softmax损失和中心丢失的联合监督下训练CNN [2],从而减少对培训的需求两个任务的不同网络。

我们利用Voxceleb [3]数据集来量化和比较我们提出的方法在说话人识别和验证方面的表现。 Voxceleb数据集是一个大规模,性别均衡的数据集,包含超过140,000个话语,属于1251个不同民族的不同名人,在现实条件下。

2.相关作品

说话人识别是一个领域,其中高斯混合模型(GMMs)在该领域占据了相当长的一段时间([12],[13]),联合因子分析(JFA)[14]和基于i-矢量的方法[15]在最近的时间里超越了他们。所有上述方法都依赖于低维Mel频率倒谱系数(MFCC)作为输入特征。已知MFCC在现实世界噪声条件下遭受性能下降,如[16],[17]所示,这为最近向各种基于语音的应用的深层循环神经网络转变铺平了道路[18] ,[19],[20]。

说话人识别包括两个子任务:说话人识别和说话人验证。通常,与上述两个任务相关的训练网络的方法是不同的,其中识别(在封闭集中)通常被视为n路分类问题,并且基于Softmax Loss的分类模型被训练对于相同的[3],而扬声器验证,其涉及确定给定话语和目标模型之间是否匹配,而通过训练判别嵌入([10],[11])或使用分类中的瓶颈特征来解决模型[9]。

最近,[19]研究了各种用于声学场景分类的CNN架构,确立了用于声学场景分类中的图像分类的CNN的直接模拟的有效性。 相比之下,我们提出了一种专门为说话人识别而开发的架构,与声学场景分类相比,这是一种细粒度的分类任务。 此外,他们评估的网络架构,即流行的图像分类CNN的直接争议,无法处理可变长度输入,这是扬声器识别的一个重要特征。

[20]研究了用于说话人识别和聚类的最佳CNN设计,并详细阐述了如何应用转移学习,即将经过训练的说话人识别网络转移到说话人聚类。 但是,与提出的架构相比,它们的CNN架构也不支持可变长度输入。

3.Proposed Approach

以下小节描述了提议的方法:

 

3.1.Model Architecture

  1. 基于他们最近在众多计算机视觉任务中的成功,以及相对简单的设计与更近的网络([21],[22],[23])相比,我们决定将我们的CNN基于VGG ConvNet配置A和B(VGG 11和VGG 13)网络如[1]中提出的那样,经过修改以适应输入特征并为可变长度输入提供支持。我们提出的网络在每个Conv-ReLU [25]对之后使用批量标准化[24]。受[21],[22]的启发,我们在CNN特征提取器之后立即移除完全连接的层。卷积层(最终最大池层)的输出要素在要素图维度上折叠,然后进行平均。 CNN特征的这种时间平均产生低维向量,允许可变长度输入的有效和密集聚合,从而使网络能够有效地控制可变长度输入。接下来是n维(FC-ndims)的瓶颈层,在该层上应用中心损失(3)。对于基于VGG 13的网络,此设置将网络参数的数量从134M大幅减少到9.6M,远低于[3]中具有67M参数的最佳性能网络。还尝试了具有中间完全连接层的网络的其他变体,但没有提供改进。为了帮助过度拟合,Dropout在瓶颈层之前和之后施加了40%的下降率。

网络A和网络B分别基于VGG-config A和VGG config B(表1)。为清楚起见,表中未显示ReLU和批量标准化层。我们只使用具有3x3内核的2-D卷积层,步幅和填充均等于1.除了第一个Max Pooling层(其具有3x3内核和步幅为2)之外,所有Max Pooling层都具有2x2内核和步幅2。

我们的网络设计选择还会导致所提出的架构具有以下令人满意的特性:

1.参数效率:网络仅使用小型3x3内核。如[1]所示,与7x7或5x5相比,3x3卷积的参数效率更高,7x7内核需要81%的参数。

2.Model Size:原始VGG Config-A和Config-B网络的大部分参数都位于其大型完全连接层中。最新的CNN架构已经证明,大的FC层不是提高分类性能的先决条件([21],[22],[23])。因此,我们决定删除这些FC层。这大大减少了参数的数量,从而减少了模型磁盘空间要求并加快了推理速度。

3.2。特征提取

MFCC功能在噪声条件下表现出性能下降[16],[17],以及仅关注短帧的整体频谱包络,MFCC可能缺乏扬声器区分特征(如音调信息)[3]。在最近的语音工作([3],[11],[27])中已经普及的对数光谱图不具备MFCC的上述缺点,因此被使用。在VoxCeleb [3]中的特征提取过程之后,所有音频首先以16kHz采样率转换为单通道16位流。然后使用汉明窗口以及均值和方差归一化以滑动窗口方式生成频谱图。但是,与VoxCeleb不同,我们使用的窗口宽度为20ms,步长为10ms,最大为160点。这就产生了一个尺寸为1x161x301的频谱图,用于3秒的音频剪辑,与VoxCeleb不同,VoxCeleb对于同一个剪辑具有更大的1x512x300大小的光谱。这导致更低的内存占用,并帮助我们在单个Titan-Z GPU上训练大型CNN。 Python流行的LibROSA模块用于特征提取。

3.3。联合监督目标损失函数

为了最大化CNN的判别力,我们建议在Soft-max损失和中心损失的联合监督下训练网络[2]。 Center Loss最初是针对人脸识别任务提出的,它在各种基准面数据集上进行了明显的表现,如野外标记面(LFW),Youtube Faces(YTF)和MegaFace挑战。 还证明了以这种方式学习的特征与使用替代深度度量学习技术(例如三重损失或约束损失)学习的特征相当。 Center Loss背后的直觉是最小化类内变化同时保持不同类的特征可分离是学习判别特征的关键。 中心损失可以表述为:

3.4。实施和培训细节

我们所有的工作都是使用PyTorch深度学习框架完成的,并且在NVIDIA Titan-Z GPU上进行了培训。 Adam [28]优化器用于训练具有默认超参数值的网络。 为了减少过度拟合,我们通过在时域中随机抽取3秒作物来增加数据,就像[3]一样,以及随机噪声注入。 在训练时使用固定长度输入可减少存储器占用空间和计算要求。

识别与验证:与[3]不同,网络架构和培训方法(如损失函数)对于识别和验证任务都是相同的。

测试:网络具有处理可变长度序列的固有能力,在使用完全连接的层之前进行特征平均。

4.Experiments

本节描述了说话人识别和验证任务的实验设置,并将提出的方法的性能与许多方法进行了比较,这些方法的性能已经在[3]中进行了基准测试。

 

4.1。 实验装置

演讲者识别:对于演讲者识别,培训和测试的兴趣人员(POI)保持不变(所有1,251个不同的发言者,表2)。 因此,该任务被视为跨1,251类的直接多类分类。 使用的开发/测试拆分由[3]提供。 对于每个POI,来自一个视频的语音段被保留用于测试。 为了识别,报告了前1和前5的准确度。

说话人验证:在[3]之后,所有名称以“E”开头的POI都保留用于测试,剩下1,211个POI用于培训(表3)因此,验证任务的网络被训练为1,211路多类别分类 使用方程2中给出的目标函数的问题。在测试时,分别计算测试对(a,b)的瓶颈特征,瓶颈和瓶颈,并使用余弦距离来测量瓶颈与瓶颈之间的相似性b2向量。 我们使用等误差率(EER)(一种流行的扬声器验证性能指标)来量化测试集上网络的性能。

4.2. Baselines

我们将我们的结果与以下基线进行比较,所有基线都在[3]中进行了评估。

 

GMM-UBM:GMM-UBM系统使用尺寸为13的MFCC作为输入。 倒谱平均值和方差标准化(CMVN)应用于特征。 遵循传统的GMM-UBM框架,对来自训练数据的10次迭代训练1024个混合分量的单个与扬声器无关的通用背景模型(UBM)。

I-vectors / PLDA:性别独立的i-vector提取器

[15]在VoxCeleb数据集上进行了训练,以生成400维i向量。 然后使用概率LDA(PLDA)[29]将i向量的维数减少到200.推论:

为了识别,针对每个扬声器m(m 1 ... K)训练一对二静态SVM分类器。 SVM的所有特征输入都是L2标准化的,并且使用保持的验证集来确定C参数(确定最大化边际和惩罚训练误差之间的权衡)。 在测试时间内的分类是通过选择对应于最高SVM分数的说话者来完成的。 PLDA评分函数[29]用于验证。

VoxCeleb的方法:VoxCeleb提出了一个基于VGG-M [30] CNN的CNN架构,并进行了适当的修改以适应频谱图输入。 使用宽度为25ms,步长10ms和1024点FFT的滑动窗口生成频谱图,给出3秒语音剪辑的大小为512×300的频谱图。 说话人识别被视为直接的多级分类任务,而暹罗网络则受到对比性损失的训练,这需要大量的培训工作。

4.3。结果

结果分别在表4和5中提供。

表4提供了发言人识别任务的结果。前四个条目是[3]中评估的基线。所提出的CNN,网络A和网络B使用Softmax Loss进行训练,然后再次在Softmax损失和中心损失(表中标记为Joint)的联合监督下进行训练,如(等式3)所示。两个CNN网络都大大优于现有的基准测试,Network-B在softmax-only和联合培训方面都是表现最佳的网络。

为了识别,使用联合监督训练的ndims = 128的Network-B CNN架构表现最佳,在1,251个POI上实现了前1个分类准确率89.5%,与之前的最佳结果相比,绝对提高了9%。 80.5%(“CNN”条目,表4)。

表5提供了扬声器验证任务的结果。前四个条目是[3]中评估的基线。由于资源限制,我们仅评估网络B,具有不同的瓶颈维度值。所有验证网络都在softmax损失和中心损失的共同监督下进行了培训。因此,与[3]相比,他们通过使用复杂硬负挖掘使用恒定损失微调分类模型来应用转移学习,我们的统一方法可以在更短的培训时间内实现更好的性能,而无需复杂的对挖掘技术。

为了验证,具有ndims = 128的Network-B实现了4.9%的EER,比先前的最佳(CNN-256D嵌入,表5)绝对改善了3.0%,考虑到嵌入尺寸减小50%,这是显着的改进,因此展示了拟议的培训方法的能力,以提高网络学习歧视性功能的能力。

5。结论

在本文中,我们提出了一种使用卷积神经网络(CNN)的端到端深度学习系统,该系统在Softmax损失和中心损失的联合监督下进行训练,以获得适用于文本无关的高度辨别力的深度特征。 说话人识别和说话人验证。 中心丢失最初被提议用于面部识别任务,其中它确立了其提高CNN学习辨别特征的能力的能力。 我们的结果表明,使用所提出的方法训练的网络在说话人识别和验证任务方面优于当前基线,参数数量少得多,从而确立了所提出的与文本无关的说话人识别方法的有效性。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/weixin_38858860/article/details/84109681