论文
论文:SPEAKER DIARIZATION WITH SESSION-LEVEL SPEAKER EMBEDDING REFINEMENT USING GRAPH NEURAL NETWORKS
摘要
深度说话人嵌入被广泛应用在声纹分割聚类系统中,但是这些说话人嵌入通常是根据定义在训练数据上的全局损失进行训练,在某些特定会议会话场景中区分说话人这可能不是最佳选择。在这个工作中我们第一次展示了在声纹分割聚类问题中使用图网络,利用图神经网络使用每个会话内的结构信息对说话人嵌入进行局部改进。通过一个预训练的模型提取的说话人嵌入被重新映射到一个新的嵌入空间中,在这个空间中一个单独的会话中的不同人会更容易分离。这个模型以一种有监督的方式训练,通过最小化由改进的嵌入构建的亲和矩阵与ground-truth邻接矩阵的差异。在对说话人嵌入改进过后使用谱聚类。每个语音片段的说话人嵌入被提取作为结点的特征。x-vec和d-vec分别对应的结点之间边的权重被PLDA打分或余弦相似性表示。我们仅仅保持边的权重大于一个作为超参数的阈值。
模型结构
基于图的声纹分割聚类
语音段图的构建
使用预训练的说话人嵌入为每个会话构建一个图,每个结点表示一个语音片段,这个片段可以是词水平、话语水平以及使用一个固定大小的滑动窗口提取的。
符号 | 表示 |
---|---|
G(V, ε, A) | 每个会话可以被表示为图 |
V | 结点集合(语音片段) |
ε | 边的集合 |
A ∈ N × N | A是亲和矩阵Aij>0表示边eij = (vi, vj)存在,反之则不存在 |
X ∈ RN×D | X表示图上所有的结点特征 |
N | 语音片段的数量 |
D | 嵌入空间的维度 |
图神经网络
使用信息传递机制表示卷积操作:
符号 | 表示 |
---|---|
xi | 当前层维度为D的结点特征 |
x’i | 下一层维度为D’的结点特征 |
ei,j | 结点i到结点j的边的特征 |
γ(·) | 被Θ参数化的更新函数 |
φ(·) | 被Θ参数化的消息函数 |
| 聚合函数,e.g.,sum, mean, max, etc. |
这里使用GCN(图卷积网络),表示取邻接点的某一加权平均值,两层之间的更新机制为:
符号 | 表示 |
---|---|
L = ˆD−1/2 ˆA ˆD−1/2 | 通过自连接相加的归一化亲和矩阵 |
Aˆ = A + IN | |
Dˆ | Aˆ的度矩阵 |
W ∈ RD’×D | 分层可训练的权重矩阵 |
σ(·) | 非线性函数(或者说激活函数) |
模型设计
我们的模型由两部分组成:编码组件和一个打分组件。其中GNN层被用作编码组件,在层与层之间不适用非线性函数,因为说话人嵌入已经被训练过了,使用非线性函数会使其丢失信息导致更差的结果。编码组件产生一个改进的嵌入,每一个嵌入对被串联起来作为打分组件的输入。由于x-vec和d-vec的不同特性,需要设计不同的打分组件:
向量 | 打分函数 | 原因 |
---|---|---|
d-vec | cosin(余弦距离) | 由于原始的d-vec被训练成可以通过一个简单的距离度量进行比较,我们继续使用这个距离度量来对改进的嵌入进行评分。 |
x-vec | FCN+非线性函数 | 对于x向量,通常会训练一个额外的分类器,例如PLDA来测量相似度。这里在GNN之后增加一个带非线性函数的全连接层。 |
损失函数
训练GNN的损失函数被定义为关于改进的嵌入的亲和矩阵和ground-truth邻接矩阵之间的差异。
向量 | 损失函数 |
---|---|
x-vec | 二元交叉熵损失函数 |
d-vec | L = hist_loss(A,Agt) + α · |A−Agt|nuclear |
对于d-vec的损失函数:
符号 | 表示 |
---|---|
hist_loss | 直方图损失 |
||·||nuclear | A和Agt之间的核范数 |
Agt | the ground-truth adjacency matrix |
α | 一个标量值(超参数) |
谱聚类
我们使用谱聚类作为后端方法。然而为了检测说话人的数量,我首先在改进的亲和矩阵上执行特征分解,然后由大于给定阈值的特征值的个数确定说话人的数量。
数据集
结果
使用x-vec进行实验
上表中的DER是speaker diarization error rate。