티스토리 뷰

반응형

NeXt-TDNN: Modernizing Multi-Scale Temporal Convolution Backbone for Speaker Verification


  • ConvNet structure를 활용하여 speaker verification을 위한 ECAPA-TDNN을 개선할 수 있음
  • NeXt-TDNN
    • ECAPA-TDNN의 SE-Res2Net block을 TS-ConvNeXt block으로 대체
      - TS-ConvNeXt block은 temporal multi-scale convolution과 frame-wise feed-forward network로 구성됨
    • Frame-wise feed-forward network에 global response normalization을 도입하여 selective feautre propagation을 지원
  • 논문 (ICASSP 2024) : Paper Link

1. Introduction

  • Speaker verification을 위한 human-crafted embedding feature vector (x-vector)는 DNN-based vector (d-vector)로 대체되고 있음
    • 특히 Time Delay Neural Network (TDNN)을 사용하면 x-vector의 성능을 크게 향상할 수 있음
      1. 대표적으로 ECAPA-TDNN은 multi-scale에서 spectral structure를 capture 하기 위해, backbone layer로 1D convolution을 사용하는 Res2Net을 채택
      2. 추가적으로 global temporal context에서 feature gating을 지원하는 Squeeze-and-Excitation (SE) block을 도입하고, Multi-layer Feature Aggregation (MFA)를 통해 temporal pooling 이전에 shallow-layer feature를 반영
    • 한편으로 speech는 일반적으로 spectral 2D visual feature로 취급되므로, speaker embedding vector 추출을 위해 simple 2D ResNet-based architecture를 활용할 수 있음
      - 특히 최근에는 ConvNeXt와 같은 ConvNet 기반의 modernized structure가 제시되고 있음

-> 그래서 ConvNeXt를 활용하여 기존 Speaker Verification model을 modernize 한 NeXt-TDNN을 제안

 

  • NeXt-TDNN
    • ECAPA-TDNN의 SE-Res2Net block을 대체하는 Two-Step ConvNeXt (TS-ConvNeXt) block을 도입
      - 서로 다른 scale을 가지는 parallel 1D depth-wise convolution (DConv1D) 기반의 Multi-Scale Convolution (MSC) module을 배치하고, 이후 Feed-Forward Network (FFN)을 Transformer structure와 같이 배치
    • 추가적으로 FFN에 Global Response Normalization (GRN)을 적용하여 channel contrast를 향상
      - SE-Res2Net block의 SE module을 대체하는 역할

< Overall of NeXt-TDNN >

  • TS-ConvNeXt block을 활용하여 기존 ECAPA-TDNN architecture를 개선
  • 결과적으로 기존보다 뛰어난 성능을 달성

2. Method

- MFA Layer and ASP as Temporal Pooling

  • 먼저 input feature는 frame 수 $T$에 대한 $C_{mel}\times T$ shape의 mel-spectrogram으로 제공됨
    • 그러면 kernel size 4의 standard convolution을 통해 $C_{mel}$의 spectral dimension을 $C$의 latent channel dimension으로 변환되고, output feature $\mathbf{F}^{(0)}\in\mathbb{R}^{C\times T}$는 TS-ConvNeXt block을 통해 3-stage로 처리됨 
    • 이때 3-stage 모두에서 output $\mathbf{F}^{(1)},\mathbf{F}^{(2)},\mathbf{F}^{(3)}\in\mathbb{R}^{C\times T}$를 aggregate 하기 위해 ECAPA-TDNN의 MFA layer를 채택
      - 구체적으로 $\mathbf{F}\in\mathbb{R}^{3C\times T}$와 같이 concatenate 된 다음, $C_{MFA}$의 output dimension을 가지는 1D point-wise convolution (PConv1D)와 Layer Normalization (LN)을 적용함
    • 논문은 frame-level feature에서 utterance-level embedding을 추출하기 위해, channel-dependent attention value $\alpha_{t}\in\mathbb{R}^{C_{MFA}\times 1}$을 가지는 ASP pooling layer를 도입 
      1. MFA layer output이 $\mathbf{H}=[\mathbf{h}_{1},...,\mathbf{h}_{T}]\in\mathbb{R}^{C_{MFA}\times T}$와 같이 주어지면, ASP layer는 해당 frame-level feature에서 $[0,1]$ 사이의 attention value를 계산하고
      2. 해당 값을 weighted mean $\mu=\sum_{t=1}^{T}\alpha_{t}\odot\mathbf{h}_{t}$과 standard deviation vector $\sigma=\sqrt{\sum_{t=1}^{T}\alpha_{t}\odot \mathbf{h}_{t}\odot\mathbf{h}_{t}-\mu\odot\mu}$ 계산에 사용함
        - $\odot$ : Hadamard output
      3. 이후 linear layer를 사용하여 두 statistics에서 speaker embedding $\mathbf{x}\in\mathbb{R}^{192\times 1}$을 추출함 

