论文分享:当声纹识别遇上标签噪声?前端和后端的系列优化

本文介绍了论文分享:当声纹识别遇上标签噪声?前端和后端的系列优化,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
声纹识别是指从说话人的语音信号中提取声纹特征,并通过有效的分类识别模型,对说话人的身份进行校验和鉴别。声纹识别广泛应用于刑侦、人机交互声纹口令验证、银行声纹身份验证等领域。当前的声纹识别系统通常包括两个模块:神经网络特征提取前端和概率线性判别分析(PLDA)后端。使用精确的标注数据对于声纹识别模型效果至关重要,然而在真实场景下,数据错误标注问题不可避免。而矛盾在于:若想训练性能足够好的声纹识别系统,大量有标注数据是必要的,而另一方面,神经网络和PLDA往往会拟合噪声样本,从而导致模型偏离样本的真实标注,在实际应用中性能急剧下降。 近年来,厦门大学智能语音实验室针对标签噪声(Label Noise)问题,对声纹识别中神经网络前端和PLDA后端进行一系列优化。团队先在模拟标签噪声数据集上进行实验,结果表明在训练集样本存在标签噪声影响情况下,提出的优化方法有效地提升了声纹识别系统的鲁棒性;所提方法进一步拓展应用于真实标签噪声场景,验证了NIST SRE04-10数据集中存在部分标签噪声样本。其相关研究成果“When Speaker Recognition Meets Noisy Labels: Optimizations for Front-ends and Back-ends ”近期被语音领域国际顶级期刊《IEEE/ACM Transactions on Audio, Speech, and Language Processing》(IEEE/ACM-TASLP)接收。

  论文题目:When Speaker Recognition Meets Noisy Labels: Optimizations for Front-Ends and Back-Ends

  作者列表:李琳,童福川,洪青阳

  论文原文:

https://ieeexplore.ieee.org/document/9763412

扫码直接看论文

背景介绍 当前,很多声纹识别数据集,如NIST SRE18 开发集不提供说话人标签,只提供音频对应的电话号码;VoxCeleb和CN-Celeb数据集,是从网络视频中提取的说话人语音构成,并通过人脸识别打上说话人标签。因此,在数据收集过程中,标签噪声不可避免。通常,标签噪声可以分为三个类别:闭集噪声(Closed-set)、开集噪声(Open-set)和混合集噪声(Mixed-set)标签。闭集噪声指的是噪声样本对应的真实标签存在于训练集中;开集噪声指噪声样本对应的真实标签位于训练集之外;混合噪声是指训练集中同时存在闭集噪声和开集噪声的样本。图一展示了在四个说话人数据样本中,三种标签噪声类型的示例。当训练数据集中存在噪声样本时,如何使前端网络准确地学习出说话人之间的区分性特征,这就是所谓的标签噪声学习问题(Learning with Label Noise)。

图1 标签噪声类型示例

神经网络优化

针对神经网络,如图2所示,文中从损失函数和训练策略两个方向进行了优化,具体可分为以下三个方面:

图2 前端神经网络优化

  (1)标签置信度学习将网络预测标签引入到损失函数中[1],构建网络的损失函数为:其中P_{i,y_i}表示训练样本x_i被预测为原始标签y_i的后验概率(称之为原始标签后验概率),P_{i, ŷ_i}为预测标签后验概率,a_t为第t次迭代训练时P_{i, ŷ_i}的置信度权重。文中设a_t为随训练迭代次数增加而以指数函数递增的形式,即:其中a_T表示最终迭代T时的置信权重,t表示当前训练的迭代次数,指数λ控制着a_t的增长速度。如图3所示,在训练过程中,随着迭代次数的增加,a_t将从0增加到a_T。

图3 动态权重变化曲线

