티스토리 뷰

반응형

VQMIVC: Quantization and Mutual Information-based Unsupervised Speech Representation Disentanglement for One-Shot Voice Conversion


  • One-shot voice conversion은 speech representation disentanglement를 통해 효과적으로 수행될 수 있음
    - BUT, 기존 방식은 speech representation 간의 correlation을 무시하므로 content information이 leakage 될 수 있음
  • VQMIVC
    • Content encoding 과정에서 vector quantization을 사용하고 training 중에 correlation metric으로써 mutual information을 도입
    • Unsupervised manner로 inter-dependency를 줄여 content/speaker/pitch representation을 disentangle 함
  • 논문 (INTERSPEECH 2021) : Paper Link

1. Introduction

  • Voice Conversion (VC)은 source speaker utterance가 target speaker와 같이 들리도록 para-linguistic factor를 modify 함
    • 특히 one-shot VC는 one target speaker utterance만 주어진 상황에서 voice conversion을 수행해야 함
      - 이때 para-linguistic factor에는 speaker identity, prosody, accent 등이 포함됨
    • 기존에는 Speech Representation Disentanglement (SRD)를 기반으로 one-shot VC를 수행함
      1. 즉, speech를 speaker와 content representation으로 decompose 한 다음, source speaker representation을 target speaker로 변환하는 방식
      2. BUT, SRD degree를 결정하는 것이 어렵고, correlation constraint가 없기 때문에 content information이 speaker information으로 leakage 된다는 한계가 있음

-> 그래서 information leakage를 방지한 one-shot VC system인 VQMIVC를 제안

 

  • VQMIVC
    • Vector Quantization (VQ)과 Mutual Information (MI)를 활용하여 one-shot VC를 수행
      - MI는 서로 다른 representation 간의 dependency를 반영하여 unsupervised manner로 SRD를 달성할 수 있도록 함
    • 구체적으로 utterance를 content/speaker/pitch의 3가지 factor로 decompose 하고, 다음의 4가지 component로 구성된 architecture를 활용
      1. Content Encoder : acoustic feature에서 frame-level content representation을 추출하기 위해 Vector Quantization with Constrastive Predictive Coding (VQCPC)를 도입
      2. Speaker Encoder : acoustic feature로부터 single fixed-dimensional vector를 speaker representation으로 생성
      3. Pitch Extractor : pitch representation을 위해 utterance-level에서 normalized fundamental frequency $F_{0}$를 계산
      4. Decoder : content/speaker/pitch representation을 acoustic feature에 mapping 하는 역할
    • Training 과정에서 VQMIVC는 VQCPC, reconstruction loss, MI loss를 최소화하는 것으로 최적화됨

< Overall of VQMIVC >

  • Vector quantization과 Mutual information을 활용하여 효과적인 disentanglement를 수행
  • 결과적으로 기존보다 뛰어난 conversion 성능을 달성

2. Method

  • VQMIVC는 content encoder, speaker encoder, pitch extractor, decoder로 구성됨
    • Content encoder, speaker encoder, pitch extractor는 각각 input speech로부터 content/speaker/pitch representation을 추출함
    • Decoder는 추출된 해당 representation을 acoustic feature로 mapping 함
    • $K$ utterance가 있다고 하면, 논문에서는 mel-spectrogram을 acoustic feature로 사용하고 각 utterance에서 $T$ frame을 randomly select 하여 training에 사용함
      - 그러면 $k$-th mel-spectrogram은 $\mathbf{X}_{k}=\{\mathbf{x}_{k,l},\mathbf{x}_{k,2},...,\mathbf{x}_{k,T}\}$와 같이 얻어짐

Overall of VQMIVC

