티스토리 뷰
Paper/Conversion
[Paper 리뷰] DDDM-VC: Decoupled Denoising Diffusion Models with Disentangled Representation and Prior Mixup for Verified Robust Voice Conversion
feVeRin 2024. 10. 6. 11:13반응형
DDDM-VC: Decoupled Denoising Diffusion Models with Disentangled Representation and Prior Mixup for Verified Robust Voice Conversion
- Diffusion-based model은 data distribution에 많은 attribute가 존재하고 generation process에서 model parameter sharing에 대한 한계로 인해 각 attribute에 대한 specific style control이 어려움
- DDDM-VC
- Decoupled Denoising Diffusion Model을 도입하여 각 attribute에 대한 style transfer를 지원
- 특히 voice conversion task에서 linguistic information, intonation, timbre와 같은 speech attribute를 disentangling 하고 individually transferring 함 - 이를 위해 self-supervised representation을 통해 speech representation을 disentangle 하고, Decoupled Denoising Diffusion Model을 사용하여 disentangled representation으로부터 resynthesize를 수행
- 추가적으로 mixed style의 converted representation을 prior distribution으로 사용하는 Prior Mixup을 도입
- Decoupled Denoising Diffusion Model을 도입하여 각 attribute에 대한 style transfer를 지원
- 논문 (AAAI 2024) : Paper Link
1. Introduction
- Denoising Diffusion Probabilistic Model은 뛰어난 generation ability를 가지고 있음
- BUT, speech data에는 다양한 attribute가 포함되어 있으므로 all-level generation process에서 model parameter를 share 하는 single denoiser로는 각 attribute에 대한 specific style을 control 하기 어려움
- 이를 위해 imgae generation에서는 eDiff-i와 같이 single denoiser를 specific iterative step에 따라 점진적으로 multiple specialized denoiser로 subdivide 하는 방식을 사용함
- BUT, iteration에 대해 동일한 conditioning framework 내에서 각 attribute를 control 하는 것에는 한계가 있음 - 특히 voice conversion (VC)은 linguistic information을 유지하면서 voice style을 control 해야 하고, linguistic information, intonation, timbre 등의 다양한 attribute로 구성되어 있으므로 효과적인 disentangling이 필요함
-> 그래서 Decoupled Denoising Diffusion Model (DDDM)에 기반한 VC model인 DDDM-VC를 제안
- DDDM-VC
- Denoiser를 specific attribute-conditioned denoiser로 disentangle 하여 각 attribute에 대한 model controllability를 개선
- 여기서 각 denoiser는 동일한 noise level에서 own attribute noise에 focus 하고, 각 intermediate time step에서 noise를 제거함 - 이를 위해 self-supervised representation을 통해 source-filter theory에 기반한 speech representation을 disentangling 하고, DDDM을 활용하여 disentangle representation으로부터 각 attribute에 대한 speech를 resynthesize
- 추가적으로 converted speech를 mixed speech representation에서 생성된 diffusion model에 대한 prior distribution으로 사용하고 source speech를 restore 하는 voice style transfer training scenario인 Prior Mixup을 도입
- Denoiser를 specific attribute-conditioned denoiser로 disentangle 하여 각 attribute에 대한 model controllability를 개선
< Overall of DDDM-VC >
- 각 attribute의 style을 효과적으로 control 하기 위해, attribute를 decoupling 하는 DDDM을 채택
- 추가적으로 Prior Mixup을 도입하여 voice style transfer 성능을 향상
- 결과적으로 기존보다 뛰어난 conversion 성능을 달성
2. Background
- Denoising Diffusion Model은 일반적으로 random noise를 점진적으로 추가하는 forward process와 random noise를 제거하여 original sample을 restore 하는 reverse process로 구성됨
- 이때 Markov chain에 기반한 discrete-time diffusion process 대신 Stochastic Differential Equation (SDE) 기반의 continuous-time diffusion process를 사용하는 Score-based model을 채택할 수 있음
- 그러면 stochastic forward process는:
(Eq. 1)dx=f(x,t)dt+g(t)dw
- :f(.,t) 의 drift coefficient,x(t) : diffusion coefficient,g(t) : Brownian motionw - Reverse-time SDE는:
(Eq. 2)dx=[f(x,t)−g2(t)∇xlogpt(x)]dt+g(t)dˉw
- : backward-time Brownian motion,ˉw : score function∇xlogpt(x)
- 그러면 stochastic forward process는:
- 결과적으로
를 추정하기 위해 score-based diffusion model은 다음의 score-matching objective로 training 됨:sθ(x,t)≃∇xlogpt(x)
(Eq. 3)θ∗=argminθEt{λ(t)Ex(0)Ex(t)|x(0)[||sθ(x(t),t)−∇x(t)logp0t(x(t)|x(0))||22]}
- 이때 Markov chain에 기반한 discrete-time diffusion process 대신 Stochastic Differential Equation (SDE) 기반의 continuous-time diffusion process를 사용하는 Score-based model을 채택할 수 있음
- Diffusion vs. GAN
- 한편으로 Avocodo와 같이 speech domain에서 Generative Adversarial Network (GAN)를 활용할 수도 있음
- BUT, GAN은 fidelity와 diversity 간의 trade-off로 인해 entire distribution을 covering 하지 못함
- 실제로 아래 표와 같이 동일한 encoder를 사용하여 성능을 비교해 보면, diffusion-based VC model이 GAN-based VC model 보다 더 나은 speaker adaptation 성능을 보임
- 따라서 논문은 diffusion-based VC model인 DiffVC를 baseline으로 채택하여 사용함