NeXt-TDNN Architecture

- Proposed TS-ConvNeXt Block

  • NeXt-TDNN backbone은 3-stage TS-ConvNeXt block으로 구성되고, 각 block은 stage마다 $B$번 repeat 됨 
    • 즉, $n$-th stage ($n\in\{1,2,3\}$)에서 $b$-th block ($1\leq b\leq B$)에 대한 input representation $\mathbf{F}^{(n-1)}_{b-1}\in\mathbb{R}^{C\times T}$는 다음과 같이 처리됨:
      (Eq. 1) $\tilde{\mathbf{F}}_{b-1}^{(n-1)}=\mathbf{F}_{b-1}^{(n-1)}+\text{MSC}(\mathbf{F}_{b-1}^{(n-1)})$
      (Eq. 2) $\mathbf{F}_{b}^{(n-1)}=\tilde{\mathbf{F}}_{b-1}^{(n-1)}+\text{FFN}(\tilde{\mathbf{F}}_{b-1}^{(n-1)})$
      - 여기서 $\mathbf{F}_{0}^{(0)}=\mathbf{F}^{(0)}$이고,
      $B$-th block output $\mathbf{F}_{B}^{(n-1)}$은 MFA layer의 input과 next stage의 first block으로 $\mathbf{F}_{B}^{(n-1)}=\mathbf{F}^{(n)}=\mathbf{F}^{(n)}_{0}$과 같이 전달됨
      - MSC module은 inter-frame temporal context를 capture 하는 데 사용되고 FFN module은 frame-wise feature를 independent 하게 처리함
    • Multi-scale feature를 효과적으로 capture 하기 위해, 논문은 Res2Net을 MSC module의 $s$개의 parallel DConv1D layer로 대체함 
      1. 이때 각 layer는 아래 그림의 (b)와 같이 scale factor $s$를 가지는 서로 다른 kernel size $K_{1},...,K_{s}$를 가짐 
      2. 각 scale에서 optimized training을 위해 MSC module의 input feature는 각 DConv1D layer 이전에 $C'$의 reduced dimension으로 project 되고,
      3. 이후 해당 multi-scale feature는 $s\cdot C'$의 dimension을 가지도록 concatentate 된 다음 GELU activation과 PConv1D를 거쳐 $C$로 다시 project 됨
    • 결과적으로 MSC mechanism은 Transformer의 Multi-Head Self-Attention (MHSA)와 비슷하지만, MHSA의 attention operation이 DConv1D로 대체된다는 차이점이 있음
    • 한편으로 FFN은 expansion factor가 4인 2개의 PConv1D layer와 GELU activation으로 구성되고, channel contrast를 향상하기 위해 GRN을 채택함 
    • 특히 GRN은 additional parameter layer 없이 간단하게 구현될 수 있음
      1. 먼저 GELU activation 이후 hidden feature가 $\mathbf{G}=[\mathbf{g}_{1},...,\mathbf{g}_{T}]\in\mathbb{R}^{4C\times T}$와 같이 주어지면, 
      2. GRN은 temporal dimension에 대한 $L2$-norm을 vector $\bar{\mathbf{g}}\in\mathbb{R}^{4C\times 1}$과 같이 계산하고, aggregated value $\bar{\mathbf{g}}$에 response normalization function $\mathcal{N}(\cdot)$을 $\mathcal{N}(\bar{\mathbf{g}})=\bar{\mathbf{g}}/ || \bar{\mathbf{g}}||_{1}$과 같이 적용함
        - $||\cdot ||_{1}$ : $L1$-norm
      3. Original feature $\mathbf{g}_{t}$는 skip connection을 사용한 response normalization function value를 통해 calibrate 됨:
        (Eq. 3) $\text{GRN}(\mathbf{g}_{t})=\mathbf{g}_{t}+\gamma\odot \mathcal{N}(\bar{\mathbf{g}})\odot \mathbf{g}_{t}+\beta$
        - $\gamma,\beta\in\mathbb{R}^{4C\times 1}$ : affine transformation을 위한 trainable parameter (0으로 initialize 됨)

