티스토리 뷰
반응형
AdaVocoder: Adaptive Vocoder for Custom Voice
- Custom voice는 few target recording만을 사용하여 personal 음성 합성을 구축하는 것을 목표로 함
- 이때 vocoder 학습을 위한 multi-speaker dataset은 확보하기 어렵고, target speaker의 분포는 training dataset의 분포와 항상 mismatch 하게 나타나는 문제점이 있음
- AdaVocoder
- Adaptive vocoder를 위해 cross-domain consistency loss를 도입
- Few-shot transfer learning에 대한 GAN-based vocoder의 overfitting 문제를 해결하여 고품질의 custom voice를 얻음
- 논문 (INTERSPEECH 2022) : Paper Link
1. Introduction
- Text-to-Speech (TTS)의 pipeline에서 acoustic model과 vocoder는 custom voice 합성에 큰 영향을 미침
- 먼저 acoustic model 측면에서 custom voice는:
- Custom recording은 training data와 prosody, emotion과 같은 acoustic condition이 다르기 때문에 adaptation이 어려움
- 이때 adaptation 성능을 위해 fine-tuning을 수행할 수 있지만, 많은 adaptation parameter가 발생하게 되므로 parameter와 합성 품질 간의 trade-off가 발생함
- AdaSpeech의 경우, Conditional Layer Normalization을 도입하여 adaptive parameter를 줄이면서 우수한 합성 품질을 달성했음
- Vocoder 측면에서 custom voice는:
- Acoustic model과 마찬가지로 training data와 custom data 간의 분포 mismatch로 인해 adaptation이 어려움
- 특히 vocoder는 size가 작고 terminal side에서 동작하기 때문에 acoustic model과 달리 parameter와 품질 간의 trade-off 관계가 크지 않음
- 이때 vocoder의 adaptation을 위해 일반적으로 universal vocoder를 활용함
- 이러한 universal vocoder를 구성하기 위해서는 speaker variety의 확보가 가장 중요하지만, 실질적으로 variety speaker corpora를 수집하는 것은 어려움
- 결과적으로 여전히 vocoder는 source domain과 target domain 간의 차이로 인해 낮은 cutom voice 품질을 보일 수밖에 없음 - 한편으로 vocoder를 fine-tuning 하는 방법을 활용할 수도 있음
- BUT, few-shot target domain에서 HiFi-GAN과 같은 최신 vocoder를 fine-tuning 하면 overfitting이 쉽게 발생함
- 먼저 acoustic model 측면에서 custom voice는:
-> 그래서 few-shot adaptation에서 vocoder의 overfitting 문제를 방지하는 AdaVocoder를 제안
- AdaVocoder
- Cross-domain consistency loss를 활용하여 source의 instance간 relative similarity와 difference를 preserve 함
- 이를 통해 limited instance에서 vocoder를 fine-tuning 함으로써 발생하는 overfitting을 방지 가능
< Overall of AdaVocoder >
- Custom voice 작업을 위해 cross-domain consistency loss를 도입한 adaptive vocoder를 제안
- 결과적으로 10개 이하의 few-shot recording 만으로 기존 GAN-based vocoder를 fine-tuning 하여 우수한 adaptation 성능을 달성
2. Method
- Large source dataset
로 training 하여 mel-spectrogramDs 을 waveformm∼pm(m)⊂M 로 mapping 하는 source generatorx 를 얻는다고 하자Gs - AdaVocoder는 source generator에 대한 weight를 initializing 하고, 이를 small target dataset
에 fitting 함으로써 adapted generatorDt 를 얻는 것을 목표로 함Gs→t - 일반적인 fine-tuning 방식은 다음과 같이 trained generator와 discriminator를 기반으로 GAN training step으로 fine-tuning 함:
(Eq. 1)Ladv(G,D)=D(G(m))−D(x),G∗s→t=Em∼pm(m),x∼DtargminGmaxDLadv(G,D) - 이러한 transfer method는 target dataset size가 1000 sample 이상일 때 잘 동작하므로, few-shot transfer learning에서는 discriminator가 sample을 기억하고 결과적으로 overfitting이 발생하게 됨
- 따라서 AdaVocoder는 이러한 overfitting 문제를 해결하기 위해 cross-domain consistency loss를 도입
- AdaVocoder는 source generator에 대한 weight를 initializing 하고, 이를 small target dataset
- Cross-domain Distance Consistency
- Cross-domain Distance Consistency loss는 이미지 생성에서 diversity 문제를 해결하기 위해 제안되었음
- 음성 합성 작업에 대한 GAN training 역시 유사한 구성을 가지므로, overfitting을 방지하기 위해 pair-wise relative distance를 사용할 수 있음
- 먼저
batch의 mel-spectrogramN+1 을 sampling 하고, feature space에서 pair-wise similarity를 사용하여 각 음성에 대한{mn}N0 -way 확률 분포를 구성함N - 이때
-th mel-spectrogram에 대한 source와 adapted generator의 확률 분포는:i
(Eq. 2)ys,li=Softmax({sim(Gls(mi),Gls(mj))}∀j≠i) ys→t,li=Softmax({sim(Gls→t(mi),Gls→t(mj))})
- :sim -th layer의 generator activation 간의 cosine similarityl - 결과적으로 Cross-domain consistency loss는:
(Eq. 3)Ldist(Gs→t,Gs)=E{mi∼pm(m)}∑l,iDKL(ys→t,li||ys,li)
- 이때

