티스토리 뷰

반응형

VoiceTailor: Lightweight Plug-In Adapter for Diffusion-based Personalized Text-to-Speech


  • Pre-trained diffusion-based model에 personalized adapter를 결합하여 parameter-efficient speaker adaptive Text-to-Speech를 수행할 수 있음
  • VoiceTailor
    • Parameter-Efficient Adaptation을 위해 Low-Rank Adaptation을 활용하고 adapter를 pre-trained diffusion decoder의 pivotal module에 통합
    • Few parameter 만으로 강력한 adaptation을 달성하기 위해 guidance technique과 speaker information strengthening을 채택
  • 논문 (INTERSPEECH 2024) : Paper Link

1. Introduction

  • Adaptive Text-to-Speech (TTS)를 위해 zero-shot 방식과 one-shot 방식을 고려할 수 있음
    • VoiceBox, VALL-E, P-Flow와 같은 zero-shot 방식은 speaker adaptation을 위해 reference audio에 대한 추가적인 fine-tuning 과정이 필요하지 않다는 장점이 있음
      - BUT, 높은 speaker similarity를 달성하기 위해 일반적으로 training 중에 대용량의 speech corpus가 필요함
    • 한편으로 AdaSpeech와 같은 one-shot 방식은 target speaker에 대한 few reference speech를 통해 pre-trained TTS model을 fine-tuning 하여 personalized TTS를 수행함
      1. 이때 target speaker에 대한 efficient adaptation을 위해 parameter subset을 활용하거나 Low-Rank Adaptation (LoRA)를 적용하거나, prefix-tuning 등을 사용하여 adapter의 parameter를 fine-tuning 할 수 있음
      2. BUT, 해당 방식은 decoder model의 한계로 인해 speaker similarity가 제한적이고, fine-tuning 과정에서도 1분 이상의 긴 speech data가 필요하다는 단점이 있음  
    • 한편으로 Guided-TTS, UnitSpeech와 같이 fine-tuning-based personalized generation을 위해 DDPM을 기반으로 diffusion-based one-shot TTS model을 구축할 수 있음
      1. 해당 방식들은 diffusion model의 adaptation 성능을 기반으로 5~10초의 짧은 reference speech 만으로도 높은 speaker similairty를 달성 가능함
      2. BUT, 기존 one-shot 방식과는 달리 모든 model parameter를 fine-tuning 하므로 parameter-inefficiency가 존재 

-> 그래서 pre-trained diffusion-based TTS model에서 parameter-subset 만을 fine-tuning 하는 parameter-efficient adaptive TTS model인 VoiceTailor를 제안

 

  • VoiceTailor
    • Pre-trained diffusion-based model을 기반으로 UnitSpeech의 fine-tuning method를 활용
      - 이때 fine-tuning 전후의 module  weight에 대한 change ratio를 분석하여 attention module의 효과를 검증
    • 결과적으로 attention module에 LoRA를 적용하고 adaptation을 위해 inject된 low-rank matrix 만을 fine-tuning
    • 추가적으로 parameter-efficient adaptation stage에서 최적 hyperparameter 선택과 inference stage에서의 guidance technique을 적용해 speaker information을 향상

< Overall of VoiceTailor >

  • Diffusion-based speaker adaptive TTS를 위해 LoRA를 적용
  • 추가적으로 LoRA module과 classifier-free guidance를 활용하여 speaker information을 향상
  • 결과적으로 single GPU에서 전체 parameter의 0.25%만을 활용하여 speaker adaptation cost를 크게 절감

2. Method

  • VoiceTailor는 기존 diffusion-based one-shot TTS의 parameter-inefficiency를 해결하기 위해 LoRA를 활용한 personalized TTS model을 구축하는 것을 목표로 함
    • 먼저 VoiceTailor는 LoRA fine-tuning과 reference audio에서 추출한 speaker embedding을 통해 target speaker characteristic을 capture 함
    • 추가적으로 논문은 UnitSpeech의 weight change ratio를 분석하여 speaker information을 향상함
    • 결과적으로 VoiceTailor는 최적의 LoRA weight를 injection 하고 guidance strategy를 적용함으로써, 전체 parameter의 0.25%만을 fine-tuning 하여 personalized TTS를 달성함

Overall of VoiceTailor

