티스토리 뷰
Paper/Conversion
[Paper 리뷰] VQMIVC: Quantization and Mutual Information-based Unsupervised Speech Representation Disentanglement for One-Shot Voice Conversion
feVeRin 2024. 8. 13. 09:41반응형
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를 수행함
- 즉, speech를 speaker와 content representation으로 decompose 한 다음, source speaker representation을 target speaker로 변환하는 방식
- BUT, SRD degree를 결정하는 것이 어렵고, correlation constraint가 없기 때문에 content information이 speaker information으로 leakage 된다는 한계가 있음
- 특히 one-shot VC는 one target speaker utterance만 주어진 상황에서 voice conversion을 수행해야 함
-> 그래서 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를 활용
- Content Encoder : acoustic feature에서 frame-level content representation을 추출하기 위해 Vector Quantization with Constrastive Predictive Coding (VQCPC)를 도입
- Speaker Encoder : acoustic feature로부터 single fixed-dimensional vector를 speaker representation으로 생성
- Pitch Extractor : pitch representation을 위해 utterance-level에서 normalized fundamental frequency $F_{0}$를 계산
- Decoder : content/speaker/pitch representation을 acoustic feature에 mapping 하는 역할
- Training 과정에서 VQMIVC는 VQCPC, reconstruction loss, MI loss를 최소화하는 것으로 최적화됨
- Vector Quantization (VQ)과 Mutual Information (MI)를 활용하여 one-shot VC를 수행
< 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}\}$와 같이 얻어짐
- 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$로 구성됨
- 먼저 $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 됨 - 이후 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 - 특히 VQ는 $\mathbf{Z}_{k}$에서 non-essential detail을 제거하기 위해 information bottleneck을 적용하여, $\hat{\mathbf{Z}}_{k}$가 underlying linguistic information과 relate 되도록 함
- 먼저 $h$-net은 $\mathbf{X}_{k}$를 사용하여 dense feature sequence $\mathbf{Z}_{k}=\{\mathbf{z}_{k,1},\mathbf{z}_{k,2},...,\mathbf{z}_{k,T/2}\}$를 얻음
- 그러면 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)를 도입함
- 즉, $\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$) - (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을 얻을 수 있음
- 즉, $\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 됨:
- 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}$를 채택
- Pitch representation은 intonation variation은 포함해야 하지만 content/speaker information은 포함하지 않아야 함
- 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]$
- 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는 교대로 최적화됨
- 여기서 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}\}$ - 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
- 여기서 variational approximation network는 log-likelihood를 최대화하도록 training 됨:
- 결과적으로 VQMIVC는 아래의 [Algorithm. 1]을 통해 training 됨
- Training 과정에서 text transcription이나 speaker label이 사용되지 않으므로 fully-unsupervised manner로 동작 가능
- 여기서 vCLUB을 통해 MI의 upper bound를 계산하면:
- 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이 감소됨
- (Eq. 10)의 VC loss에서 $\lambda_{MI}$는 SRD를 위한 MI capacity를 결정함
- 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를 방지 가능
- 추가적으로 $\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 함
- Content Preservation and $F_{0}$ Variation Consistency
- Pearson Correlation Coefficient (PCC) 측면에서 $F_{0}$ variation을 비교해 보면, VQMIVC가 높은 PCC를 보임
- Speech Naturalness and Speaker Similarity
- MOS 측면에서도 VQMIVC가 가장 우수한 naturalness와 similarity를 달성함
반응형
'Paper > Conversion' 카테고리의 다른 글
댓글