3. Decoupled Denoising Diffusion Models
- Generative model에서 각 attribute에 대한 style을 효과적으로 control 하기 위해, 논문은 multiple disentangled denoiser를 가지는 Decoupled Denoising Diffusion Model (DDDM)을 도입함
- 구체적으로 임의의 주어진 point에서 하나 이상의 attribute denoiser가 사용됨
- 즉, single denoiser를 사용하는 일반적인 diffusion process와 달리, DDDM은 denoiser를 disentangled representation을 가지는 개의 denoiser로 subdivide 함N - 이때 DiffVC의 data-driven prior를 따라, 각 attribute denoiser의 prior로 attribute
의 disentangled representation을 사용함Zn - 그러면 DDDM의 forward process는:
(Eq. 4)dXn,t=12βt(Zn−Xn,t)dt+√βtdWt
- ,n∈[1,N] : 각 attribute,n : attribute 수N
- : stochastic noise를 regulate 하는 역할,βt : forward Brownian motionWt - 각 attribute에 대해 (Eq. 4)의 forward SDE에 대한 reverse trajectory가 존재하고, 각 disentangled denoiser의 reverse process는:
(Eq. 5)dˆXn,t=(12(Zn−ˆXn,t)−∑Nn=1sθn(ˆXn,t,Zn,t))βtdt+√βtdˉWt
- ,t∈[0,1] : 각 attributesθn 에 대해n 으로 parameterize 된 score functionθn
- : backward Brownian motionˉWt - 여기서 각 prior attribute
을 가지는 noisy samplen 를 생성하려면:Xn,t
(Eq. 6)p0t(Xn,t|X0)=N(e−12∫t0βsdsX0+(1−e−12∫t0βsds)Zn,(1−e−∫t0βsds)I)
- : identity matrixI - (Eq. 6)의 distribution은 Gaussian이므로, 다음을 얻을 수 있음:
(Eq. 7)∇logp0t(Xn,t|X0)=−Xn,t−X0(e−12∫t0βsds)−Zn(1−e−12∫t0βsds)1−e−∫t0βsds - (Eq. 5)의 reverse process는 parameter
을 사용하여 다음의 objective를 통해 최적화됨:θn
(Eq. 8)θ∗n=argminθn∫10λtEX0,Xn,t||sθn(Xn,t,Zn,t)−∇logp0t(Xn,t|X0)||22dt
- ,θ=[θ1,...,θN] λt=1−e−∫t0βsds
- 그러면 DDDM의 forward process는:
- 추가적으로 DDDM-VC는 reverse SDE solver로 forward diffusion의 log-likelihood를 최대화하는 ML-SDE solver를 사용하여 fast sampling을 유도함
- 구체적으로 임의의 주어진 point에서 하나 이상의 attribute denoiser가 사용됨

