端到端的文本相关说话人确认

端到端的文本相关说话人确认

论文:Heigold G, Moreno I, Bengio S, et al. End-to-end text-dependent speaker verification[A]. ICASSP, IEEE International Conference on Acoustics, Speech and Signal Processing - Proceedings[C]. 2016, 2016-May: 5115–5119.

大数据训练是这篇论文的重点,端到端的模式产生了更加显著的性能。

摘要

在大数据的文本相关说话人确认中,G. Heigold 提出了一种端到端的系统,该系统将一段测试语音和一组注册语音进行匹配,直接投影为确认的得分。该方法由单个神经网络结构组成,采用联合优化的方式训练系统各个组成部分,包括确认评估的过程。在 “OK Google” 的测试场景中,提出的端到端方法优于 i-vector 系统和 d-vector,并实现了 EER 从 3% 到 2% 的提升。结果还表明:1)在说话人确认任务中,段层次的特征优于帧层次的特征;2)RNN 结构能够进一步达到 1.5% EER,但会产生 10 倍以上的计算量;3)softmax 损失可以进一步采用得分归一化、候选人采样和 dropout 层提供性能,但得分归一化对端到端模型没有提升效果。

引言

文本相关的说话人确认系统是一种通行短语受限的系统,常用的短语形式是密码、关键词、数字序列,这类短语的时长较短,例如 “OK Google” 短语大约 0.6 秒。这类系统常用于关键词发现系统和语音搜索系统。

G. Heigold 提出的系统是端到端的系统,即之间从语音建模,获得最终的评分,评分的过程会被整合到优化过程中。相对于级联的说话人确认系统,例如 i-vector 与 PLDA 的系统、d-vector 与 PLDA 的系统,减少了对特定知识的需求和模型的假设。

说话人确认的协议可以分为三部分:训练、注册与评估。

  • 训练:训练用于获得语音的说话人表示,进而用于得分计算。与说话人表示学习相关的因素有三种,分别是
    • 模型类型,例如高斯子空间、DNN
    • 表示层次,例如帧层次、段层次
    • 模型训练损失,例如最大似然、softmax
  • 注册:在注册阶段,一个说话人提供多个语音,这些语音用于估计说话人模型。常见的方法是将同一个人的多个语音的说话人向量(例如 i-vector, d-vector)取均值。
  • 评估:在评估阶段,计算测试语音与注册说话人模型之间的评分,其中注册说话人模型来自注册阶段。常见的方法有 Cosine 函数或者 PLDA。

方法

  • 基准 1:i-vector,具体地,13 PLPs + Delta + Delta Delta,1024 高斯成分,300-d i-vector

  • 基准 2:i-vector + PLDA,具体地,150-d i-vector,PLDA 在 2M_train 数据集上训练(4k 人,50 段语音/人)

  • 基准 3:帧层次 + DNN + softmax,训练方法与 d-vector 系统。

  • 基准 4:d-vector

    • 模型:输入 ↦ \mapsto DNN ↦ \mapsto Cosine

    • 输入:“OK Google”,约 0.6 秒,40 log-filterbanks,80 帧(snippet 最后的 80 帧,不满足则剪切或者补全开始未知),10 ms 帧间距。

    • DNN:504(ReLU) ↦ \mapsto 504(ReLU) ↦ \mapsto 504(ReLU) ↦ \mapsto 504(线性)

      • 嵌入:一段语音的所有帧输入 DNN,网络最后隐藏层的激活向量(线性层)输出,然后对所有帧进行取均值。
      端到端的文本相关说话人确认_第1张图片
    • Cosine:余弦函数 ↦ \mapsto t-norm 得分归一化, cos ⁡ ( x , y ) = x T y ∥ x ∥ ∥ y ∥ \cos(x,y)=\frac{x^Ty}{\|x\|\|y\|} cos(x,y)=xyxTy

    • 训练方法:批量大小 32,损失函数 softmax

    • 不足:d-vector 的 softmax 损失无法拓展到更多的数据,其原因如下:

      1. 随着训练集说话人的数量增加,计算复杂度线性增加;

      2. 每一个说话人需要一个最小数量以上的数据,用来估计针对说话人的权重和偏差。

  • 端到端模型

    • 模型:输入 ↦ \mapsto 端到端

    • 输入:与基准 3 相同,形式为:测试语音 1 段,注册语音 N 段

    • 端到端:神经网络 + Cosine + 逻辑回归,神经网络采用 d-vector 的神经网络结构或者 LSTM。

      • 损失函数:端到端损失 l e 2 e − log ⁡ p ( t a r g e t ) , t a r g e t ∈ { accept, reject } l_{e2e}-\log p(target), target\in \{\text{accept, reject}\} le2elogp(target),target{accept, reject} p ( accept ) = 1 1 + exp ⁡ ( − w ⋅ score − b ) p(\text{accept})=\frac{1}{1+\exp(-w\cdot\text{score}-b)} p(accept)=1+exp(wscoreb)1 p ( reject ) = 1 − p ( accept ) p(\text{reject})=1-p(\text{accept}) p(reject)=1p(accept)
      • 确认的得分阈值 − b / w -b/w b/w
      端到端的文本相关说话人确认_第2张图片
    • 训练方法:训练集训练整个网络,随后,注册集训练带偏差的一维逻辑回归;其它方式与 d-vector 相同。

  • 其它神经网络结构 LSTM:作为 DNN 的替换结构,单层隐藏层,504 阶段,无映射层,patch 大小 10 × 10 10\times10 10×10;输入与 DNN 相同,按帧沿时间顺序。

    • 嵌入:LSTM 最后的输出与损失函数连接,形成段层级说话人表示。
    端到端的文本相关说话人确认_第3张图片