然而,使用该损失函数训练神经网络情况下,作者发现在训练后期,损失函数将主要由预测标签主导,网络会将每个样本预测为同一个类别以最小化损失函数。为了避免这个问题,文中引入先验概率分布P_y和预测概率分布P_ ŷ之间的相对熵作为标签正则化[2],计算为:标签正则化为每个样本分配一个属于所有可能类别的先验概率,防止网络将所有标签分配给同一类别。为了简化训练过程,文中设P_y=1/M(M为训练样本中说话人类别数),并通过对每个小批量执行计算来近似P_ŷ。   (2)后验概率权重调整文中假设如果某个样本的预测标签与原始标签相同时,那么该样本的标签是正确(干净样本)。为了更好利用这些干净样本来进行网络参数更新,文中在损失函数中重新缩放干净样本的后验概率,对应的干净样本的后验概率调整为:其中g(u)是一个重放缩函数[3],定义为:其中u≥0,因此g(u)≥1,对于干净样本P’_{i,y_i}≤P_{i,y_i},由损失函数对后验概率的单调递减性可知,-log(P'_{i,y_i}≥-log(P_{i,y_i}),以增加干净样本对参数优化的相应贡献度。   (3)损失函数引入子中心文中将“子中心类”[4]引入AM-Softmax中(称为SubAM-Softmax),以放松样本间的类内约束。在SubAM-Softmax中,损失函数线性层映射矩阵W的维数由二维(M*d)  扩展为(M*K*d),在K个子中心中,有一个主要子类,其包含大多数干净样本,剩余(K-1)个非主要子类包含噪声样本。因此,子类能够捕获训练数据的复杂分布,有利于有效分离噪声样本与干净样本。

PLDA优化 作者借鉴Borgstrom等人[5]提出的变分PLDA建模方法(文中称之为NL-PLDA),实现了标签噪声存在时的PLDA参数估计,还进一步筛选出数据中标签噪声对应的样本,以抑制PLDA训练集标签噪声的干扰。NL-PLDA将原始标签视为隐随机变量,并基于最大似然估计准则通过变分贝叶斯估计计算模型的参数。具体表现为:将每个样本的真实标签l_n建模为一个隐身份变量,且构建真实标签隐变量矩阵为对应于训练样本的真实标签,矩阵中元素的期望表示样本属于某个说话人的置信度(概率)。 在NL-PLDA中,模型参数和标签噪声估计通过如图4中的EM算法进行迭代更新。具体来说,在E-step中同时估计真实标签的后验概率和每个说话人的特征分布,而在M-step中,基于期望最大化准则,更新标签错误率、真实标签隐变量矩阵Z和NL-PLDA的参数。

图4  NL-PLDA训练流程伪代码

进一步,作者介绍了利用NL-PLDA筛选标签噪声对应样本的方法。由于Z显式地建模了说话人身份的隐变量分布,可以利用Z筛选出高置信度标签噪声。在训练之前,由于没有关于标签错误率的先验信息,Z初始化为如图5左边的矩阵,其中z_{n,m}被初始化为z_{n,l_n},表示样本x_n属于对应的原始给定标签l_n。设经EM更新后,Z变化为图5右边的矩阵,当z_{n,l_n}的值变得相对较小时,这表明原始给定标签l_n有很高概率是标签噪声,此时,根据经验设置一个阈值(例如,z_{n,l_n}≤0.1)就可以筛选出这些高置信度为标签噪声的样本,达到清洗数据的目的。

图5  真实标签隐变量矩阵计算前后参数变化

实验验证

  实验数据

文中使用Switchboard Phase2-3、Cellular1-2数据集(统称为SWBD)和NIST SRE04-10数据集作为训练数据,实验中分别准备了闭集标签噪声、开集标签噪声、以及混合标签噪声训练集,对于每种标签噪声类型分别准备了错误率为5%、10%、20%、30%和50%训练数据。测试集为NIST SRE 2016和NIST SRE 2018 CMN2。

  网络配置

文中的基线系统(Baseline)为E-TDNN网络,除了基线系统,文中还配置了六种不同的前端,以方便对不同的优化策略进行消融实验,六种不同前端的具体配置如下表所示。

  闭集标签噪声实验结果

首先,从训练过程中网络在训练集和干净标签验证集上预测准确率曲线可以发现,在迭代训练过程中,基线网络会不断拟合训练数据,当训练集中存在标签噪声时,这会导致网络在验证集上的预测准确率下降。相比之下,标签置信度学习策略受标签噪声的影响较小,使得网络在训练过程中保持较高的验证集准确率。

下图展示了在 NIST SRE 2018 CMN2 评估集上的EER和minDCF曲线图,详细的实验数据和其它测试集上的实验结果可查看论文原文。从下图可以发现,随着标签错误率的增加,基线系统的性能会迅速地下降,而Front1至Front6受标签噪声的不利影响越来越小。此外,当Front6与NL-PLDA后端结合使用时,整个系统展示出对标签噪声较强的抑制能力。

  开集与混合集标签噪声实验结果

下图分别展示了在开集和混合标签噪声数据集上基线系统和改进系统的性能对比。可以观察到,与基线系统相比,Front6也获得了更好的性能。同时,开集标签噪声对系统的影响较闭集标签噪声带来的影响较小。

扩展应用   模拟标签噪声数据上的标签修正文中展示了基于网络预测的标签修正应用,即利用训练好的Front6重标注训练数据。网络的输入是来自每条语音的chunk样本,而输出是对应于每个chunk的说话人标签,然后,如果某个预测标签在语音的多个chunk样本中出现的频率超过50%,就将该标签视为主导标签,且用该标签重新标注该条语音;如果某条语音不存在主导标签,那么该样本将被丢弃,因为它很可能是来自域外的噪声样本。文中在模拟出的闭集、开集和混合集标签噪声进行了验证,实验发现,标签修正将极大降低数据集中的标签噪声率,下图展示了使用标签修正后的数据重训练系统的实验结果,可以发现,系统的性能得到了进一步的提升。   NIST SRE04-10数据集上的标签修正

为了探究原始NIST SRE04-10数据集中是否存在标签噪声,作者将标签修正应用到了该数据集上,并结合NL-PLDA中的标签隐变量矩阵,筛选出了部分可能的噪声样本,然后通过人工验证的方式,发现筛选出来的样本很大一部分确实是噪声样本,噪声样本数量大约占NIST SRE04-10数据的1%。常见的标签噪声有:

  1. 性别错误:男(女)性说话人样本中混入女(男)性说话人语音;

  2. 非语音样本:部分音频为嘈杂噪声或静音,听不见说话人的声音。

作者在网上(http://dwz.date/fbC5)公开列举了NIST SRE04-10数据集中存在着的部分标签噪声示例,并发布了相对干净的说话人标签映射文件。如下表所示,剔除这些噪声样本后,重训练的基线系统在SRE18 CMN2任务上取得了更好的结果。此外,作者还探究了标签噪声对LDA的影响,更多实验结果请点击阅读原文。

参考文献 [1] S. Reed, H. Lee, D. Anguelov, C. Szegedy, D. Erhan, and A. Rabinovich, “Training deep neural networks on noisy labels with bootstrapping,” arXiv preprint arXiv:1412.6596, 2014.[2] D. Tanaka, D. Ikami, T. Yamasaki, and K. Aizawa, “Joint optimization framework for learning with noisy labels,” in Proc. CVPR, 2018, pp. 5552–5560.[3] J. Deng, J. Guo, T. Liu, M. Gong, and S. Zafeiriou, “Sub-center ArcFace: Boosting face recognition by large-scale noisy web faces,” in Proc. ECCV, 2020, pp. 741–757.[4] X. Wang, S. Wang, J. Wang, H. Shi, and T. Mei, “Co-mining: Deep face recognition with noisy labels,” in Proc. ICCV, 2019, pp. 9358–9367.[5] B. J. Borgstrom, “Bayesian estimation of PLDA in the presence of noisy training labels, with applications to speaker verification,” IEEE Trans. Audio, Speech, Lang. Process., vol. 30, pp. 414–428, 2022.

语音技术社群邀请函 

?

长按添加语音小管家

备注:姓名-学校/公司-研究方向-城市(如:张三-清华-语音合成-北京)即可申请加入语音之家语音合成/语音增强/声纹识别/说话人日志等技术交流群

每月大咖直播分享、求职内推、干货资讯汇总、与 5000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企语音开发者互动交流~


永久福利 直投简历

(简历投递):[email protected]

语音杂谈内推助力,leader直收简历

企业招聘旺季,推荐机会不容错过

觉得本篇文章不错?


① 点击右下角“在看”,让更多的人看到这篇文章;② 分享给你的朋友圈;③ 关注语音杂谈公众号。

扫码关注我们


语音人的技术客栈

专注于语音技术分享与干货推送

这篇关于论文分享:当声纹识别遇上标签噪声?前端和后端的系列优化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!