4. DDDM-VC
- DDDM-VC는 전체적으로 source-filter encoder와 source-filter decoder로 구성됨

- Speech Disentanglement
- Content Representation
- Phonetic information과 관련된 content representation을 추출하기 위해 DDDM-VC는 self-supervised speech representation을 사용함
- 이때 robust zero-shot cross-lingual VC를 위해 large-scale cross-lingual speech dataset으로 train 된 Wav2Vec 2.0인 XLS-R의 continuous representation을 채택
- 추가적으로 filter encoder에 전달하기 전에 audio를 perturbe 하여 content-independent information을 제거함 - 결과적으로 XLS-R의 middle layer에는 substantial linguistic information이 포함되어 있으므로 해당 representation을 content representation으로 채택함
- Pitch Representation
- YAPPT algorithm을 사용하여 audio에서 fundamental frequency
를 추출한 다음, speaker-irrelevant speaking style을 encode 함F0 - 각 sample의
는 speaker-independent pitch information을 위해 각 speaker에 대해 normalize 되고, VQ-VAE는 vector-quantized pitch representation을 추출하는 데 사용됨F0
- 추론 시에는 speaker가 아닌 각 sentence에 대해 를 normalize 함F0
- YAPPT algorithm을 사용하여 audio에서 fundamental frequency
- Speaker Representation
- Meta-StyleSpeech의 style encoder를 사용하여 mel-spectrogram에서 target speaker representation을 추출함
- 추출된 speaker representation은 global speaker representation을 위해 sentence 마다 평균되고, speaker adaptation을 위해 모든 encoder/decoder에 전달됨
- Speech Resynthesis
- Source-Filter Encoder
- DDDM-VC는 source-filter theory를 따라 speech attribute를 정의함
- 여기서 fitler encoder는 content와 speaker representation을 input으로 하고 source encoder는 pitch, speaker rperesentation을 input으로 함 - PriorGrad, DiffVC 등에서 사용된 data-driven piror는 phoneme-level average mel-spectrogram을 추출하기 위해 text transcript가 필요하고, smoothed mel-spectrogram으로 인해 mispronunciation이 발생한다는 단점이 있음
- 따라서 DDDM-VC에서는 detailed piror를 얻기 위해, mel-spectrogram
에 의해 regularize 된 entirely reconstructed sourceXmel 와 mel-sepctrogramZsrc 을 사용함:Zftr
(Eq. 9)Lrec=||Xmel−(Zsrc+Zftr)||1 - 여기서:
(Eq. 10)Zsrc=Esrc(pitch,s),Zftr=Eftr(content,s)
- 따라서 DDDM-VC에서는 detailed piror를 얻기 위해, mel-spectrogram
- Disentangle representation에서 disentangled source와 filter mel-spectrogram은 다른 speaker representation
로 simply convert 됨s
- 결과적으로 논문은 VC를 위해 각 denoiser에서 converted source와 filter mel-spectrogram을 prior로 채택함
- DDDM-VC는 source-filter theory를 따라 speech attribute를 정의함
- Source-Filter Decoder
- 논문은 DDDM을 기반으로 source, filter representation에 대한 disentanlged denoiser를 활용함
- 여기서 source decoder는 source representation 를 prior로 사용하고 filter decoder는 filter representationZsrc 를 prior로 사용함Zftr - 이후, 각 denoiser는 speaker representation에 따라 condition 된 동일한 noise를 가지는 각 prior에서 target mel-spectrogram을 생성하도록 training 됨
- 이를 통해 각 denoiser는 own attribute에서 single noise를 제거하는데 focus 할 수 있음
- 이때 forward process는:
(Eq. 11)dXsrc,t=12βt(Zsrc−Xsrc,t)dt+√βtdWt
(Eq. 12)dXftr,t=12βt(Zftr−Xftr,t)dt+√βtdWt
- ,t∈[0,1] : 각 prior attribute (source-related, filter-related)로 생성된 noisy sampleXsrc,t,Xftr,t - (Eq. 11), (Eq. 12)의 forward SDE에는 reverse trajectory가 존재하므로 reverse process는:
(Eq. 13)dˆXsrc,t=(12(Zsrc−ˆXsrc,t)−(sθsrc(ˆXsrc,t,Zsrc,s,t)+sθftr(ˆXftr,t,Zftr,s,t)))βtdt+√βtdˉWt
(Eq. 14)dˆXftr,t=(12(Zftr−ˆXftr,t)−(sθftr(ˆXftr,t,Zftr,s,t)+sθsrc(ˆXsrc,t,Zsrc,s,t)))βtdt+√βtdˉWt
- : 각각sθsrc,sθftr 로 parameterize 된 score functionθsrc,θftr
- 이때 forward process는:
- 논문은 DDDM을 기반으로 source, filter representation에 대한 disentanlged denoiser를 활용함