数据

数据的基本情况如表 1 所示。

表1. 数据集情况
数据/统计 语音数量(增益后的数量) 说话人数量 人均语音数
train_2M 2M(9M) 4k >500
train_22M 22M(73M) 80k >150
注册数据 18k 3k 1-9
评估数据 20k 3k 3-5

数据集是来自匿名的语音搜索日志,“OK Google”,约 0.6 秒。训练数据 train_2M 与 train_22M 采用人工加噪声的方式进行增益,采用的噪声类型是车辆噪声、咖啡厅噪声,采用多种 SNRs,模拟说话人与麦克风的不同距离。模型与训练数据的关系见表 2 所示,DNN 与 LSTM 表示 d-vector 或者端到端的结构。

表2. 训练数据与模型的关系
训练数据/模型 i-vector PLDA DNN LSTM
train_2M YES 子集(4k 说话人,50段语音/人) YES YES
train_22M NO NO YES YES

系统性能

实验评估从三个方面测试端到端的性能以及和其它基准方法的差别:帧层次表示 vs. 段层次表示、softmax vs. 端到端损失、前馈 vs. 循环神经网络以及最优注册语音数。

帧层次表示 vs. 段层次表示

表 3 描述了帧层次特征与段层次特征之间的区别,其中 DNN 的线性层使用了 50% dropout 层。结果表明 d-vector 优于 帧层次表示。

表3. 帧层次与段层次的等误差率(EER)
表示层次 系统 原始 EER (%) t-norm 之后 EER (%)
帧层次 i-vector 5.77 5.11
i-vector + PLDA 4.66 4.89
DNN, softmax 3.86 3.32
段层次 d-vector 2.90 2.28

softmax vs. 端到端损失

表 4 描述了不同损失的模型性能。结果表明:1)t-norm 能够提升 softmax 损失 20 %;2)端到端方法通过不同噪声增益学习了归一化的得分,使得额外的得分归一化显得多余了;3)DNN softmax 初始化再进行端到端训练,能够实现 2.86% -> 2.25% 的提升。

表4. 不同损失的等误差率(EER),* 表示使用了候选人采样方法,使得 softmax 拓展到说话人数量
loss/训练数据 EER (%), 原始/t-norm 之后
train_2M train_22M
softmax 2.90 / 2.28 2.69 / 2.08 *
end-to-end 2.86 / 2.85 2.04 / 2.14

前馈 vs. 循环神经网络以及最优注册语音数

表 4 描述了不同端到端模型的性能。不同模型意味着不同模型规模和计算时间,LSTM 乘法与加分次数更多,超过 DNN 10 倍,但实现了最优的性能。

表 5 描述了不同注册语音数量与 DNN 性能的关系。结果表明 5 段注册语音相对最优,1 段注册语音也有 2.25% EER。

表4. 不同模型的端到端的等误差率(EER),* 表示 t-norm 评分归一化的、在较小训练集上的结果
模型 帧层次 DNN 基准(基准 3) 小型 DNN 最好 DNN (5 隐藏层) LSTM
EER(%) 3.32 * 2.04 1.87 1.36
表5. 注册语音数量与 DNN 性能的关系,DNN 是 1 局部连接隐藏层 + 3 全连接隐藏层
注册语音数量 1 2 5(默认) 10 16
EER(%) 2.25 2.13 2.04 2.15 2.39

参考文献

  1. Chen Y, Lopez-Moreno I, Sainath T N, et al. Locally-Connected and Convolutional Neural Networks for Small Footprint Speaker Recognition. 16th Annual Conference of the International Speech Communication Association. 2015: 1136–1140.

作者信息:

CSDN:https://blog.csdn.net/i_love_home?viewmode=contents

Github:https://github.com/mechanicalsea

2019级同济大学博士研究生 王瑞 [email protected]

研究方向:说话人识别、说话人分离

你可能感兴趣的:(说话人识别,算法,深度学习,神经网络,深度学习,说话人识别,端到端,Google)