【ECAPA-TDNN 上】论文阅读

ECAPA-TDNN论文列表

  • 摘要
  • 2 DNN说话人识别系统
    • 2.1 Extended-TDNN x-vector
    • 2.2 ResNet-based r-vector
  • 3 提出ECAPA-TDNN架构
    • 3.1 Channel- and context-dependent statistics pooling
    • 3.2 1-Dimensional Squeeze-Excitation Res2Blocks
    • 3.3 Multi-layer feature aggregation and summation
  • 4 实验设置
    • 4.1 训练说话人嵌入码提取
    • 4.2 说话人识别
    • 4.3 评估协议
  • 5 结果
  • 结论

摘要

在本文中,我们基于人脸验证和计算机计算机视觉相关领域的最新趋势,提出了对TDNN的多种改进。首先,初始的帧层可以重组为一维的Res2Net模块,具有有效的跳跃连接。与SE-ResNet类似,我们在这些模块中引入了压缩和激励模块,以显式地对通道相互依赖进行建模。SE-block根据record的全局属性通过重新缩放信道来扩展帧层的时间上下文。其次,已知神经网络学习层次特征,每一层操作在不同的复杂性水平。为了利用这个复杂的信息,我们聚合和传播不同层次的特征。最后,我们改进了具有信道依赖框架注意的统计池模块。这使得网络能够在信道的统计估计过程中关注不同的帧子集。

2 DNN说话人识别系统

两种基于DNN的说话人识别架构将作为基线来评估我们提出的架构:一种是基于x-vector的系统,一种是基于ResNet的系统,这两种架构在当前说话人识别任务如VoxSRC上表现最佳。

2.1 Extended-TDNN x-vector

第一个基线系统是扩展的TDNN x-vector架构,是对原始x-vector系统的改进。初始帧层由一维扩张卷积层和密集层交叉而成。每一个滤波器都能访问前一层或者输入层的所有特征。扩张卷积层的任务是逐渐的建立时间上下文。所有的帧级层都引入了残差连接。帧层之后是一个注意力统计层,该层计算最终帧级特征的均值和标准差。注意力系统允许模型选择它认为相关的帧。在统计层之后,是两个全连接层,第一个全连接层相当于bottleneck layer,用来生成低维的说话人特征嵌入码。

2.2 ResNet-based r-vector

第二个基线系统是r-vector系统。基于resnet18和resnet34实现。这个网络的卷积帧层将特征作为二位信号处理,然后在池化层中组织均值和标准差统计量。更多参考文献[4]。

3 提出ECAPA-TDNN架构

在这个章节,我们将研究x-vector的一些局限性,并在我们的ECAPA-TDNN中提出解决方案。以下小节介绍框架级和池级的增强。图2给出了完整体系结构的概述。

3.1 Channel- and context-dependent statistics pooling

在最近的x-vector架构中,软自注意力被用来计算时间池化层中的加权统计。多头注意力机制的成功展示了确定说话人的属性可以在不同的帧集上被提取出来。基于这些结果,我们认为,将时间注意力机制进一步扩展到通道维度是有益的。这使得网络能够更多的关注说话人的特征,而不是激活相同或者相似的时间实例,例如,说话人特有的元音属性与说话人特有的辅音属性。
我们将注意力机制调整为通道的:
在这里插入图片描述
ht为时间步长t时的最后一帧层的激活。参数W(RC)和b(R1)将自注意力的信息投影到一个更小的R维度表示中,该表示在所有C通道中共享,以减少参数计数和过拟合风险。在非线性层f(.)之后,这个信息通过权重vc(R*1)和偏差kc的线性层转化为依赖通道的自注意力分数。然后再所有帧上通过再信道上应用softmax函数将标量分数et,c归一化。
在这里插入图片描述
自注意力分数αt,c表示给定通道下每帧的重要性,用于计算通道c的加权统计量。对于每一个话语,加权平均向量μ的信道分量μc估计为:
在这里插入图片描述
加权标准差向量σ的通道分量σc构造如下:
在这里插入图片描述

池化层的最终输出由加权平均μ和加权标准差σ的向量串联得到。
另外,通过允许自注意力观察话语的全局属性,我们扩展了池化层的时间上下文。我们将(1)中的局部输入ht与ht在时域的全局非加权平均值和标准偏差连接起来。这个上下文向量应该允许注意力机制适应话语的全局属性,如噪音或录音条件。