- Prior Mixup
- Speech를 여러 attribute로 disentangle 하고 self-supervised representation과 diffusion process를 사용하여 고품질 resynthesize가 가능하지만, 여전히 input speech로만 training 되므로 training-inference mismatch 문제가 존재함
- 이를 해결하기 위해 논문은 위 그림의 (c)와 같이 reconstructed representation 대신 randomly selected representation을 prior distribution으로 사용하는 Prior Mixup을 도입함
- Source-filter encoder는 disentangled representation에서 source와 filter를 reconstruct 하도록 train 될 수 있음
- 따라서 converted source와 filter는 다음과 같이 randomly selected speaker style
로 얻어짐:sr
(Eq. 15)Zsrc,r=Esrc(pitch,sr),Zftr,r=Eftr(content,sr) - 그러면 randomly converted source
과 filterZsrc,r 은 다음과 같이 각 denoiser의 prior로 사용됨:Zftr,r
(Eq. 16)dXsrc,t=12βt(Zsrc,r−Xsrc,t)dt+√βtdWt
(Eq. 17)dXftr,t=12βt(Zftr,t−Xftr,t)dt+√βtdWt - (Eq. 16), (Eq. 17)에 대한 reverse process는:
(Eq. 18)dˆXsrc,t=(12(Zsrc,r−ˆXsrc,t)−sθsrc(ˆXsrc,t,Zsrc,r,so,t)−sθftr(ˆXftr,t,Zftr,r,so,t))βtdt+√βtdˉWt
(Eq. 19)dˆXftr,t=(12(Zftr,r−ˆXftr,t)−sθftr(ˆXftr,t,Zftr,r,so,t)−sθsrc(ˆXsrc,t,Zsrc,r,so,t))βtdt+√βtdˉWt
- : original speaker styleso
- 따라서 converted source와 filter는 다음과 같이 randomly selected speaker style
- 결과적으로 Prior Mixup은 model이 source speech를 reconstructing 할 때도 converted speech를 source speech로 convert 하도록 training 하기 때문에 training-inference mismatch 문제를 완화할 수 있음
- 특히 source-filter encoder가 추론 중에 VC를 효과적으로 수행하지 못하더라도 voice style을 source-filter decoder에 conditioning 할 수 있음 - Style encoder, source-filter encoder, pre-trained XLS-R와
VQ-VQE가 없는 decoder를 포함하는 전체 model은 각 attribute에 대해 (Eq. 8), (Eq. 9)를 사용하여 end-to-end로 jointly train 됨F0
5. Experiments
- Settings
- Dataset : LibriTTS, VCTK
- Comparisons : AutoVC, DiffVC, VoiceMixer, SR
- Results
- Many-to-Many Voice Conversion
- 전체적으로 DDDM-VC가 가장 우수한 성능을 보임

- Zero-Shot/One-Shot Voice Conversion
- Zero-shot, One-shot 설정의 경우에도 DDDM-VC의 성능이 가장 뛰어남

- Ablation Study
- Ablation study 측면에서 각 component가 제거되는 경우 성능 저하가 발생함

- Prior Mixup
- Prior Mixup이 적용되는 경우 더 나은 speaker adapatation을 제공하여 generalization을 향상할 수 있음
- 특히 prior mixup으로 training 된 diffusion decoder는 target voic style을 conditioning 하여 wrong prior에 대해서도 변환을 수행할 수 있음

- Prior Mixup이 없는 경우, large-scale model은 noisy sample에서 conditioning을 무시하고 random noise를 추정할 수 있음
- 이때 piror mixup을 적용하면 large-scale model에 대해서도 안정적인 성능을 달성 가능

반응형