티스토리 뷰

반응형

CFLOW-VC: An Unsupervised Cycle Training Strategy based on Normalizing flows for Voice Conversion


  • Voice Conversion model은 non-parallel setting에서 train-test mismatch 문제가 존재함
  • CFLOW-VC
    • Normalizing flow를 기반으로 expressive style feature를 capture 하는 mel-style encoder를 도입
    • Noisy environment에 대한 robustness를 향상하기 위해 data augmentation을 수행
  • 논문 (INTERSPEECH 2026) : Paper Link

1. Introduction

  • Voice Conversion (VC)는 original speech content는 preserve하면서 source voice를 transform 하는 것을 목표로 함
    • BUT, 대부분의 VC model은 train-test mismatch로 인해 non-parallel setting에서 naturalness의 한계를 보임
    • 특히 FreeVC와 같이 WavLM의 Self-Supervised Learning (SSL) representation을 활용하면 rich content information을 반영할 수 있지만 timbre detail은 capture 할 수 없음

-> 그래서 non-parallel VC의 train-test mismatch 문제를 해결한 CFLOW-VC를 제안

 

  • CFLOW-VC
    • Flow reversibility와 StarGANv2-VC의 consistency loss를 활용한 Cycle Training Strategy (CTS)를 도입
    • Meta-StyleSpeech의 mel-style encoder를 추가하여 style information을 capture하고 WavAugmentation을 활용해 noise robustness를 향상

< Overall of CFLOW-VC >

  • FreeVC framework를 기반으로 Cycle Traing Strategy와 mel-style encoder를 적용한 non-parallel VC model
  • 결과적으로 기존보다 우수한 성능을 달성

2. Method

  • CFLOW-VC는 FreeVC를 따라 prior encoder input으로 WavLM을 사용하고 pre-trained speaker encoder를 통해 timbre information을 추출함
    • 이때 논문은 style-related feature를 capture하기 위해 style encoder를 추가하고 StarGANv2-VC loss를 활용한 non-parallel training strategy를 도입함
      - Style encoder는 Meta-StyleSpeech의 mel-style encoder를 사용함
    • 추가적으로 Wav-Augmentation과 Gradient Reversal Layer (GRL)을 활용해 noise robustness를 향상함

- Backbone

  • Backbone training 시 sample $x_{src}$가 주어지면 SSL feature $x_{ssl}$과 style feature $x_{style}$을 prior encoder $\theta$를 통해 process 하여 prior distribution $z_{p}\sim p(z|x_{ssl},x_{style};\theta)$를 얻음
    • 이때 논문은 speaker classification을 위해 GRL을 사용하여 prior distribution과 timbre를 decouple함
      - Linear spectrogram $x_{lin}$은 $x_{src}$에서 추출되고, timbre feature $g_{s}$는 speaker encoder를 통해 $x_{src}$로부터 추출됨
    • $x_{lin}, g_{s}$를 posterior encoder $\phi$를 통해 process 하여 posterior distribution $z_{q}\sim q(z|x_{lin},g_{s};\phi)$를 얻을 수 있음:
      (Eq. 1) $\mathbf{z}_{p}\sim p_{\theta}\left(z_{p}|x_{p};\theta\right)=\mathcal{N}\left( z_{p};\mu_{\theta},\sigma_{\theta}\right)$
      (Eq. 2) $\mathbf{z}_{q}\sim q_{\phi}\left(z_{q}|x_{q};\phi\right)=\mathcal{N}\left( z_{q};\mu_{\phi},\sigma_{\phi}\right)$
      - $x_{p}=[x_{ssl}, x_{style}],x_{q}=[x_{lin},g_{s}]$
      - 여기서 $g_{s},x_{ssl}, x_{style}, x_{lin}$은 모두 같은 audio file에서 얻어지지만 prediction 시에는 unpair 됨

Overview

