ECAPA-TDNN: Emphasized Channel Attention, Propagation and Aggregation
目录
- ECAPA-TDNN: Emphasized Channel Attention, Propagation and Aggregation
- 摘要
- 1 介绍
- 2 DNN说话人识别系统
- 2.1 Extended-TDNN x-vector
- 2.2 基于ResNet的r-vector
- 3 提出的ECAPA-TDNN架构
- 3.1 依赖于通道和上下文的统计池
- 3.2 1维Squeeze-Excitation Res2Blocks
- 3.3 多层特征聚合与求和
- 4 实验设置
- 4.1 说话人嵌入提取器的训练
- 4.2 说话人验证
- 4.3 评估方案
- 5 结果
- 6 结论
- 参考文献
摘要
目前的说话人验证技术依赖于神经网络来提取说话人的表征。成功的x-vector架构是一个时延神经网络(TDNN),它应用统计池化将变长语句投影到表征嵌入的定长说话人中。本文基于人脸验证和计算机视觉相关领域的最新趋势,对该架构提出了多种增强。首先,将初始帧层重构为具有有效跳跃连接的1维Res2Net模块;与SE-ResNet类似,在这些模块中引入了挤压和激发块,以显式地对通道相互依赖性进行建模。SE块根据记录的全局特性重新缩放通道,扩展帧层的时间上下文。其次,众所周知,神经网络可以学习分层特征,每一层的复杂度都不同。为了利用这些互补的信息,我们聚合和传播不同层次的特征。最后,我们利用信道相关的帧注意对统计池模块进行了改进。这使得网络在每个信道的统计估计期间专注于不同的帧子集。提出的ECAPA-TDNN架构在VoxCeleb测试集和2019年VoxCeleb说话人识别挑战赛上的表现明显优于最先进的基于TDNN的系统。
关键词
说话人识别,说话人验证,深度神经网络,x-vectors,通道注意力
1 介绍
近年来,x-vectors[1]及其后续改进[2,3,4]一直在说话人验证任务上提供了最先进的结果。对原始时滞神经网络(TDNN)架构的改进是一个活跃的研究领域。通常,神经网络是针对说话人识别任务进行训练的。收敛后,可以从输出层之前的瓶颈层提取低维说话人嵌入,以表征输入录音中的说话人。说话人验证可以通过比较与登记和测试录音相对应的两个嵌入来完成,以接受或拒绝两个录音包含相同说话人的假设。我们可以使用一个简单的余弦距离来进行比较。此外,还可以训练更复杂的评分后端,如概率线性判别分析(PLDA)[5]。
x-vector系统的日益流行导致了显著的架构改进和比原始方法更优化的训练过程[6]。系统的拓扑结构通过加入流行的ResNet[7]架构的元素而得到改进。在帧级层之间添加残差连接已被证明可以增强嵌入[3,4]。此外,残差连接使反向传播算法收敛更快,有助于避免梯度消失问题[7]。
x-vector系统中的统计池化层通过跨时间收集隐藏节点激活的简单统计信息,将变长输入投影到固定长度的表示中。[8,9]中的作者为这个池化层引入了一个时间自注意力系统,它允许网络只关注它认为重要的帧。它也可以解释为语音活动检测(VAD)的预处理步骤,以检测无关的非语音帧。
本文提出对TDNN架构和统计池化层的进一步架构增强。我们引入了额外的跳跃连接来在整个系统中传播和聚合通道。使用全局上下文的通道注意力被纳入帧层和统计池化层中,以进一步改善结果。
本文的结构如下:第2节将描述当前最先进的说话人识别系统,这些系统将被用作基线。第3节将解释并引出我们所提出的架构的新颖组件。第4节将解释我们的实验设置,以测试我们的架构中各个组件对流行的VoxCeleb数据集[10,11,12]的影响。我们将在第5节讨论这些实验的结果。此外,还将提供流行的最先进基线系统之间的比较。第6节将简要概述我们的发现。
2 DNN说话人识别系统
两种基于DNN的说话人识别架构将作为强有力的基准来衡量我们提出的架构的影响:x-vector和基于ResNet的系统,它们目前都在VoxSRC[12]等说话人验证任务上提供了最先进的性能。
2.1 Extended-TDNN x-vector
第一个基线系统是扩展的TDNN x-vector架构[2,3,4],它改进了[1]中引入的原始x-vector系统。初始帧层由一维扩张卷积层与密集层交织组成。每个滤波器都可以访问前一层或输入层的所有特征。扩张卷积层的任务是逐步建立时间上下文。在所有帧层中引入残差连接。帧层之后是一个带注意力的统计池化层,计算最终帧级特征的均值和标准偏差。注意力系统[8]允许模型选择它认为相关的帧。在统计池化后,引入2个全连接层,以第1层作为瓶颈层生成低维说话人特征嵌入。
2.2 基于ResNet的r-vector
第二个基线系统是[4]中提出的r-vector系统。它基于成功的ResNet架构[7]的ResNet18和ResNet34实现。该网络的卷积帧层在池化层收集均值和标准差统计之前,将特征处理为二维信号。有关拓扑的更多详细信息,请参见[4]。
3 提出的ECAPA-TDNN架构
在本节中,我们将研究x-vector架构的一些限制,并在我们的ECAPA-TDNN架构中纳入潜在的解决方案。下面的小节将重点介绍帧级和池级的增强。图2给出了完整架构的概述。BN表示批量归一化[13],除非另有说明,否则非线性为修正线性单元(ReLU)。
图2:ECAPA-TDNN的网络拓扑结构。我们用 k k k表示核大小, d d d表示Conv1D层或SE-Res2Blocks的膨胀间隔。 C C C和 T T T分别对应中间特征映射的通道维度和时间维度。 S S S是训练集说话人的数量。
3.1 依赖于通道和上下文的统计池
在最近的x-vector架构中,软自注意力被用于计算时间池化层[8]中的加权统计。多头注意力的成功应用表明,可以在不同的帧集上提取出说话人的某些特性[9]。鉴于这些结果,本文认为将这种时间注意力机制进一步扩展到通道维度可能是有益的。这使得网络能够更多地关注在相同或相似的时间实例上不会激活的说话人特征,例如元音的特定说话人属性和辅音的特定说话人属性。
我们实现了[8]中描述的注意机制,并将其调整为依赖于通道:
e t , c = v c T f ( W h t + b ) + k c , (1) e_{t,c}=v_c^T f(Wh_t+b)+k_c, \tag{1} et,c=vcTf(Wht+b)+kc,(1)
其中 h t h_t ht为时间步 t t t时最后一帧层的激活量。参数 W ∈ R R × C W \in \mathbb{R}^{R×C} W∈RR×C和 b ∈ R R × 1 b \in \mathbb{R}^{R×1} b∈RR×1将自注意力信息投影到更小的 R R R维表示中,该表示在所有 C C C通道中共享,以减少参数数量和过拟合风险。在非线性 f ( ⋅ ) f(\cdot) f(⋅)之后,该信息通过权重 v c ∈ R R × 1 v_c \in \mathbb{R}^{R×1} vc∈RR×1和偏置 k c k_c kc的线性层转换为依赖通道的自注意力分数。然后,通过跨时间在通道上应用softmax函数,对所有帧的标量分数 e t , c e_{t,c} et,c进行归一化:
α t , c = e x p ( e t , c ) ∑ τ T e x p ( e τ , c ) . (2) \alpha_{t,c}=\frac {exp(e_{t,c})} {\sum^T_\tau exp(e_{\tau,c})}. \tag{2} αt,c=∑τTexp(eτ,c)exp(et,c).(2)
自注意力分数 α t , c \alpha_{t,c} αt,c表示给定通道的每个帧的重要性,用于计算通道 c c c的加权统计。对于每句话,加权平均向量 μ ~ \tilde\mu μ~的通道分量 μ ~ c \tilde\mu_c μ~c的估计为:
μ ~ c = ∑ t T α t , c h t , c . (3) \tilde\mu_c = \sum_t^T \alpha_{t,c} h_{t,c}. \tag{3} μ~c=t∑Tαt,cht,c.(3)
加权标准差向量 σ ~ \tilde\sigma σ~的通道分量 σ ~ c \tilde\sigma_c σ~c构造如下:
σ ~ c = ∑ t T α t , c h t , c 2 − μ ~ c 2 . (4) \tilde\sigma_c = \sqrt{\sum_t^T \alpha_{t,c} h^2_{t,c} - \tilde\mu_c^2}. \tag{4} σ~c=t∑Tαt,cht,c2−μ~c2.(4)
池化层的最终输出通过连接加权均值 μ ~ \tilde\mu μ~和加权标准差 σ ~ \tilde\sigma σ~的向量来给出。
通过允许自注意力查看语音的全局属性,扩展了池化层的时间上下文。我们将公式(1)中的局部输入 h t h_t ht与整个时域的全局非加权平均值和标准偏差连接起来。这个上下文向量应该允许注意力机制自适应语音的全局属性,如噪声或录音条件。
3.2 1维Squeeze-Excitation Res2Blocks
在原始的x-vector系统中,帧层的时间上下文被限制为15帧。由于网络显然受益于更广泛的时间上下文[2,4,3],我们认为,鉴于录音的全局属性,与上述注意力模块中的全局上下文类似,重新缩放帧级特征可能是有益的。为此,本文引入了1维挤压激励(Squeeze-Excitation,SE)块,因为这种对全局通道相互依赖性进行建模的计算机视觉方法已被证明是成功的[14,15]。
SE块的第一个组件是挤压操作,它为每个通道生成描述符。挤压操作只是简单地计算跨时域帧级特征的平均向量 z z z:
z = 1 T ∑ t T h t . (5) z=\frac {1} {T} \sum_t^T h_t. \tag{5} z=T1t∑Tht.(5)
然后在激励操作中使用 z z z中的描述符来计算每个通道的权重。我们将后续的激励操作定义为:
s = σ ( W 2 f ( W 1 z + b 1 ) + b 2 ) (6) s = \sigma(W_2f(W_1z + b_1) + b_2) \tag{6} s=σ(W2f(W1z+b1)+b2)(6)
σ ( ⋅ ) \sigma(\cdot) σ(⋅)为sigmoid函数, f ( ⋅ ) f(\cdot) f(⋅)为非线性函数, W 1 ∈ R R × C W_1 \in \mathbb{R}^{R×C} W1∈RR×C和, W 2 ∈ R C × R W_2 \in \mathbb{R}^{C×R} W2∈RC×R。该操作充当瓶颈层, C C C和 R R R分别表示输入通道的数量和降维。结果向量 s s s包含0到1之间的权重 s c s_c sc,通过通道相乘应用于原始输入:
h ~ c = s c h c (7) \tilde{h}_c=s_ch_c \tag{7} h~c=schc(7)
一维SE块可以以各种方式集成到x-vector架构中,在每个扩张卷积之后使用它们是最直接的。然而,我们希望将它们与残差连接[7]的优点结合起来。同时,与基线系统相比,我们不希望增加太多的参数总量。图1所示的SE-Res2Block包含了上面提到的需求。我们在1帧的上下文中包含了前一层和后一层稠密层的扩张卷积。利用第一层稠密层可以降低特征维度,而第二层稠密层可以将特征数量恢复到原始维度。接下来是一个SE块来缩放每个通道。整个装置由一个跳跃连接覆盖。
这些传统ResBlocks的使用使得可以很容易地结合这种流行的计算机视觉架构的进展。例如,最近的Res2Net模块[16]增强了中心卷积层,使其可以通过在内部构建分层的类残差连接来处理多尺度特征。该模块的集成提高了性能,同时显著减少了模型参数的数量。
图1:ECAPA-TDNN架构的SE-Res2Block。标准Conv1D层的内核大小为1。尺度维为 s = 8 s=8 s=8的Res2Net [16] Conv1D通过核大小 k k k和膨胀间隔 d d d扩展时间上下文。
3.3 多层特征聚合与求和
原始的x-vector系统只使用最后一帧层的特征图来计算池化统计量。考虑到TDNN的层次性质,这些更深层次的特征是最复杂的特征,应该与说话人身份强相关。然而,由于[17,18]中的证据,我们认为更浅层的特征图也可以有助于更鲁棒的说话人嵌入。对于每一帧,所提出的系统连接所有SE-Res2Blocks块的输出特征图。在多层特征聚合(MFA)之后,一个稠密层对连接的信息进行处理,以生成用于注意力统计池化的特征。
另一种利用多层信息的互补方法是使用所有前面SE-Res2Blocks块和初始卷积层的输出作为每个帧层块的输入[17,19]。我们通过将每个SE-Res2Block中的残差连接定义为所有前一个block输出的总和来实现这一点。我们选择对特征映射求和,而不是拼接来限制模型参数数量。没有残差连接累加的最终架构如图2所示。
4 实验设置
4.1 说话人嵌入提取器的训练
我们应用固定条件VoxSRC 2019训练限制[12],仅使用具有5994个说话人的VoxCeleb2数据集[11]的开发部分作为训练数据。保留约2%的数据子集作为超参数优化的验证集。众所周知,神经网络受益于数据增强,它会生成额外的训练样本。我们为每个话语生成了总共6个额外的样本。第一组增强遵循Kaldi配方[2]与公开可用的MUSAN数据集(babble, noise)[20]和[21]中提供的RIR数据集(reverb)相结合。其余三种增强是使用开源的SoX (tempo up、tempo down)和FFmpeg(交替opus或aac压缩)库生成的。
输入特征是来自25 ms的80维mfcc,帧移10 ms。通过倒谱均值减法对MFCCs特征向量的二次随机裁剪进行归一化处理,不进行语音活体检测。作为最后一个增强步骤,我们对样本的log mel谱图应用SpecAugment[22]。该算法在时域随机掩码05帧,在频域随机掩码010通道。
所有模型都使用[23]中描述的triangular2策略以及Adam优化器[24],以1e-8和1e-3之间的周期性学习率进行训练。将一个循环的持续时间设置为130k次迭代。所有系统都使用AAM-softmax[6,25]进行训练,余量为0.2,softmax预标度为30,持续4个周期。为了防止过拟合,我们对2e-5模型中的所有权重应用权重衰减,除了使用2e-4的AAM-softmax权重。训练的小批量大小是128。
我们研究了在卷积帧层中具有512或1024通道的ECAPA-TDNN架构的两种设置。SE-Block和注意力模块中的瓶颈维度设置为128。Res2Block[16]中的scale dimension s s s设置为8。最终的完全连接层的节点数为192。该系统的性能将与第2节中描述的基线进行比较。
4.2 说话人验证
从所有系统的最终完全连接层中提取说话人嵌入。验证分数是使用嵌入之间的余弦距离产生的。随后,使用自适应s-norm对所有分数进行归一化[26,27]。冒名顶替者队列由所有训练语音的长度归一化的平均说话人嵌入组成。对于VoxCeleb测试集,将冒名顶替者队列的大小设置为1000,对于跨数据集VoxSRC 2019评估,将冒名顶替者队列的大小设置为50。
4.3 评估方案
该系统在流行的VoxCeleb1测试集[10]和VoxSRC 2019评测集[12]上进行了评估。性能将通过提供等错误率(EER)和最小归一化检测成本MinDCF ( P t a r g e t = 1 0 − 2 P_{target} = 10^{−2} Ptarget=10−2, C F A = C M i s s = 1 C_{FA} = C_{Miss} = 1 CFA=CMiss=1)来衡量。用一个简洁的消融研究来深入了解所提出的每个改进是如何影响性能的。
5 结果
表1给出了第2节中描述的基准系统和我们提出的ECAPA-TDNN系统的性能概述,以及嵌入提取器中的模型参数数量。我们实现了两种设置,卷积层中的滤波器数量 C C C设置为512或1024。所提出的架构显著优于所有基线,同时使用更少的模型参数。与每个测试集的最佳评分基线相比,ECAPA-TDNN系统在EER和MinDCF上的平均相对提升了18.7%和12.5%。我们注意到,在大多数情况下,基线的性能超过了[3,4]中报告的数字。我们继续对第3节中介绍的各个成分进行消融研究。表2概述了这些结果。
表1:所有系统在标准VoxCeleb1和VoxSRC 2019测试集上的EER和MinDCF性能。
表2:ECAPA-TDNN架构的消融研究。
为了衡量所提出的注意力模块的影响,运行了一个实验A.1,使用[8]的注意力模块。还进行了一个单独的实验A.2,该实验不为所提出的注意力提供上下文向量。通道和上下文相关的统计池化系统将EER和MinDCF指标分别提升了9.8%和3.2%。这证实了对每个通道应用不同的时间注意力的好处。上下文向量的加入使得系统的性能提升非常小,EER和MinDCF分别提高了1.9%和1.1%。尽管如此,这增强了我们的信念,即基于TDNN的架构应该尝试利用全局上下文信息。
实验B.1证实了这一观点,该实验清楚地表明了3.2节中描述的SE-blocks的重要性。在Res2Blocks中使用SE-modules可以使EER和MinDCF指标分别提高20.5%和11.9%。这表明,帧级特征有限的时间上下文是不够的,应该用基于语音的全局信息来补充。在实验B.2中,我们将Res2Blocks的多尺度特征替换为ResNet对应块的标准中心扩张1D卷积。除了模型参数相对减少30%之外,多尺度Res2Net方法还导致EER和MinDCF的相对提升分别为5.6%和3.2%。
在实验C.1中,我们只使用最终SE-Res2Block的输出,而不是聚合所有SE-Res2Block的信息。将输出结果聚合在一起,可以使EER和MinDCF值分别相对提高8.2%和2.8%。去除所有残差连接(实验C.2)显示出类似的退化率。用之前所有SE-Res2Blocks的输出之和替换SE-Res2Blocks中的标准ResNet跳跃连接,EER提高了6.5%,但实验C.3中的MinDCF分数略有下降。然而,在最近举行的2020短时间说话人验证(SdSV)挑战赛中,[28]说服我们将残差求和纳入最终的ECAPA-TDNN架构中。实验结果表明,该架构对[29]的其他领域具有良好的泛化性。
6 结论
本文提出了ECAPA-TDNN,一种新的基于TDNN的说话人嵌入提取器,用于说话人验证。我们进一步构建了原始的x-vector架构,并更加强调通道注意力、传播和聚合。在VoxCeleb和VoxSRC 2019评估集上,Squeeze-Excitation块、多尺度Res2Net特征、额外的跳跃连接和通道依赖的注意力统计池的纳入,使EER比强基线系统平均提高了19%。
参考文献
- D. Snyder, D. Garcia-Romero, G. Sell, D. Povey, and S. Khudanpur, “X-vectors: Robust DNN embeddings for speaker recognition,” in Proc. ICASSP, 2018, pp. 5329–5333.
- D. Snyder, D. Garcia-Romero, G. Sell, A. McCree, D. Povey, and S. Khudanpur, “Speaker recognition for multi-speaker conversations using x-vectors,” in Proc. ICASSP, 2019, pp. 5796–5800.
- D. Garcia-Romero, A. McCree, D. Snyder, and G. Sell, “JHUHLTCOE system for the VoxSRC speaker recognition challenge,” in Proc. ICASSP, 2020, pp. 7559–7563.
- H. Zeinali, S. Wang, A. Silnova, P. Matjka, and O. Plchot, “BUT system description to VoxCeleb speaker recognition challenge 2019,” 2019.
- S. Ioffe, “Probabilistic linear discriminant analysis,” in ECCV, 2006, pp. 531–542.
- J. Deng, J. Guo, N. Xue, and S. Zafeiriou, “ArcFace: Additive angular margin loss for deep face recognition,” in 2019 IEEE/CVF CVPR, 2019, pp. 4685–4694.
- K. He, X. Zhang, S. Ren, and J. Sun, “Deep residual learning for image recognition,” in IEEE/CVF CVPR, 2016, pp. 770–778.
- K. Okabe, T. Koshinaka, and K. Shinoda, “Attentive statistics pooling for deep speaker embedding,” in Proc. Interspeech, 2018, pp. 2252–2256.
- Y. Zhu, T. Ko, D. Snyder, B. K.-W. Mak, and D. Povey, “Selfattentive speaker embeddings for text-independent speaker verifi- cation,” in Proc. Interspeech, 2018, pp. 3573–3577.
- A. Nagrani, J. S. Chung, and A. Zisserman, “VoxCeleb: A largescale speaker identification dataset,” in Proc. Interspeech, 2017, pp. 2616–2620.
- J. S. Chung, A. Nagrani, and A. Zisserman, “VoxCeleb2: Deep speaker recognition,” in Proc. Interspeech, 2018, pp. 1086–1090.
- J. S. Chung, A. Nagrani, E. Coto, W. Xie, M. McLaren, D. A. Reynolds, and A. Zisserman, “VoxSRC 2019: The first VoxCeleb speaker recognition challenge,” 2019.
- S. Ioffe and C. Szegedy, “Batch normalization: Accelerating deep network training by reducing internal covariate shift,” in Proc. ICML, 2015, pp. 448–456.
- J. Hu, L. Shen, and G. Sun, “Squeeze-and-Excitation networks,” in Proc. IEEE/CVF CVPR, 2018, pp. 7132–7141.
- J. Zhou, T. Jiang, Z. Li, L. Li, and Q. Hong, “Deep speaker embedding extraction with channel-wise feature responses and additive supervision softmax loss function,” in Proc. Interspeech, 2019, pp. 2883–2887.
- S. Gao, M.-M. Cheng, K. Zhao, X. Zhang, M.-H. Yang, and P. H. S. Torr, “Res2Net: A new multi-scale backbone architecture,” IEEE TPAMI, 2019.
- J. Lee and J. Nam, “Multi-level and multi-scale feature aggregation using sample-level deep convolutional neural networks for music classification,” 2017.
- Z. Gao, Y. Song, I. McLoughlin, P. Li, Y. Jiang, and L.-R. Dai, “Improving Aggregation and Loss Function for Better Embedding Learning in End-to-End Speaker Verification System,” in Proc. Interspeech, 2019, pp. 361–365.
- D. Povey, G. Cheng, Y. Wang, K. Li, H. Xu, M. Yarmohammadi, and S. Khudanpur, “Semi-orthogonal low-rank matrix factorization for deep neural networks,” in Proc. Interspeech, 2018, pp. 3743–3747.
- D. Snyder, G. Chen, and D. Povey, “MUSAN: A music, speech, and noise corpus,” 2015.
- T. Ko, V. Peddinti, D. Povey, M. L. Seltzer, and S. Khudanpur, “A study on data augmentation of reverberant speech for robust speech recognition,” in Proc. ICASSP, 2017, pp. 5220–5224.
- D. S. Park, W. Chan, Y. Zhang, C.-C. Chiu, B. Zoph, E. D. Cubuk, and Q. V. Le, “SpecAugment: A simple data augmentation method for automatic speech recognition,” in Proc. Interspeech, 2019.
- L. N. Smith, “Cyclical learning rates for training neural networks,” in IEEE WACV, 2017, pp. 464–472.
- D. Kingma and J. Ba, “Adam: A method for stochastic optimization,” Proc. ICLR, 2014.
- X. Xiang, S. Wang, H. Huang, Y. Qian, and K. Yu, “Margin matters: Towards more discriminative deep neural network embeddings for speaker recognition,” 2019.
- Z. N. Karam, W. M. Campbell, and N. Dehak, “Towards reduced false-alarms using cohorts,” in 2011 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2011, pp. 4512–4515.
- S. Cumani, P. Batzu, D. Colibro, C. Vair, P. Laface, and V. Vasilakakis, “Comparison of speaker recognition approaches for real applications,” in Proc. Interspeech, 2011, pp. 2365–2368.
- H. Zeinali, K. A. Lee, J. Alam, and L. Burget, “Short-duration speaker verification (SdSV) challenge 2020: the challenge evaluation plan,” 2019.
- J. Thienpondt, B. Desplanques, and K. Demuynck, “Cross-lingual speaker verification with domain-balanced hard prototype mining and language-dependent score normalization,” in Proc. Interspeech, 2020.