- UnitSpeech

  • 논문은 UnitSpeech를 기반으로 one-shot TTS를 수행함
    • 먼저 UnitSpeech는 short untranscribed speech sample을 기반으로 pre-trained multi-speaker diffusion-based TTS model을 fine-tuning 해 personalized TTS model을 구성함
    • 이때 multi-speaker diffusion-based TTS model은 Grad-TTS를 기반으로 mel-spectrogram X0를 Guassian noise XTN(0,I)로 변환하는 forward process를 정의함
      1. 해당 forward process는 pre-defined noise schedule βt와 Wiener process Wt를 통해 정의됨
      2. 즉, forward process에서 time step t[0,T]의 noisy mel-spectrogram Xt:
        (Eq. 1) dXt=12Xtβtdt+βtdWt,t[0,1]
        (Eq. 2) Xt=et0βsdsX0+1es0βsdsϵt
        - ϵt : standard normal distribution에서 sampling 된 noise
    • Forward process의 reverse trajectory를 따라 mel-spectrogram을 sampling 하려면 text encoder output cy와 pre-trained speaker encoder에서 추출된 speaker embedding eS로 condition 된 score s(Xt|cy,eS)를 사용해야 함
      1. 여기서 UnitSpeech의 diffusion-based decoder θ는 conditional score sθ(Xt|cy,eS)를 예측하도록 training 됨
      2. 그러면 decoder pre-training에 대한 loss function과 sampling을 위한 predicted score는:
        (Eq. 3) L=Et,X0,ϵt[||1et0βsdssθ(Xt|cy,eS)+ϵt||22]

        (Eq. 4) XtΔt=Xt+βt(12Xt+sθ(Xt|cy,eS))Δt+βtΔtzt
        - ztN(0,I) : Gaussian Noise
    • 이를 기반으로 UnitSpeech는 pre-trained diffusion decoder를 untranscribed speech로 fine-tuning 하는 unit encoder를 도입해 text input을 없이 speaker adaptation이 가능하게 함 
      1. 여기서 Unit encoder는 phonetic information을 포함하는 self-supervised speech representation인 acoustic unit을 input으로 하여 text encoder를 대체함
      2. 즉, UnitSpeech는 text encoder를 해당 pluggable unit encoder로 대체하고 pre-trained decoder와 동일한 objective로 training 한 다음, reference audio와 unit을 통해 fine-tuning 하여 speaker adaptation을 수행함
    • 추가적으로 UnitSpeech는 diffusion model에서 conditioning information을 향상하는 classifier-free guidance를 text encoder output cy에 결합해 pronunciation accuracy를 개선함 
      1. 이를 확장하여 VoiceTailor는 classifier-free guidance를 speaker embedding eS에도 적용함 
      2. 즉, multi-speaker TTS model을 pre-training 하는 동안 learnable unconditional embedding eϕ를 도입하고 25%의 확률로 eϕeS로 대체하도록 함 

- Parameter-Efficient Speaker Adaptation

  • VoiceTailor는 speaker adaptation 과정에서 모든 parameter를 fine-tuning 하는 inefficiency를 해결하기 위해 parameter-efficient adaptation method인 LoRA를 채택함
    • LoRA는 trainable low-rank decomposed matrix를 결합하여 linear layer의 weight matrix를 fine-tuning 함
      1. Linear layer의 pre-trained weight WRd×k가 주어지면 LoRA는 W+αΔW=W+αBA로 augment 함
      2. 여기서 parameter ΔW:=W가 frozen 된 상태에서 fine-tuning 됨
        - BRd×r,ARr×k,α : adapter matrix의 scaling factor, r : rank
      3. 결과적으로 LoRA는 original matrix의 dimension d,k에 비해 rank r을 상당히 작은 값으로(rd,k) 사용함으로써 더 적은 parameter로 adaptation을 수행함
        - 이때 pre-trained model parameter를 θ, fine-tuned adapter WLoRA가 있는 model parameter를 θ로 나타냄
    • UnitSpeech를 기반으로 모든 decoder parameter를 fine-tuning 해 speaker adaptation을 수행한 다음, 어떤 module이 speaker adaptation에서 중요하게 사용되는지 분석할 수 있음
      1. 이를 위해 논문은 pre-training 전후의 각 module θi에 대한 weight change ratio ||θiθi||/||θi||를 계산함
      2. 결과적으로 UnitSpeech의 diffusion decoder 내에서 attention module과 다른 module 간의 평균 change ratio를 계산해 보면 각각 0.0282와 0.0050으로 얻어짐
        - 즉, attention module이 one-shot diffusion TTS model의 adaptation에서 가장 중요하게 사용됨
    • 따라서 VoiceTailor는 attention module에 LoRA를 inject 하여 speaker adaptation을 위한 parameter를 최적화함