- Architecture of the VQMIVC System

  • Content Encoder
    • Content encoder $\theta_{c}$는 VQCPC를 사용하여 $\mathbf{X}_{k}$에서 linguistic content information을 추출함
    • 구조적으로는 $\mathbf{X}_{k}\rightarrow \mathbf{Z}_{k}$에 대한 $h$-net, $\hat{\mathbf{Z}}_{k}\rightarrow \mathbb{R}_{k}$에 대한 $g$-net, $\mathbf{Z}_{k}\rightarrow \hat{\mathbf{Z}}_{k}$에 대한 VQ operation $q$로 구성됨
      1. 먼저 $h$-net은 $\mathbf{X}_{k}$를 사용하여 dense feature sequence $\mathbf{Z}_{k}=\{\mathbf{z}_{k,1},\mathbf{z}_{k,2},...,\mathbf{z}_{k,T/2}\}$를 얻음
        - 여기서 length는 $T$에서 $T/2$로 reduce 됨
      2. 이후 quantizer $q$는 $\mathbf{Z}_{k}$를 trainable codebook $B$를 통해 $\hat{\mathbf{Z}}_{k}=\{\hat{\mathbf{z}}_{k,1},\hat{\mathbf{z}}_{k,2},...,\hat{\mathbf{z}}_{k,T/2}\}$로 discretize 함
        - $\hat{\mathbf{z}}_{k,t}\in B$ : $\mathbf{z}_{k,t}$에 가장 가까운 vector
      3. 특히 VQ는 $\mathbf{Z}_{k}$에서 non-essential detail을 제거하기 위해 information bottleneck을 적용하여, $\hat{\mathbf{Z}}_{k}$가 underlying linguistic information과 relate 되도록 함
    • 그러면 content encoder $\theta_{c}$는 VQ loss를 최소화하여 training 됨:
      (Eq. 1) $\mathcal{L}_{VQ}=\frac{2}{KT}\sum_{k=1}^{K}\sum_{t=1}^{T/2}|| \mathbf{z}_{k,t}-\text{sg}(\hat{\mathbf{z}}_{k,t})||_{2}^{2}$
      - $\text{sg}(\cdot)$ : stop-gradient operator
    • 추가적으로 $\hat{\mathbf{Z}}_{k}$가 local structure를 capture 할 수 있도록, RNN-based $g$-net을 활용해 $\hat{\mathbf{Z}}_{k}$에 대한 aggregation $\mathbf{R}_{k}=\{\mathbf{r}_{k,1},\mathbf{r}_{k,2},...,\mathbf{r}_{k,T/2}\}$를 얻는 Contrastive Predictive Coding (CPC)를 도입함
      1. 즉, $\mathbf{r}_{k,t}$가 주어지면 model은 InfoNCE loss를 최소화하여 $m$-step future의 positive sample $\hat{\mathbf{z}}_{k,t+m}$을 set $\Omega_{k,t,m}$에서 추출한 negative sample과 distinguish 하도록 training 됨:
        (Eq. 2) $\mathcal{L}_{CPC}=\frac{1}{KT'M}\sum_{k=1}^{K}\sum_{t=1}^{T'}\sum_{m=1}^{M}\log \left[ \frac{\exp(\hat{\mathbf{z}}_{k,t+m}^{T}\mathbf{W}_{m}\mathbf{r}_{k,t})}{\sum_{\tilde{\mathbf{z}}\in \Omega_{k,t,m}}\exp(\tilde{\mathbf{z}}^{T}\mathbf{W}_{m}\mathbf{r}_{k,t})}\right]$
        - $T'=T/2-M$이고, $\mathbf{W}_{m}$은 trainable projection matrix ($m=1,2,...,M$)
      2. (Eq. 2)의 probabilistic contrastive loss로 future sample을 예측함으로써, 여러 time step에 따른 local feature가 $\hat{\mathbf{Z}}_{k}=f(\mathbf{X}_{k};\theta_{c})$로 encode 됨
        - 이를 통해 linguistic content를 accurately reconstruct 하는 데 사용되는 content representation을 얻을 수 있음
    • Training 과정에서 negative sample set $\Omega_{k,t,m}$은 current utterance에서 radomly select 하여 얻어짐
  • Speaker Encoder
    • Speaker encoder $\theta_{s}$는 $\mathbf{X}_{k}$를 input으로 하여 speaker representation으로 사용되는 vector $\mathbf{s}_{k}=f(\mathbf{X}_{k};\theta_{s})$를 생성함
    • $\mathbf{s}_{k}$는 생성된 speech의 speaker identity를 control 하기 위해 global speech characteristic을 capture 함
  • Pitch Extractor
    • Pitch representation은 intonation variation은 포함해야 하지만 content/speaker information은 포함하지 않아야 함
      - 따라서 waveform에서 $F_{0}$를 추출한 다음, 각 utterance에 대해 independent 하게 z-normalization을 수행
    • 논문에서는 $\mathbf{p}_{k}=(p_{k,1},p_{k,2},...,p_{k,T})$로써 speaker-independent 한 log-normalized $F_{0}$를 채택
  • Decoder
    • Decoder $\theta_{d}$는 content/speaker/pitch representation을 mel-spectrogram에 mapping 함
    • 이때 linear interpolation-based upsampling ($\times 2$)와 repetition ($\times T$)이 각각 $\hat{\mathbf{Z}}_{k}, \mathbf{s}_{k}$에 적용되어 $\mathbf{p}_{k}$와 align 되고, 이를 기반으로 mel-spectrogram $\hat{\mathbf{X}}_{k}=\{\hat{\mathbf{x}}_{k,1},\hat{\mathbf{x}}_{k,2},...,\hat{\mathbf{x}}_{k,T}\}$를 생성함
    • Decoder는 reconstruction loss를 최소화하여 content/speaker encoder와 jointly train 됨:
      (Eq. 3) $\mathcal{L}_{REC}=\frac{1}{KT}\sum_{k=1}^{K}\sum_{l=1}^{T}\left[ || \hat{\mathbf{x}}_{t}-\mathbf{x}_{t}||_{1}+ || \hat{\mathbf{x}}_{t}-\mathbf{x}_{t}||_{2}\right]$

