VoxCeleb 说话人识别挑战
VoxSRC 消息:
2020 VoxCeleb Speaker Recognition Challenge (VoxSRC) 将联合 Interspeech 国际会议于 2020 年 10 月 30 日在上海举办。
摘要
“Speaker recognition in the wild” 是一项非常具有挑战性的任务,需要面对语音中各种不确定性,例如复杂的噪声、不同程度的背景音、短促的笑声等情况。针对这一问题,可以在 VoxSRC 提供的语料及其各种模型的实验结果,寻找合适的语音段编码器,设计合理的度量学习模型,分析造成性能降低的数据因素,都将成为提升识别性能的潜在解决方案。本文就 VoxSRC 提供的实验结果和相关的论文进行归纳、总结与展望。
VoxSRC
2020 VoxCeleb Speaker Recognition Challenge (VoxSRC) 旨在研究现有的说话人识别方法对来自 “in the wild” 语音数据的识别效果。这次挑战提供了来自 YouTube 名人访问视频的语音语料。相对传统的电话、麦克风语音,这类数据集包含更多的干扰与不确定性。
此次挑战分为 3 项任务,分别是:
- 特定训练数据的说话人确认监督任务(Fixed-Full):VoxCeleb2 dev 数据集作为训练数据;
- 训练数据不受限的说话人确认监督任务(Open-Full):训练数据可以使用 VoxSRC 测试数据以外的任意数据集;
- 特定训练数据说话人确认自监督任务(Fixed-Self):VoxCeleb2 dev 数据集作为训练数据,但无法使用说话人的标签,但可以使用除此以外的其它标签,例如跨模态的视觉帧,但无法使用任意模态的预训练模型。
竞赛举办方为任务 1 与 2 提供了说话人确认监督学习的基准,为任务 3 提供了说话人确认自监督学习的基准。
根据 3 个任务场景,不难看出主办方对于竞赛的想法,针对固定的评估数据:
- 针对任务 1,训练集是固定的,该任务旨在设计最佳的学习算法;
- 针对任务 2,训练集是开放的,该任务除了设计合理的学习算法,还需要选择能够提高评估数据性能的训练数据,因此,该任务旨在跨领域的知识迁移;
- 针对任务 3,训练集是固定的,无说话人标签,存在跨域标签,该任务旨在跨任务的知识迁移。
根据对 3 个任务的分析,可以发现三个任务是依次递进、逐渐复杂的。为了解决这些问题,学习方法的设计、迁移学习方法、跨领域/任务的方法会有利于改善这些问题。
度量学习与编码器
论文 Exploring the Encoding Layer and Loss Function in End-to-End Speaker and Language Recognition System 讨论了几种(段层次)编码器和几种损失函数对说话人识别性能的影响,其中编码器包含 temporal average pooling (TAP)、self-attentive pooling (SAP) 和 learnable dictionary encoding (LDE),损失函数包含 Softmax、Center 和 augular softmax (ASoftmax),并将这些编码器和损失函数整合到端到端模型中,评估算法在 VoxCeleb1 数据集上的效果。以 Cosine 作为评分函数,性能(低于 4.90% EER)的排名分别是:
LDE-ASoftmax (4.56) > TAP-Center (4.75) > SAP-ASoftmax (4.90)。
论文 In defence of metric learning for speaker recognition 讨论了多种损失函数(包含分类损失和度量学习)对 CNN 学习算法的影响,并在 VoxCeleb 数据集上分别评估 VGG-M-40 模型和 Thin ResNet-34 模型的性能,该评估方式与 VoxSRC 任务 1 (Fixed-Full) 一致,其中损失函数包含:
- 分类目标:Softmax、AM-Softmax (CosFace) 和 AAM-Softmax (ArcFace);
- 度量学习目标:Triplet、Prototypical、Generalised end-to-end (GE2E) 和 Angular Prototypical。
以 10 × 10 10 \times 10 10×10 对的 ∥ ⋅ ∥ \Vert\cdot\Vert ∥⋅∥ 的平均值作为评分函数,不同损失函数的性能(仅考虑 Thin ResNet-34,因为这里 VGG-M-40 性能较差)排名分别是:
分类目标:AAM-Softmax (2.36) > AM-Softmax (2.40) > Softmax (5.82)
度量学习目标:Angular Prototypical (2.21) > Prototypical (2.34) > GE2E (2.52) > Triplet (2.53)
分类目标中,相比较 AM-Softmax,AAM-Softmax 对算法参数更加敏感,从在 2.36 ~ 10.55 的波动;对比分类损失,度量学习能够更实现更优的性能。
从数据集上看,VoxCeleb2 作为训练数据,对于 VoxCeleb1 的提升效果非常明显,即从 4.56% EER 改善到 2.21% EER,50% 的提升量,可以猜想:数据集的补充,有利于学习算法的改进。
高维度数据可视化 TSNE
说话人的特征表示,在解释性上,仍然存在很大的障碍,很多时候,很难了解学习到的说话人特征是怎么样的。2008 年发布的 TSNE 可视化方法,提供了一种高维数据转化为低维流形的方法,为说话人表示提供了一种可行的可视化方案。
TSNE 提供了一种高维特征距离投影为低维特征距离的方法,采用了基于概率的模型来刻画数据点上的距离,其学习过程类似一种数据合成的迭代方法,可以大胆地想象:如果直接将这类方法引入说话人建模,能够改善说话人特征的解释性。
考虑到这类方法的实用性,笔者寻找了 sklearn
关于 TSNE 的实现,它提供了一个手写数字的案例:
from time import time
import numpy as np
import matplotlib.pyplot as plt