- CTS

  • Train-test mismatch를 해결하기 위해 논문은 StarGANv2-VC의 loss design과 flow reversibility를 활용함
    • 먼저 additional sample $x_{tgt}$로부터 $g_{t}$를 얻고, inverse flow $f_{\theta}^{-1}$과 $g_{t}$를 사용해 $z_{p}$로부터 posterior distribution $z_{q1}\sim q\left(z_{q}|z_{p},g_{t};f_{\theta}^{-1}\right)$를 derive 함
    • 이후 $f_{\theta}, g_{t}$로부터 $z_{q1}$를 사용하여 prior distribution $z_{p1}\sim p\left(z_{p}|z_{q1},g_{t};f_{\theta}\right)$를 생성함
      - Posterior probability $z_{q2}\sim q\left(z_{q}|z_{p1},g_{s};f_{\theta}^{-1}\right)$는 $f_{\theta}^{-1},g_{s}$에 대한 $z_{p1}$으로 compute 됨
  • 결과적으로 논문은 $f_{\theta}^{g}$를 CTS process를 활용한 flow로 정의하고 다음의 loss를 add 함:
    • Adversarial Loss
      1. 먼저 adversarial loss를 통해 generated posterior probability를 constrain 함:
        (Eq. 3) $\mathcal{L}_{adv}=\mathbb{E}_{x_{src},g_{s}}\left(\log\left(\text{starD}(z_{q},y_{src})\right)\right) + \mathbb{E}_{x_{src},g_{t},g_{s}}\left(\log\left(1-\text{starD}(z_{q1},y_{tgt})\right)\right)$
        - $y_{src}, y_{tgt}$ : $x_{src}, x_{tgt}$의 speaker ID
      2. $\text{starD}(\cdot, y)$는 domain $y\in Y$에 대한 real/fake classifier output과 같음
    • Bidirectional KL Loss
      1. 논문은 NaturalSpeech, HierSpeech++를 따라 bidirectional KL loss를 도입함
        - 이때 forward mapping $f_{\theta}$를 사용하여 posterior complexity를 $z_{q}$에서 $z_{p'}\sim p_{\theta}(z|x_{p};\theta,\phi,f_{\theta})$로 reduce 하고, prior capacity를 $z_{p}$에서 $z_{q'}\sim q_{\theta,\phi, f_{\theta}^{-1}}(z|x_{q};\theta,\phi,f_{\theta}^{-1})$로 향상함
      2. 그러면 KL divergence는:
        (Eq. 4) $z_{p'}=\mathcal{N}\left(f_{\theta}(z_{q},g_{s});\mu_{\theta},\sigma_{\theta}\right)\left|\det\frac{\partial f_{\theta}(z_{q},g_{s})}{\partial z_{q}}\right|$
        (Eq. 5) $\mathcal{L}_{fwb}=\text{KL}(z_{q}||z_{p'})=\log z_{q}-\log z_{p'}$
        (Eq. 6) $z_{q'}=\mathcal{N}\left(f_{\theta}^{-1}(z_{p},g_{s});\mu_{\phi},\sigma_{\phi}\right)\left|\det\frac{\partial f_{\theta}^{-1}(z_{p},g_{s})}{\partial z_{p}}\right|$
        (Eq. 7) $\mathcal{L}_{bwb}=\text{KL}(z_{p}||z_{q'})=\log z_{p}-\log z_{q'}$
        - $z_{p'}$은 flow $f_{\theta}$와 $g_{s}$를 통해 $z_{q}$에서 derive 되고 $z_{q'}$은 inverse flow $f_{\theta}^{-1}$과 $g_{s}$를 통해 $z_{p}$에서 derive 됨
        - $\mathcal{L}_{fwb},\mathcal{bwb}$ : forward/backward KL loss
    • Cycle KL Loss
      1. 논문은 $f_{\theta}^{g}$를 통해 $z_{p}$에서 $z_{q2}$로의 prior capacity를 향상함
      2. 이를 위해 KL divergence loss를 사용하여 $z_{p}$를 $z_{q2}$에 match 함:
        (Eq. 8) $z_{q2}=\mathcal{N}\left(f_{\theta}^{g}(z_{p},g_{s},g_{t});\mu_{\phi}, \sigma_{\phi}\right)\left|\det\frac{\partial f_{\theta}^{g}(z_{p},g_{s},g_{t})}{\partial z_{p}}\right|$
        (Eq. 9) $\mathcal{L}_{cyckl}=\text{KL}(z_{p}||z_{q2})=\log z_{p}-\log z_{q2}$
    • Cycle Consistency Loss
      1. $z_{q2}$를 decoder에 전달하여 $z_{q2}$가 voice를 생성할 수 있도록 보장함
      2. 이를 위해 FreeVC를 따라 $z_{q2}$를 decoder에 전달하고, generated voice에 HiFi-GAN loss를 적용함
        - 즉, $\mathcal{L}_{adv}(D),\mathcal{L}_{adv}(G),\mathcal{L}_{fm}(G)$는 $z_{q2}$에 대해 decoder-generated audio를 constrain 하는 데 사용됨
    • 결과적으로 final loss는:
      (Eq. 10) $\mathcal{L}(G)=\mathcal{L}_{adv}(G)+\mathcal{L}_{fm}(G)+\mathcal{L}_{adv}+\mathcal{L}_{cyckl}+\mathcal{L}_{fwb}+\mathcal{L}_{bwb}+\mathcal{L}_{grl}$
      (Eq. 11) $\mathcal{L}(D)=\mathcal{L}_{adv}(D)-\mathcal{L}_{adv}$
      - $\mathcal{L}_{cyckl}, \mathcal{L}_{adv}(D),\mathcal{L}_{adv}(G),\mathcal{L}_{fm}(G)$는 cycle consistency loss, $\mathcal{L}_{fwb}, \mathcal{L}_{bwb}$는 norm consistency loss, $\mathcal{L}_{adv}$는 adversarial loss로 볼 수 있음

- Data Augmentation

  • 기존의 VC model은 clean audio data로만 training 되므로 real-world scenario의 noisy input에 대응할 수 없음
    • 따라서 논문은 RIRs2를 통해 direct addition으로 noise augmentation을 적용한 다음, random reverberation augmentation을 수행함
    • 해당 augmentation은 Wav-Augment를 기반으로 수행됨

3. Experiments

- Settings

- Results

  • 전체적으로 CFLOW-VC의 성능이 가장 우수함

Model 성능 비교

  • MOS 측면에서도 뛰어난 성능을 보임

MOS 비교

 

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
«   2026/10   »
일 월 화 수 목 금 토
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