VQCPC-based Content Encoder

- MI Minimization Integrated into VQMIVC Training

  • Random variable $\mathbf{u}, \mathbf{v}$가 주어졌을 때, MI는 joint, marginal distribution 간의 Kullback-Leibler (KL) divergence $\mathbf{I}(\mathbf{u},\mathbf{v})=D_{KL}( P(\mathbf{u},\mathbf{v}); P(\mathbf{u})P(\mathbf{v}))$와 같음
    • 여기서 vCLUB을 통해 MI의 upper bound를 계산하면:
      (Eq. 4) $\mathbf{I}(\mathbf{u},\mathbf{v})=\mathbb{E}_{P(\mathbf{u},\mathbf{v})}[ \log Q_{\theta_{\mathbf{u},\mathbf{v}}}(\mathbf{u}|\mathbf{v})]-\mathbb{E}_{P(\mathbf{u})}\mathbb{E}_{P(\mathbf{v})}[\log Q_{\theta_{\mathbf{u},\mathbf{v}}}(\mathbf{u}|\mathbf{v})]$
      - $\mathbf{u},\mathbf{v}\in\{\hat{\mathbf{Z}}, \mathbf{s},\mathbf{p}\}$이고,  $\hat{\mathbf{Z}},\mathbf{s},\mathbf{p}$는 각각 content, speaker, pitch representation
      - $Q_{\theta_{\mathbf{u},\mathbf{v}}}(\mathbf{u}|\mathbf{v})$ : $\mathbf{v}$가 주어졌을 때 network $\theta_{\mathbf{u},\mathbf{v}}$로 parameterize 된 $\mathbf{u}$에 대한 ground-truth posterior의 variational approximation
    • 그러면 서로 다른 speech representation 간 vCLUB에 대한 unbiased estimation은:
      (Eq. 5) $\hat{\mathbf{I}}(\hat{\mathbf{Z}},\mathbf{s})=\frac{2}{K^{2}T} \sum_{k=1}^{K}\sum_{l=1}^{K}\sum_{t=1}^{T/2}\left[\log Q_{\theta_{\hat{\mathbf{Z}}, \mathbf{s}}}(\hat{\mathbf{z}}_{k,t}|\mathbf{s}_{k})- \log Q_{\theta_{\hat{\mathbf{Z}}, \mathbf{s}}}(\hat{\mathbf{z}}_{l,t}| \mathbf{s}_{k})\right]$
      (Eq. 6) $\hat{\mathbf{I}}(\mathbf{p},\mathbf{s})=\frac{2}{K^{2}T} \sum_{k=1}^{K}\sum_{l=1}^{K}\sum_{t=1}^{T/2}\left[\log Q_{\theta_{\mathbf{p}, \mathbf{s}}}(\mathbf{p}_{k,t}|\mathbf{s}_{k})- \log Q_{\theta_{\mathbf{p}, \mathbf{s}}}(\mathbf{p}_{l,t}| \mathbf{s}_{k})\right]$
      (Eq. 7) $\hat{\mathbf{I}}(\hat{\mathbf{Z}},\mathbf{p})=\frac{2}{K^{2}T} \sum_{k=1}^{K}\sum_{l=1}^{K}\sum_{t=1}^{T/2}\left[\log Q_{\theta_{\hat{\mathbf{Z}}, \mathbf{p}}}(\hat{\mathbf{z}}_{k,t}|\hat{\mathbf{p}}_{k,t})- \log Q_{\theta_{\hat{\mathbf{Z}}, \mathbf{p}}}(\hat{\mathbf{z}}_{l,t}| \hat{\mathbf{p}}_{k,t})\right]$
      - $\hat{\mathbf{p}}_{k,t}=(\mathbf{p}_{k,2t-1}+\mathbf{p}_{k,2t})/2$
      - 적절한 variational approximation을 사용하면 (Eq. 4)는 reliable MI upper bound를 제공할 수 있음
    • 결과적으로 (Eq. 5), (Eq. 6), (Eq. 7)을 최소화하면 서로 다른 speech representation 간의 correlation을 감소시킬 수 있고, 이때 total MI loss는:
      (Eq. 8) $\mathcal{L}_{MI}=\hat{\mathbf{I}}(\hat{\mathbf{Z}},\mathbf{s})+\hat{\mathbf{I}}(\hat{\mathbf{Z}}, \mathbf{p})+\hat{\mathbf{I}}(\mathbf{p},\mathbf{s})$
    • Training 중에 variational approximation network와 VC network는 교대로 최적화됨
      1. 여기서 variational approximation network는 log-likelihood를 최대화하도록 training 됨:
        (Eq. 9) $\mathcal{L}_{\mathbf{u},\mathbf{v}}=\log Q_{\theta_{\mathbf{u}, \mathbf{v}}}(\mathbf{u}|\mathbf{v}),\,\,\, \mathbf{u},\mathbf{v}\in\{\hat{\mathbf{Z}},\mathbf{s},\mathbf{p}\}$
      2. VC network는 다음의 VC loss를 최소화함:
        (Eq. 10) $\mathcal{L}_{VC}=\mathcal{L}_{VQ}+\mathcal{L}_{CPC}+\mathcal{L}_{REC}+\lambda_{MI}\mathcal{L}_{MI}$
        - $\lambda_{MI}$ : MI loss가 disentanglement를 enhance 하는데 대한 constant weight
    • 결과적으로 VQMIVC는 아래의 [Algorithm. 1]을 통해 training 됨
      - Training 과정에서 text transcription이나 speaker label이 사용되지 않으므로 fully-unsupervised manner로 동작 가능

