티스토리 뷰
Paper/TTS
[Paper 리뷰] VoiceGuider: Enhancing Out-of-Domain Performance in Parameter-Efficient Speaker-Adaptive Text-to-Speech via Autoguidance
feVeRin 2025. 4. 2. 20:24반응형
VoiceGuider: Enhancing Out-of-Domain Performance in Parameter-Efficient Speaker-Adaptive Text-to-Speech via Autoguidance
- Speaker adaptive text-to-speech model에 paramter-efficient fine-tuning을 적용하는 경우, out-of-domain speaker에 대한 adaptation performance의 한계가 있음
- VoiceGuider
- Autoguidance로 reinforce 된 speaker adaptive text-to-speech model
- Autoguidance strengthening strategy를 통해 out-of-domain data에 대한 robustness를 향상
- 논문 (ICASSP 2025) : Paper Link
1. Introduction
- Speaker-adaptive Text-to-Speech (TTS)는 unseen speaker에 대해 speech synthesis를 수행함
- 이를 위해 VALL-E, P-Flow, VoiceBox와 같은 zero-shot approach나 AdaSpeech, UnitSpeech와 같은 few-shot adaptation을 고려할 수 있음
- Zero-shot adaptation은 additional training에 대한 필요성을 줄일 수 있지만, 일반적으로 상당한 training resource, model size를 요구함
- 반면 few-shot adaptation은 zero-shot method 보다 더 적은 training cost를 사용하면서도 우수한 합성 성능을 얻을 수 있음
- 특히 VoiceTailor는 Low-Rank Adaptation (LoRA)와 diffusion decoder를 활용하여 efficient one-shot speaker-adaptive TTS가 가능함
- BUT, 대부분의 one-shot TTS model은 well-constrained speech data에 의존하므로 real-world scenario의 in-the-wild reference에 robust 하지 않음
- 결과적으로 pre-training distribution에서 deviate 하는 Out-of-Distribution (OOD) data에 대해 성능 저하를 보임
- 이를 위해 VALL-E, P-Flow, VoiceBox와 같은 zero-shot approach나 AdaSpeech, UnitSpeech와 같은 few-shot adaptation을 고려할 수 있음
-> 그래서 OOD data에 대한 성능 저하를 완화한 parameter-efficient speaker-adaptive TTS model인 VoiceGuider를 제안
- VoiceGuider
- Parameter-efficient one-shot TTS model인 VoiceTailor를 backbone으로 사용
- OOD data에 대한 adaptation 성능을 향상하기 위해, degraded model을 통해 generation을 guiding하는 Autoguidance를 도입
- Degraded model candidate exploring을 통해 optimal autoguidance strategy를 identify
< Overall of VoiceGuider >
- VoiceTailor를 기반으로 autoguidance를 도입한 parameter-efficient speaker-adaptive TTS model
- 결과적으로 기존보다 뛰어난 OOD data adaptation 성능을 달성
2. Method
- VoiceGuider는 parameter-efficient speaker adaptive TTS에서 OOD performance degradation 해결을 목표로 함
- Background
- Denoising Diffusion
- Diffusion model은 multiple step으로 data에 Gaussian noise를 add 하고 denoising process를 통해 data를 생성함
- Speaker-adaptive TTS의 경우 text embedding $c$와 speaker embedding $S$가 주어졌을 때, 다음의 objective를 활용하여 noisy mel-spectrogram $X_{t}$에 add 된 noise $\epsilon_{t}$를 recover 하도록 diffusion model을 training 함:
(Eq. 1) $\mathcal{L}(\theta)=\mathbb{E}_{t,X_{0},\epsilon_{t}}\left[|| \sqrt{1-\lambda_{t}}s_{\theta}(X_{t}|c,S)+\epsilon_{t}||_{2}^{2}\right]$
- $s_{\theta}$ : diffusion model, $\lambda_{t}$ : Grad-TTS의 pre-defined noise schedule, $t\in[0,1]$ : noise level
- Diffusion Guidance
- Diffusion model은 Classifier-Free Guidance (CFG)를 사용하여 sample quality와 주어진 condition에 대한 likelihood를 개선할 수 있음
- 각 generation step에서 CFG는 두 prediction 간의 extrapolation을 통해 model prediction을 modify 함:
(Eq. 2) $\hat{s}_{\gamma}(X_{t}|c,S)=s_{\theta}(X_{t}|c,S)+\gamma(s_{\theta}(X_{t}|c,S)-s_{\theta}(X_{t}|c,\emptyset))$
- $\gamma$ : guidance scale - 여기서 CFG는 undesired speaker를 avoid 하기 위해 unconditional distribution을 push away 하여 speaker $S$의 likelihood를 increase 함
- VoiceTailor: Parameter-Efficient Baseline
- Pre-trained diffusion model이 주어졌을 때, VoiceTailor는 (Eq. 1)을 사용하여 new speaker에 adapt 하기 위해 parameter-efficient adapter인 LoRA를 training 함
- Pre-trained diffusion model에서 attention module의 각 linear layer $W_{0}$에 대해 VoiceTailor는 $B\in\mathbb{R}^{d\times r}, A\in\mathbb{R}^{r\times k}$인 new matrix $\Delta W=BA$만 training 함
- 즉, scale을 $\alpha$라고 할 때, $W=W_{0}+\alpha\cdot BA$ - 결과적으로 VoiceTailor는 small rank $r$을 choice 하여 whole parameter의 $0.25\%$만 학습함
- 이를 통해 small parameter 만으로도 fine-tuning baseline인 UnitSpeech 수준의 speaker adaptation 성능을 달성할 수 있음 - BUT, VoiceTailor는 pre-trained domain과 close 한 in-domain speaker에 대해서는 strong performance를 보이지만 OOD speaker에 대해서는 낮은 성능을 보임
- Pre-trained diffusion model에서 attention module의 각 linear layer $W_{0}$에 대해 VoiceTailor는 $B\in\mathbb{R}^{d\times r}, A\in\mathbb{R}^{r\times k}$인 new matrix $\Delta W=BA$만 training 함
- VoiceGuider: Eliminating LoRA Error with Autoguidance
- VoiceTailor는 LoRA의 limited capacity로 인해 OOD speaker에 대한 prediction error가 발생하고, 해당 error는 diffusion model의 iterative generation process를 통해 amplify 되므로 성능이 저하될 수 있음
- 따라서 논문은 CFG가 undesired sample을 steer away 한다는 점을 활용하여 speaker-adaptive TTS에서 LoRA error를 eliminate 함 - Autoguidance
- Diffusion guidance에서 strong conditional model과 unconditional model은 correlated error를 share 함
- 경험적으로 unconditional model error가 over-emphasize 되므로, CFG의 extrapolation을 통해 해당 error를 eliminate 할 수 있음 - 이때 unconditional model $s_{1}(X_{t}|c,S)$ 대신 inferior model $s_{0}(X_{t}|c,S)$로 strong model $s_{1}(X_{t}|c,S)$를 guide 하는 autoguidance와 CFG를 combine 하면:
(Eq. 3) $\hat{s}_{\gamma}(X_{t}|c,S)=s_{1}(X_{t}|c,S)+\underset{\text{Speaker likelihood}\,\,\uparrow}{\underbrace{\gamma_{S}(s_{1}(X_{t}|c,S)-s_{1}(X_{t}|c,\emptyset))}}+\underset{\text{LoRA error}\,\, \downarrow }{\underbrace{\gamma_{a}(s_{1}(X_{t}|c,S)-s_{0}(X_{t}|c,S))}}$
- $\gamma_{S}, \gamma_{a}$ : 각각 CFG, autoguidance의 scale
- 결과적으로 speaker likelihood를 amplify 하고 LoRA error를 줄이는 것이 가능함 - 추가적으로 speaker-adaptive TTS에 대한 optimal autoguidance strategy를 identify 하기 위해, inferior model $s_{0}$에 대한 다음의 candidate를 고려함:
- Shorter Training Time
- $s_{1}$에 비해 shorter training time을 소모한 model을 사용하여 $s_{0}$를 구성함
- $s_{1}$의 intermediate checkpoint에서 derive 될 수 있으므로, inferior model을 쉽게 얻을 수 있음 - Smaller LoRA Rank
- $s_{1}$ 보다 smaller LoRA rank size를 사용하여 $s_{0}$를 구성함
- VoiceTailor를 기준으로, $2,4$와 같은 smaller rank는 $16$ rank size에 비해 inferior 함
- Shorter Training Time
- Diffusion guidance에서 strong conditional model과 unconditional model은 correlated error를 share 함
- Limited Guidance Interval
- Autoguidance는 generation process의 certain interval에서 detrimental 함
- 특히 high noise level에서 guidance는 data distribution과 blindly push away 되므로 mode dropping과 sample quality degrade가 발생함 - 경험적으로 $t\in[0.6, 1.0]$ range에서 guidance가 detrimental하므로, 해당 range에서 CFG와 autoguidance를 모두 disable하여 error를 줄이고 higher speaker similarity를 달성할 수 있음
- 결과적으로 guidance scale $\gamma_{S}, \gamma_{a}$는:
(Eq. 4) $\gamma(t)=\left\{\begin{matrix}
\gamma, & \text{if}\,\,t\in(t_{\text{lo}},t_{\text{hi}}] \\
0, & \text{otherwise} \\
\end{matrix}\right.$
- Disabled interval에서 autoguidance의 inferior model $s_{0}$는 fine-tuned model $s_{1}$과 equivalent하다고 볼 수 있음
- Autoguidance는 generation process의 certain interval에서 detrimental 함
3. Experiments
- Settings
- Dataset : LibriTTS, VCTK, GigaSpeech
- Comparisons : XTTS, CosyVoice, UnitSpeech, VoiceTailor
- Results
- Problem Statement
- In-domain, OOD, in-the-wild OOD의 3가지 dataset에 대한 SECS를 비교해 보면, data domain에서 멀어질수록 performance gap이 증가함
- Model Comparison
- In-the-Wild OOD data인 GigaSpeech에 대해, VoiceGuider는 pre-training에 heavy data를 사용하는 XTTS, CosyVoice와 비슷한 preference를 달성함
- Ablation Study
- 먼저 100 training iteration을 사용할 때 최적의 성능을 달성할 수 있음
- LoRA rank $r$ 측면에서 smaller rank는 meaningful variance를 보이지 않음
- Autoguidance scale은 1일 때 최적의 성능을 보임
- Upper bound가 tighten 하면 adaptation performance가 개선되지만, lower bound가 증가하면 CER은 저하됨
반응형
'Paper > TTS' 카테고리의 다른 글
댓글