学术咨询

让期刊论文更省时、省事、省心

南京信息工程大学学报·自然科学版杂志投稿格式参考范文:开放场景下短时语音说话人识别系统的优化设计

时间:

  0 引言

  说话人识别通过分析语音中的声纹特征来确认说话人身份,实现这一任务的关键在于如何从语谱图中提取具有足够区分性的说话人特征。说话人识别具有广泛的应用场景,如智能家居唤醒、用户账号登录和电话诈骗破案等。随着电子设备性能的提升,基于深度学习的说话人识别系统性能取得显著进步,但是在开放场景下短时输入语音的识别性能还有待提高,其核心在于如何改进帧级特征提取网络、特征聚合层和损失函数 3 个关键技术。

  帧级特征提取网络方面,主流的网络有 TDNN 及其变体和 ResNet 结构。TDNN 系列网络能够提取时序依赖性强的特征,ResNet 结构则利用二维卷积神经网络进行特征提取,且一般特征提取网络对输入语谱的不同频率没有区别对待,但并非每个频率范围的特征信息对说话人识别系统模型的确立同等重要,实际上低频率声纹特征具有更高的贡献度。Zhou 等在原始 ResNet 结构中加入 SE(Squeeze-and-Excitation)模块,有效地增强了特征通道维度上的信息交互;Yadav 等则是利用基于卷积的频域和时域注意力机制来进一步增强中间特征频域和时域的信息交互性。受此启发,本文提出一种基于重加权的特征增强层及网络。

  特征聚合层方面,如基于注意力机制的特征聚合层 Self-Attentive Pooling(SAP)和 Attentive Statistics Pooling(ASP)。而 Luo 等则将视频理解任务中提出的 NeXtVLAD 应用到说话人识别中,显著提高了模型的特征聚合效果。

  损失函数设计方面,现阶段主要使用基于分类的损失函数,如 AMSoftmax 和 AAMSoftmax,通过在余弦角度约束的分类边界上加入间隔(margin)裕度来约束同类别特征的角度变换范围,从而提高类内特征的紧凑性,但是它们都忽视了困难样本信息对于辨别性特征学习的重要性,且本质上是根据分类任务设计的损失函数,训练时目标函数与说话人识别任务本质需求存在一定的不匹配性。

  本文改进说话人识别中的两大关键技术,设计出更有效的帧级特征提取网络和使得模型训练更充分的损失函数,进一步提升基于深度学习的说话人识别模型在开放场景下短时语音的识别性能。

  1 说话人识别模型基本框架

  目前主流的说话人识别算法是在基于 embedding 向量的深度学习框架下进行训练和测试的,整体框架如下:训练阶段,原始语音信号经过声学特征提取模块得到声学特征。首先,将提取的声学特征输入到帧级特征提取网络中提取帧级特征序列;然后,利用特征聚合层从帧级特征序列中提取说话人的 embedding 向量形成语句级特征向量;最后,利用说话人标签计算损失函数来优化说话人 embedding 向量,使得类内距离尽可能小,类间距离尽可能大。测试阶段,将训练好模型输出的说话人 embedding 向量输入到后端打分模型,与注册数据库中的特征向量进行相似度打分,根据得分来判断两段语音是否属于同一个说话人。

  2 基于重加权的特征增强层的帧级特征提取网络

  2.1 基于重加权的特征增强层

  从近几年国际大型公开的说话人识别挑战赛中可以看到,基于梅尔频谱分析的特征如 Fbank,仍然是最热门和最有竞争力的输入声学特征。在大多数的工作中,Fbank 频域维度特征通常会被当成一个整体同等对待而没有考虑不同频率范围特征信息的重要性。然而,不同频率范围的特征信息对于说话人识别模型的性能影响是不同的。

  基于此,本文提出基于重加权的特征增强层(Reweighted-based Feature Enhancement Layer,RFEL),对输入声学特征中不同频率特征赋予不同的重要性权重。RFEL 结构是对输入特征的重要频率进行增强,它为输入特征频域维度上的每一维频率特征计算一个权重参数,并利用该权重参数与输入特征对应频率上的值相乘,得到频率重加权后的增强特征。

  RFEL 设计目的是为了增强输入频谱特征的重要频域维度信息,让模型能够学会分析不同频率范围内特征的重要性。基于此,本文还将 RFEL 用到网络中进行网络中间频域特征增强。

  2.2 基于重加权的特征增强网络

  本文使用的是 Fast ResNet-34 模型结构。为了提高轻量化模型的特征提取能力,在 Fast ResNet-34 框架中加入 SE 模块,构成 Fast-SE-ResNet-34 框架,可以通过注意力机制对网络中间输出特征的通道维度进行增强。

  本文提出的基于重加权的特征增强网络(Reweighted-based Feature Enhancement Network,RFEN)结构如下:输入的频谱特征首先经过 RFEL 进行频域维度特征增强,随后经过第一层卷积神经网络降采样为原来大小的一半,再输入到 Fast-SE-ResNet-34 框架下的 4 个特征提取阶段(stage)中。从结构中可以看到,RFEL 可以放在每个 stage 中最后一个残差模块的输出之后,用来增强每个 stage 输出的中间特征,将最后一个 stage 输出的特征输入到特征聚合层中,则可提取到区分性强的说话人特征向量(embedding)。

  随着网络加深,输出每个点的特征都与周围点特征存在大量信息交互,致使频率特征高度相关,并且部分频率特征在降采样过程中被转换到通道维度,此时再使用 RFEL 对频率特征进行细粒度分析会比较困难。因此,在设计基于多层 RFEL 的帧级特征提取网络时考虑每个 stage 后 RFEL 是可选的,本文在实验部分验证了模型在不同 stage 后加入 RFEL 后的效果,从而找到最优的网络模型结构。

  3 组合损失函数

  损失函数是为了训练能够让模型提取出区分性强的说话人特征的一组参数。文献提出先用 Softmax 损失函数预训练再使用度量学习损失函数微调模型的策略;文献提出基于 Triplet loss 的困难样本对挖掘策略;文献将基于小样本学习的原型网络损失引入说话人识别任务中;文献使用查询集与类中心之间的距离度量计算方式,将原始的欧氏距离替换成基于余弦相似度的距离度量,取得了优异的效果。

  3.1 基于误分类样本挖掘的分类损失函数

  误分类样本就是原本属于类 A 的样本,被误分类到类 B 中。误分类样本大多是难样本,是比较考验模型识别能力的样本。误分类样本对于提高模型特征区分能力有着至关重要的作用。

  3.2 基于原型损失的度量损失函数

  在小样本学习框架下,训练集和测试集都会被分为两个不重合的子集,即支持集和查询集,用x∗和xq分别表示经过特征提取后的支持集和查询集样本中的说话人特征向量,原型损失函数便是小样本学习框架下的损失函数。

  3.3 组合损失函数

  分类损失函数能够优化的是样本与分类层参数向量之间的关系,属于实例 — 代理之间的关系,能够在训练阶段为模型提供较稳定的收敛曲线,而度量损失函数优化的是样本与支持集中真实样本的类中心向量之间的度量关系,属于实例 — 实例之间的关系。而说话人识别模型实质就是实例 — 实例之间的关系,度量函数更加符合说话人识别任务的实际应用场景。

  4 实验结果及分析

  4.1 实验设置

  本文实验均在 Ubuntu18.04.3 LTS、64 位系统下进行,所采用的深度学习框架是 PyTorch,输入声学模型为 80 维的 Fbank,实验中所有模型均使用 Adam 优化器进行训练,权重衰减率设置为 5e-5,初始学习率为 0.005,batch size 大小设为 256。数据集为 VoxCeleb1,共包含 1251 个说话人的 153516 条音频,语音时长总计 352h,其中训练集包含 1211 个说话人,测试集包含 40 个说话人。基准模型为基于 FastSE-ResNet34、NeXtVLAD 特征聚合层和 AMSoftmax loss+Augular Prototypical loss 组合损失函数的模型。

  4.2 评价指标

  说话人识别任务中最常用的性能评估指标为等误率(Equal Error Rate,EER)和最小检测代价函数(Minimum Detection Cost Function,minDCF)。

  等误率 EER 定义为错误拒绝率 FRR 与错误接受率 FAR 相等时的错误率,EER 越小说明系统的性能越好。

  4.3 组合损失函数有效性实验

  为验证组合损失函数的有效性,组合函数参数 α 与基准模型中的参数一致,均设定为 1。使用 MVSoftmax 和 AP 组合损失函数后模型的 EER 比基准模型平均降低了 12.45%,minDCF 平均降低了 14.09%。实验结果表明,使用基于误分类样本分类损失和小样本学习框架损失的组合损失函数训练的模型性能最好。

  5 结束语

  本文针对开放场景下短时语音的说话人识别系统进行优化,对说话人识别架构中的特征提取网络和损失函数进行优化改进。通过一种基于重加权的特征增强层来增强特征表达,并将其嵌入到网络中来改善说话人特征提取网络中间特征的区分性表示。此外,还将人脸识别中的基于误分类样本损失函数首次引入到说话人识别领域,和原型度量损失函数融合进行模型的训练,解决了分类损失函数与说话人识别本质需求不匹配和度量函数对采样策略依赖性强的问题,大大提升模型的识别精度。实验结果表明,改进后的说话人识别模型性能更加优异。

郭新;邓爱文;罗程方;邓飞其,广东交通职业技术学院;华南理工大学,202305