- Speaker Information Strengthening Strategies

  • Fine-tuned adapter는 pre-trained multi-speaker TTS model과 결합되어 personalized TTS를 구성할 수 있음
    • VoiceTailor에서 speaker information은 speaker embedding eS와 pluggable LoRA weight WLoRA의 2가지 form으로 제공됨
      - 이때 parameter 감소로 인한 speaker adaptation 성능 저하를 완화하기 위해, target speaker information을 strengthen 하는 sampling method를 활용 가능
    • 따라서 논문은 LoRA의 scaling factor α를 fine-tuning 중에 사용되는 값보다 큰 값으로 설정하고, classifier-free guidance를 적용함
  • Adjustment of LoRA Scaling Factor
    • α는 speaker adaptation을 위해 pre-trained model에 adapter가 add 되는 intensity를 control 함
    • 여기서 training 중에 사용되는 것보다 generation 중에 더 큰 α를 사용함으로써 low-rank adapter에 stronger speaker information을 제공할 수 있음
  • Classifier-Free Guidance
    • VoiceTailor에서 speaker information은 eS,WLoRA 2가지로 구성되므로 각 source에 대해 classifier-free guidance를 적용함
    • 먼저 fine-tuned model sθ(Xt|c,eS)의 score가 주어졌을 때, unconditional score suncon에 대한 다음 3가지 candidate를 고려할 수 있음:
      1. sθ(Xt|c,eϕ) : WLoRA가 제공하는 speaker information을 유지하면서 eS를 unconditional embedding eϕ로 대체하여 얻어짐
      2. sθ(Xt|c,eS) : Pre-trained model θ에서 WLoRA를 제거하고 eS를 input으로 유지하여 얻어짐
      3. sθ(Xt|c,eϕ) : es,WLoRA의 모든 speaker information이 없는 suncon
    • 그러면 modified score s^는 앞선 unconditional score를 기반으로 다음의 classifier-free guidance를 적용하여 계산됨:
      (Eq. 5) s^θ(Xt|c,eS)=sθ(Xt|c,eS)+γS(sθ(Xt|c,eS)suncon)
      - γS : additional speaker information의 intensity를 결정하는 gradient scale
    • 결과적으로 VoiceTailor는 suncon=sθ(Xt|c,eϕ)를 채택하여 sample을 생성함
      - αsuncon에 대한 3가지 candidate audjusting과 suncon=sθ(Xt|c,eϕ)를 통한 classifier-free guidance 외의 방식은 speaker adaptation에 악영향을 주기 때문

3. Experiments

- Settings

- Results

  • Model Comparison
    • 전체적으로 VoiceTailor가 가장 우수한 성능을 보임
    • 특히 VoiceTailor는 0.25%의 parameter만 fine-tuning 하여 UnitSpeech 수준의 speaker similarity를 달성할 수 있음

모델 성능 비교

  • Parameter-Efficient Fine-Tuning
    • Attention이 아닌 linear layer에 trainable low-rank matrix를 추가해도 pronunciation accuracy와 speaker similarity는 개선되지 않음
      - 즉, attention module이 speaker adapatation에서 가장 중요함
    • Fine-tuning 중 WLoRA의 scale은 α에 의해 결정됨
      - α=1과 같이 너무 작은 값을 사용하지 않는 한 비슷한 수준의 speaker similairty를 달성 가능
    • r=2와 같은 작은 LoRA rank는 SECS를 저하하는 대신 39K의 parameter로 동작하는 VoiceTailor를 얻을 수 있음

LoRA 설정 비교

  • Speaker Information Strengthening Method
    • Speaker embedding ES(Suncon=sθ(Xt|c,eϕ))에 기반한 classifier-free guidance를 제외하면, 다른 method는 speaker adaptation 성능을 저하함
    • 특히 fine-tuning에 사용된 값보다 LoRA scaling factor α를 증가시키면 CER, SECS가 모두 저하됨
      - 따라서 논문은 γS=1인 speaker embedding guidance만 사용함

Speaker Information Strengthening

 

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
«   2025/04   »
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