深度声纹:一种端到端的神经声纹嵌入系统

摘要:

简介:该论文提出了Deep Speaker,这是一种采用神经网络对说话人进行向量嵌入的系统(a neural speaker embedding system),该系统将说话方式(utterances)整理到一个超球面上,在该超球面上,通过余弦相似度计算说话人的相似度。

应用场景:说话人身份辨别、确认、聚类。

方法:用ResCNN和GRU结构提取声学特征,用均值池化产生声学级别的speaker embeddings,采用基于余弦相似度的triplet loss进行训练。

结果:在三个不同数据集上的实验结果表明,Deep Speaker 表现优于DNN-based i-vector baseline。例如,在一个文本无关的数据集上,相对减少了50%的身份验证错误率,提高了60%身份辨别准确率。此外,实验也表明采用普通话训练出来的模型,可以提高英语说话人的识别准确率。

1、引言

基础知识点1:Speaker recognition

algorithms用于从音频数据识别说话人。主要分为两种,其一:speaker verification,说话人身份验证(二分类任务,是否为某说话人);其二,speaker identification,说话人身份鉴别(多分类任务,谁在说话)。

基础知识点2: Speaker

recognition按输入的数据分为两类:其一,text-dependent recognition,要求说话人发出特定句子的声音;其二,text-independent recognition,随便说话,不要求特定的说话内容。

业界行情1:Speaker recognition到目前为止还是一项挑战性任务。

基础知识点3:传统Speaker

recognition基于i-vectors 和 probabilistic liner discriminant analysis(PLDA,概率线性判别分析),该框架主要分为三步:1、收集足够的统计数据(sufficient statistics);2、提取说话人特征向量(speaker embeddings, i-vector);3、分类(PLDA)。

基础知识点4:sufficient statistics (也称为Baum-Welch statistics),可以通过高斯混合模型-通用背景模型(Gaussian Mixture Model-Universal Background Model,GMM-UBM)来计算,该模型采用序列类型的特征向量(如梅尔倒谱系数,mel-frequency cepstral coefficients ,MFCC)进行优化。最近,深度神经网络(DNN)也被用来提取sufficient statistics。

基础知识点5:传统方法上述三步操作相互独立。而基于DNN的方法则可以结合第一步和第二步进行训练,其中间瓶颈层(intermediate bottleneck layer)提供的帧级向量,可以用于不包含在训练集中的说话人。然而,该方法至少有两个主要问题,(1)步骤一和步骤二不是直接针对speaker recognition进行优化;(2)训练与测试不协调(mismatch),训练用的是帧级别(frame-level)的标签,测试用的是表达级别(utterance-level)的标签。

本文算法结构概览1:(1)用DNN(ResCNN和GRU)从说话方式提取帧级别特征。(2)池化和长度归一化层产生表达级别(utterance-level)的speaker embeddings。(3)模型采用triplet loss训练,即最小化同一说话人的向量对之间的距离,并最大化不同说话人的向量对之间的距离。(4)预训练采用softmax层和交叉熵提高模型表现。

基础知识点6:CNN可以有效减少声音特征的光谱变更(spectral variations),并对声音特征的声谱模型相关性(spectral correlations)进行建模。

本文算法结构细节1:不同于类似PLDA的损失函数,本文的损失函数是本文DNN训练出来的 能直接反应表达相似度 的嵌入向量的相似度。

本文算法结构细节2:不是在同一小批次训练数据负采样,而是采用全局负采样,从而提高训练速度。

本文结论1:Deep Speaker显著优于DNN-based i-vector

text-independent speaker recognition systems,在text-dependent recognition,Deep Speaker 可以达到基准线,若经过text-independent调试模型后,可以提高text-dependent recognition。

本文结论2:(1)Deep Speaker在大规模数据表现良好;(2)不同语种之间迁移表现良好。

2、相关工作

基础知识点7:PLDA可用于计算向量相似度,其变种方法有heavy-tailed PLDA、Gauss-PLDA。

3、Deep Speaker

总体结构:

3.1 DNN结构

3.1.1 Residual CNN

批量归一化:We adopt sequence-wise batch normalization (BN) between the convolution and the nonlinearity, following [18]。

激活函数clipped rectified linear (ReLU) function:

3.1.2 GRU

GRU采用的是forward-only GRU;

层之间同样使用了BN和clipped ReLu。

3.2 Speaker Embedding

3.3 Triplet Loss and Selection

相似度计算公式:

损失函数公式:

其中,

要点:全局寻找负样本,而不是仅在本批次寻找负样本。

Triplet loss 可参考https://blog.csdn.net/jcjx0315/article/details/77160273

3.4 Softmax Pre-training

预训练(用预训练得到的权重去初始化正式训练的权重):用分类层(softmax + cross entropy)替换length normalization 和triplet loss层。

预训练的好处:

注:有预训练的那条线,前10次采用了softmax预训练,后15次采用triple正式训练,所以导致ACC和EER的突变。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容