3.2 1-Dimensional Squeeze-Excitation Res2Blocks

在原始的x-vector系统中,帧级的时间上下文限制为15帧。由于网络显然受益于更广泛的时间上下文,我们认为,考虑到录音的全局属性,就像上述注意力模块中的全局背景一样,重新缩放帧级特征可能是有益的。为此,我们引入了一维SE blocks,这种方法对于全局通道相互依赖关系的建模已经在计算机视觉领域被证实是成功的。
SE block的第一个组成部分是压缩(squeeze)操作,为每一个通道生成一个描述符。压缩操作包括计算时间域的帧级特征的均值向量z
在这里插入图片描述
在激励操作中使用z中的描述符来计算每个通道的权重,我们定义后续的激励操作为:
在这里插入图片描述在这里插入图片描述
该操作作为bottleneck layer,C为输入通道数,R为降维数。得到的向量s包含介于0和1之间的权值sc,这些权值通过通道乘法作用于原始输入:
在这里插入图片描述
一维的SE-block可以以各种方式集成到x-vector中,在每次扩张卷积后使用它们是最直接的方法。但是,我们希望它们与残差连接的优点结合起来。
同时与基线系统相比不想增加太多的参数总量。图1所示的SE-Res2Block包含了上面提到的需求。我们包含扩展卷积与前后密集层与上下文的一帧。第一个密集层用于降低特征维度,第二个密集层用于将特征数量恢复到原始维度。接下来是一个SE-block来缩放每一个通道,整个单元由一个跳跃连接覆盖。
使用这些传统的resblock可以很容易地整合与这个流行的计算机视觉体系结构相关的改进。例如,最近的Res2Net模块[16]增强了中心卷积层,这样它就可以通过构建内部的分层残差连接来处理多尺度特征。该模块的集成提高了性能,同时显著减少了模型参数的数量。
【ECAPA-TDNN 上】论文阅读_第1张图片

3.3 Multi-layer feature aggregation and summation

原始的x-vector系统只使用最后一帧层的特征图来计算合并的统计量。鉴于TDNN的层次性质,这些更深层次的特征是最复杂的,应该与说话人的身份密切相关。然而,由于[17,18]中的证据,我们认为,更浅的特征图也可以有助于更稳健的说话人嵌入码。对于每一帧,我们提出的系统将所有SE-Res2Blocks的输出特征映射连接起来。多层特征聚合(MFA)之后,密集层处理连接的信息,生成关注统计池的特征。
另一种利用多层信息的互补方法是使用前面所有SE-Res2Blocks的输出和初始卷积层作为每个帧层块的输入[17,19]。我们通过将每个SE-Res2Block中的剩余连接定义为前面所有块输出的和来实现这一点。我们选择特征映射的总和而不是连接来限制模型参数计数。没有累加剩余连接的最终架构如图2所示。

【ECAPA-TDNN 上】论文阅读_第2张图片

4 实验设置

4.1 训练说话人嵌入码提取

我们使用固定条件的VoxSRC 2019训练限制[12],只使用带有5994个说话人的VoxCeleb2数据集[11]的开发部分作为训练数据。大约2%的数据被保留为超参数优化的验证集。众所周知,神经网络受益于生成额外训练样本的数据增强。我们为每个话语生成总共6个额外的样本。第一组增强遵循Kaldi recipe[2],结合公开可用的MUSAN数据集(babble, noise)[20]和[21]中提供的RIR数据集(混响)。其余三个增强是使用开源SoX (tempo up, tempo down)和FFmpeg(交替opus或aac压缩)库生成的。
输入特征是来自25毫秒窗口80维mfcc帧移10毫秒。采用倒谱平均减法对特征向量进行二次随机归一化,不进行语音活动检测。作为最后一个增强步骤,我们将SpecAugment[22]应用于样本的log mel谱图。该算法在时域随机掩码0 ~ 5帧,在频域随机掩码0 ~ 10通道。
使用[23]中描述的triangular2策略,结合Adam优化器,所有模型都以在1e-8和1e-3之间变化的周期性学习率进行训练。一个周期的持续时间设置为130k次迭代。所有系统都使用AAM-softmax进行训练,余量为0.2,softmax预标为30,共4个周期。为了防止过拟合,我们对2e-5模型中的所有权值进行权值衰减,除了AAM-softmax权值,它使用2e-4。用于训练的批量是128
我们研究了提出的ECAPA-TDNN体系结构的两种设置,在卷积帧层中包含512或1024通道。SE-Block和注意模块中的瓶颈尺寸被设置为128。Res2Block[16]中的尺度维度 s被设置为8。最终全连接层的节点数为192。该系统的性能将与第2节中描述的基线进行比较。