VQMIVC Training Process

- One-Shot VC

  • Conversion 과정에서 content, pitch representation은 source speaker utterance $\mathbf{X}_{src}$에서 $\hat{\mathbf{Z}}_{src}=f(\mathbf{X}_{src};\theta_{c}), \mathbf{p}_{src}$로 각각 추출됨
    • 이후 speaker representation은 one target speaker utterance $\mathbf{X}_{tgt}$에서 $\mathbf{s}_{tgt}=f(\mathbf{X}_{tgt};\theta_{s})$로 추출됨
    • 이를 기반으로 decoder는 $f(\hat{\mathbf{Z}}_{src},\mathbf{s}_{tgt}, \mathbf{p}_{src};\theta_{d})$를 통해 converted mel-spectrogram을 생성함

3. Experiments

- Settings

- Results

  • Speech Representation Disentanglement Performance
    • (Eq. 10)의 VC loss에서 $\lambda_{MI}$는 SRD를 위한 MI capacity를 결정함
      - 따라서 $\lambda_{MI}$에 따른 vCLUB를 계산해 서로 다른 speech representation 간의 disentanglement를 비교 
    • 결과적으로 $\lambda_{MI}$가 증가하면 MI가 감소하여 speech representation 간의 correlation이 감소됨

Content, Speaker, Pitch Representation 간의 MI 비교

  • ASR system에 대해 MI가 사용되지 않은 ($\lambda_{MI}=0$) 경우, 생성된 speech는 높은 $\Delta_{C}, \Delta_{W}$ 값을 가짐
    • 즉, undesired content representation으로 인해 contaminate 될 수 있음
    • 한편으로 MI를 사용 ($\lambda_{MI}>0$)하면, $\Delta_{C}, \Delta_{W}$를 크게 낮출 수 있음
      - $\lambda_{MI}$가 증가함에 따라 speaker representation으로의 content information leakage를 방지 가능

$\lambda_{MI}$에 따른 CER/WER 비교

  • 추가적으로 $\hat{\mathbf{Z}}, \mathbf{s}$를 input으로 하는 speaker classifier와 $\hat{\mathbf{Z}}$를 input으로 $\mathbf{p}$를 추론하는 predictor를 비교하면
    • $\lambda_{MI}$가 증가하면 $\hat{\mathbf{Z}}$에 더 적은 speaker, pitch information이 포함됨
    • 특히 $\lambda_{MI}$가 클수록 $\mathbf{s}$는 speaker information을 lose 함

Speaker Classifier, Pitch predictor에 대한 영향

  • Content Preservation and $F_{0}$ Variation Consistency
    • Pearson Correlation Coefficient (PCC) 측면에서 $F_{0}$ variation을 비교해 보면, VQMIVC가 높은 PCC를 보임

PCC 비교

  • Speech Naturalness and Speaker Similarity
    • MOS 측면에서도 VQMIVC가 가장 우수한 naturalness와 similarity를 달성함

MOS 비교

 

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/09   »
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
Total
Today
Yesterday