Res2Conv, MSC Module

- Rationale of the Backbone Block Design

  • 아래 그림과 같이 기존 block과 TS-ConvNeXt를 비교해 보면
    • (a)의 SE-Res2Net block은 ResNet structure를 기반으로 channel dimension을 control 하는 2개의 PConv2D layer로 구성되고, Batch Normalization (BN)과 ReLU activation이 적용됨
      - 이때 ResNet의 standard convolution을 Res2 Dilated Conv1D layer로 대체하여 multi-scale context를 capture 하고 specific channel에 attend 하는 SE block이 추가됨
    • 한편으로 기존 Transformer는 (b)와 같이 MHSA와 FFN에 대한 2개의 sub-module을 가짐
    • (c)의 ConvNeXt block은 Transformer와 ResNet block을 결합하여 구성됨
      1. 특히 ResNet의 standard convolution을 DConv로 변경하면 Transformer의 MHSA와 유사한 역할을 수행할 수 있음
        - 추가적으로 ConvNeXt block은 norm과 activation이 적은 inverted bottleneck structure를 가짐
      2. ConvNext-V2의 경우, ConvNeXt의 inverted bottleneck에 GELU activation과 GRN을 적용하여 성능을 개선
    • NeXt-TDNN은 ECAPA-TDNN의 backbone block을 modernize 하기 위해, (d)와 같이 ConvNeXt를 확장한 TS-ConvNeXt를 채택함
      1. 구체적으로 MSC의 temporal block과 FFN의 position-wise processing block을 separate 하여 two-step way로 구성하고, MSC module에 temporal multi-scale feature를 도입함
        - 해당 design을 통해 Transformer와 비슷하게 inter-/intra-frame context에 대해 flexible training을 지원 가능
      2. SE-Res2Net 측면에서 MSC는 multi-scale temporal modeling을 위한 Res2Net을 대체할 수 있고, GRN이 포함된 FFN은 point-wise feature processing을 위한 SE block을 대체할 수 있음
    • 추가적으로 (e)의 TS-ConvNext-l block은 TS-ConvNeXt block의 lightweight version으로써 MSC module 대신 single DConv1D layer를 사용함

Block Design 비교

3. Experiments

- Settings

  • Dataset : VoxCeleb1, VoxCeleb2
  • Comparisons : Fast ResNet, ECAPA-TDNN, EfficientTDNN

- Results

  • 전체적으로 NeXt-TDNN이 가장 우수한 성능을 보임

모델 성능 비교

  • TS-ConvNeXt block의 효과를 확인해 보면,
    • GRN을 사용하면 EER 성능이 향상되는 것으로 나타남
    • 기존 ConvNeXt와 달리 TS-ConvNeXt-l은 $K=65$의 큰 kernel size에서 우수한 성능을 보임

TS-ConvNeXt의 효과

 

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Total
Today
Yesterday