- AdaMelGAN
- AdaMelGAN의 generator와 discriminator는 training process에 앞선 cross-domain consistency loss가 추가된다는 것을 제외하면, 기존 MelGAN과 동일함
- Generator
- MelGAN의 generator는 mel-spectrogram
을 input으로 하여 raw waveformm 를 output 하는 fully convolutional feed-forward networkx - 이때 mel-spectrogram은
lower temporal resolution이므로, MelGAN은 transposed convolutional layer를 stack 하여 input sequence를 upsampling 함256×
- MelGAN의 generator는 mel-spectrogram
- Discriminator
- MelGAN의 discriminator는 generator에 더 나은 guiding signal을 제공하기 위해 waveform의 characteristic을 capture 하는 것을 목표로 함
- 이를 위해 서로 다른 audio scale에서 동작하는 3개의 discriminator
를 사용하는 multi-scale architecture를 채택함D1,D2,D3
- 은 raw audio scale에서,D1 는D2 downsampled audio,2× 는D3 downsampled audio에서 동작4×
- Final Objective
- MelGAN을 training 하기 위해 다음의 hinge loss GAN objecitve를 사용함:
(Eq. 4)Ladv(Dk,G)=Ex[min(0,1−Dk(x))]+Em[min(0,1+Dk(G(m)))],∀k=1,2,3 Ladv(G,D)=Em[∑k=1,2,3−Dk(G(m))] - 추가적으로 feature matching loss
를 적용하고, few-shot transfer learning을 위해 앞선 cross-domain consistency loss를 도입함:Lfm(G,D)
(Eq. 5)G∗s→t=argminGs→tmaxDLadv(Gs→t,D)+λcdLdist(Gs→t,Gs)+λfm∑3k=1Lfm(Gs→t,Dk)
- : cross-domain consistency loss의 coefficient,λcd : feature matching loss의 coefficientλfm
- 논문에서는 각각 , 10으로 설정103
- MelGAN을 training 하기 위해 다음의 hinge loss GAN objecitve를 사용함:
- Generator
- AdaHiFi-GAN
- AdaHiFi-GAN 역시 training 중에 cross-domain consistency loss가 추가되는 것을 제외하면 HiFi-GAN과 동일함
- Generator
- 앞선 MelGAN과 마찬가지로 fully convolutional neuarl network를 사용하여 generator를 구축함
- 이때 HiFi-GAN은 multi-receptive field fusion module을 활용해 다양한 length의 pattern을 병렬적으로 처리함
- Discriminator
- HiFi-GAN은 Multi-Period Discriminator (MPD)와 Multi-Scale Discriminator (MSD) 두 가지 discriminator를 사용함
- 특히 MPD는 다양한 period에 대해 input audio를 서로 다르게 capture 함으로써 다양한 implicit structure를 반영할 수 있음
- Final Objective
- Generator
와 DiscriminatorG 에 대한 HiFi-GAN loss는:D
(Eq. 6)Ladv(D,G)=E(x,m)[(D(x)−1)2+(D(G(m)))2] Ladv(G,D)=Em[(D(G(m))−1)2]
- 이때 추가적으로 mel-spectrogram loss 와 feature matching lossLmel(G) 를 사용하여 generator의 training 효율성을 향상할 수 있음Lfm(G,D) - Few-shot transfer learning을 위해, cross-domain consistency loss를 도입하면:
(Eq. 7)G∗s→t=argminGs→tmaxDLadv(Gs→t,D)+λcdLdist(Gs→t,Gs)+λfmLfm(Gs→t,D)+λmelLmel(Gs→t)
- : 각각 cross-domain consistency loss, feature matching loss, mel-spectrogram loss의 coefficientλcd,λfm,λmel
- 논문에서는 각각 , 2, 45로 설정103
- Generator
- Generator
3. Experiments
- Settings
- Results
- AISHELL3 dataset에 대해 transfer method를 비교해 보면, 제안하는 방식이 기존 GAN transfer learning 보다 우수한 성능을 보임

- 마찬가지로 CSMSC dataset에서도 제안하는 transfer method가 우수한 성능을 보임

- AdaSpeech를 기반으로 fine-tuning 된 AdaHiFi-GAN을 vocoder로 적용해 보면, 10개의 recording 만으로 우수한 end-to-end custom voice 합성 성능을 달성할 수 있음

반응형