4.2 说话人识别

说话人嵌入码是从所有系统的最终完全连接层中提取的。试验分数是使用嵌入之间的余弦距离产生的。随后,使用自适应s-范数对所有分数进行归一化[26,27]。冒名顶替者队列由所有训练话语长度归一化嵌入的说话者平均组成。对于VoxCeleb测试集,冒名顶替者队列的大小被设置为1000,而对于交叉数据集VoxSRC 2019评估,则设置为更稳健的50。

4.3 评估协议

该系统在流行的VoxCeleb1测试集[10]和VoxSRC 2019评估集[12]上进行评估。性能将通过提供Ptarget = 10 2和CF A = CMiss = 1的等误差率(EER)和最小归一化检测成本MinDCF来衡量。一个简明的消融研究用于更深入地理解每个提议的改进是如何影响性能的。

5 结果

表1给出了第2节中描述的基线系统和我们建议的ECAPA-TDNN系统的性能概述,以及嵌入码提取器中的模型参数数量。我们实现了两个设置,卷积层中的滤波器C的数量设置为512或1024。我们提出的架构在使用更少的模型参数的情况下显著优于所有基线。对于每个测试集,较大的ECAPA-TDNN系统提供了18.7%的EER和12.5%的MinDCF的平均相对改善。我们注意到,在大多数情况下,基线的性能超过了[3,4]中报告的数据。我们继续在第3节中介绍的单个部件的消融研究。表2给出了这些结果的概述。
【ECAPA-TDNN 上】论文阅读_第3张图片
为了测试我们提出的注意力模块的影响,我们进行了实验A.1,使用了[8]中的注意力模块。同时进行了A.2实验,在这个实验中没有使用上下文向量和注意力。依赖于通道和上下文的统计池系统将EER和MinDCF度量分别提高了9.8%和3.2%。这证实了对于每个通道提高不同时间注意力的好处。添加上下文向量即使是很少的性能增益,但是加强了我们的想法,基于TDNN的架构应该尝试利用时间上下文。
实验B.1证实了SE-block的重要性。在Res2Blocks中合并SE模块可以在EER中相对提高20.5%,在MinDCF度量中相对提高11.9%,这表明,帧级特征中有限的时间上下文是不够的,应该用全局话语信息来补充。在实验B.2中,们用ResNet对应的标准中央扩张1D卷积替换了Res2Blocks的多尺度特征。除了模型参数相对减少了30%,多尺度Res2Net方法还导致EER相对提高了5.6%,MinDCF相对提高了3.2%。
在实验C.1中,只使用最终的SERes2Block的输出,而不是聚合所有SERes2Block的信息。对产出的汇总导致了8.2%的EER和2.8%的MinDCF值的相对改善。去除所有残留连接(实验C.2)显示出相似的降解速率。将SE-Res2Blocks中标准的ResNet跳过连接替换为之前所有SE-Res2Blocks输出的总和,将EER提高了6.5%,同时略微降低了实验C.3中的MinDCF分数。然而,在最近举行的短持续时间发言者验证(SdSV) 2020[28]挑战赛中进行的实验说服我们在最终的ECAPA-TDNN架构中加入了残差求和。在这个挑战中的强大结果表明,该体系结构可以很好地推广到其他领域[29]。

结论

在这篇论文中我们提出了ECAPA-TDNN,一个新的基于TDNN的说话人嵌入码提取器。我们在原有的x-vector架构基础上进一步的发展,更加注重通道注意,传播和聚合。在VoxCeleb和VoxSRC 2019评估集上,压缩激励块,多个尺度的Res2Net功能,额外的跳过连接和依赖通道的注意力统计池的结合,使得EER相较基线系统有19%的显著改善。

你可能感兴趣的:(声纹识别,论文阅读笔记,论文阅读笔记,论文翻译,算法)