PacNet

背景

短语音不足以收集到足够的帧来学习音素信息,不同说话人的相同语句的相似度,可能大于同一个人不同语句的相似度。

实现流程
PacNet

acoustic stem的输入为40维Fbank,phonetic stem的输入为100维ASR bottleneck features。
两个stem由中间的couple stem连接,第一层的couple stem的输入为Fbank与ASR bottleneck features的连接,之后每层的输入为acoustic stem、couple stem、phonetic stem的输出的连接。

PacNet对帧级别的特征进行操作,且三个Stem的channel、stride等保持相等。
PacNet

网络的每个Stem都专注于学习不同的信息。acoustic的目的是直接从fbank中提取说话人的embedding。phonetic stem,找出ASR bottleneck features的transformation。coupled stem在知道frame的phonetic transformation时,提取更加speaker-related的说话人信息。

为何使用triplet loss:

softmax不存在两段utterance的比较,分类时不需要学习其他sample的acoustic and phonetic information,无法知道phonetic content是否影响了打分。
而triplet loss可以惩罚“不同说话人说同一句话,导致离得很近”的sample。

实验

dataset:
NIST SRE 04-10作为训练集,SRE10 Evaluation作为测试集,并全部剪成10秒。另外,用Fisher cor-
pus训练了ASR bottleneck features。
同时还使用了VoxCeleb进行evaluation。

Baseline:
与i-vector、x-vector进行了比较。其中x-vector为512维,用LDA将其降维到150,用PLDA进行打分。

Triplet Loss Framework:

训练了一个TDNN-based triplet loss network,提取了1000维的embedding,每个epoch都使用semi-hard random negative selection strategy,选择新的triplet training set,且都来自同一种性别。用欧氏距离度量。

PacNet:

用欧氏距离度量
PacNet
PacNet

本文的模型在NIST SRE10上取得了较好的结果,但在voxceleb上的结果一般。

end-to-end triplet system与x-vector相比,结果有退步。考虑到voxceleb的复杂性,以及triplet loss难以训练,这并不奇怪。
PacNet

在voxceleb1上,PacNet虽然取得了最好的结果,但并不像NIST上那么突出。
VoxCeleb数据集是在不受约束的条件下从开源媒体收集的,它提供了一个更接近真实世界问题的数据集。然而,由于收集过程不受控制,说话人information与channel information交织。例如,dataset包括了各种不同的语言,但没有任何语言标签。无法知道模型是真的在试别说话人的声音,还是部分地试图识别其他与channel相关的信息,如录音设备、语言、背景噪音。

上一篇:序列类型:字符串、列表和元组


下一篇:【2021】2月1日-2月7日