티스토리 뷰

반응형

Grad-StyleSpeech: Any-Speaker Adaptive Text-to-Speech Synthesis with Diffusion Models


  • Any-speaker adaptive Text-to-Speech 작업은 여전히 target speaker의 style을 모방하기에 만족스럽지 못함
  • Grad-StyleSpeech
    • Diffusion model을 기반으로 하는 any-speaker adaptive Text-to-Speech model
    • Few-second reference speech가 주어지면 target speaker와 유사한 음성을 생성하는 것을 목표로 함
  • 논문 (ICASSP 2023) : Paper Link

1. Introduction

  • Text-to-Speech (TTS)는 single speaker에서 multiple speaker로 확장되고 있음
    • 특히 reference 음성이 주어지면 any-speaker의 음성을 합성할 수 있는 any-speaker adaptive TTS에 중점을 둠
    • Any-speaker adaptive TTS는 target speaker에 대한 few sample 만을 고려하여 target speaker와 유사한 음성을 합성하는 것을 목표로 함
    • Any-speaker adaptive TTS를 위한 이전 연구들을 보면,
      1. 주로 transcribed (supervised) sample을 활용하여 TTS model을 fine-tuning 하는 방식을 사용
        -> BUT, supervised sample을 얻기 어렵고, parameter를 업데이트하는데 많은 비용이 필요
      2. 그에 비해 zero-shot 방식은 unseen speaker에 대한 fine-tuning 단계가 굳이 필요하지 않음
        -> BUT, generative modeling으로 인해 unseen speaker에 대한 similarity가 낮다는 단점이 있음

-> 그래서 zero-shot any-speaker TTS를 위해 score-based diffusion model을 활용하는 Grad-StyleSpeech를 제안

 

  • Grad-StyleSpeech
    • Target speaker의 style을 고려하기 위해 style-based generative model을 도입
    • Hierarchical transformer encoder를 통해 reverse diffusion process에서 활용 가능한 representative prior noise를 생성 
      - 이를 통해 input phoneme을 embedding할 때 target speaker의 style을 반영 가능

< Overall of Grad-StyleSpeech >

  • Zero-shot 방식을 기반으로 any-speaker TTS를 수행
  • Score-based diffusion model을 활용하고, any-speaker adaptive setting에 대응하는 hierarchical transformer encoder를 도입
  • 결과적으로 기존의 다른 any-speaker TTS 모델들보다 뛰어난 성능을 달성

2. Method

  • Speaker adaptive TTS는 target speaker의 text transcription, reference speech를 바탕으로 음성을 생성
    • 이를 위해 mel-spectrogram과 같은 audio feature를 합성해야 함
    • Text $\mathbf{x} = [\mathbf{x}_{1}, ..., \mathbf{x}_{n}]$은 phoneme으로 구성되고, reference speech $\mathbf{Y} = [\mathbf{y}_{1}, ..., \mathbf{y}_{m}] \in \mathbb{R}^{m \times 80}$이라 하자
      - 이때 TTS model의 목표는 ground-truth speech $\tilde{\mathbf{Y}}$를 생성하는 것
    • Grad-StyleSpeech는 3부분으로 구성
      - Reference speech를 style vector에 반영하는 Mel-Style Encoder
      - Text와 style vector로 condition된 representation을 생성하는 Hierarchical Transformer Encoder

      - Denoising step에 따라 mel-spectrogram을 생성하는 Diffusion Model

Overall of Grad-StyleSpeech

- Mel-Style Encoder

  • Mel-style encoder를 사용하여 reference speech를 latent style vector에 embedding 함
    • 수식적으로는 $\mathbf{s} = h_{\psi} (\mathbf{Y})$으로 나타낼 수 있음
      - $\mathbf{s} \in \mathbb{R}^{d'}$ : style vector
      - $h_{\psi}$ : $\psi$에 의해 parameterize 된 mel-style encoder
    • 구조적으로 mel-style encoder는
      - Spectral/temporal processor, Transformer layer, Temporal average pooling으로 구성

- Score-based Diffusion Model

  • Diffusion model은 unit Gaussian 분포 $\mathcal{N}(0,I)$를 따르는 prior noise 분포에서 sampling 된 noise를 점진적으로 denoising 하여 sample을 생성
    - 이때 Grad-StyleSpeech는 Markov chain 대신 Grad-TTS가 채택한 SDE 기반의 denoising process를 활용
  • Forward Diffusion Process
    • Forward diffusion process는 noise 분포 $\mathcal{N}(0,I)$에서 얻어진 noise를, sample 분포 $\mathbf{Y}_{0} \sim p_{0}$에서 가져온 sample에 점진적으로 추가하는 과정
    • Forward diffusion process에 대한 differential equation을 다음과 같이 정의하자:
      $d\mathbf{Y}_{t} = -\frac{1}{2}\beta(t)\mathbf{Y}_{t}dt + \sqrt{\beta(t)}d\mathbf{W}_{t}$
      - $t \in [0,T]$ : continuous time step, $\beta(t)$ : noise scheduling function, $\mathbf{W}_{t}$ : standard Wiener process
    • 이때 Grad-TTS는 data-driven prior noise 분포 $\mathcal{N}(\mu, I)$에서 denoising을 수행할 것을 권장:
      (Eq. 1) $d\mathbf{Y}_{t} = -\frac{1}{2}\beta(t)(\mathbf{Y}_{t}-\mu)dt + \sqrt{\beta(t)}d\mathbf{W}_{t}$
      - $\mu$ : neural network의 text/style-conditioned representation
    • 그러면 Gaussian 분포를 따르는 transition kernel $p_{0t} (\mathbf{Y}_{t}|\mathbf{Y}_{0})$는 tractable 하므로:
      (Eq. 2) $p_{0t}(\mathbf{Y}|\mathbf{Y}_{0}) = \mathcal{N}(\mathbf{Y}_{t};\gamma_{t},\sigma^{2}_{t}), \,\, \sigma^{2}_{t} = I- e^{-\int^{t}_{0}\beta(s)ds}\mathbf{Y}_{0}$
      $\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, \gamma_{t} = (I - e^{-\frac{1}{2}\int_{0}^{t}\beta(s)ds})\mu + e^{-\frac{1}{2}\int_{0}^{t}\beta(s)ds}\mathbf{Y}_{0}$
  • Reverse Diffusion Process
    • Reverse diffusion process는 $p_{T}$의 noise를 $p_{0}$의 data sample로 점진적으로 invert 하는 과정
    • 따라서 (Eq. 1)에 대한 reverse process는 reverse-time SDE로써:
      $d\mathbf{Y}_{t} = \left[ -\frac{1}{2} \beta(t)(\mathbf{Y}_{t}-\mu)-\beta(t)\nabla_{\mathbf{Y}_{t}}\log p_{t}(\mathbf{Y}_{t}) \right]dt + \sqrt{\beta(t)}d\tilde{\mathbf{W}}_{t}$
      - $\tilde{\mathbf{W}}_{t}$ : reverse Wiener process, $\nabla_{\mathbf{Y}_{t}} \log p_{t} (\mathbf{Y}_{t})$ : data 분포 $p_{t}(\mathbf{Y}_{t})$의 score function
    • Reverse SDE를 풀기 위해 numerical SDE solver를 활용하여 noise $\mathbf{Y}_{t}$로부터 sample $\mathbf{Y}_{0}$를 생성할 수 있음
      - 이때 exact score를 얻기가 어렵기 때문에 neural network $\epsilon_{\theta} (\mathbf{Y}_{t}, t, \mu, \mathbf{s})$를 이용하여 score를 추정

- Hierarchical Transformer Encoder

  • Diffusion model을 활용하는 multi-speaker TTS에서 $\mu$는 중요한 역할을 함
    • 따라서 encoder가 3-level hierarchy를 가지도록 구성
      1. 먼저 text encoder $f_{\lambda}$는 phoneme sequence의 contextual representation을 위해 multiple transformer block을 통해 input text를 hidden representation으로 mapping:
        $\mathbf{H} = f_{\lambda}(x) \in \mathbb{R}^{n \times d}$
      2. 이후 input text $\mathbf{x}$와 target speech $\mathbf{Y}$ 사이의 alignment를 계산하고, text encoder의 output length를 target speech의 length로 regulate 하는 unsupervised alignment learning framework를 적용:
        $Align(\mathbf{H}, \mathbf{x}, \mathbf{Y}) = \tilde{\mathbf{H}} \in \mathbb{R}^{m \times d}$
        - 추가적으로 각 phoneme의 duration을 예측하기 위해 duration predictor를 도입
      3. 마지막으로 speaker-adaptive hidden representation을 얻기 위해 style-adaptive transformer block을 통해 length-regulated embedding sequence를 encoding:
        $\mu = g_{\phi}(\tilde{\mathbf{H}}, \mathbf{s})$
        - $\mathbf{s}$ : style vector
    • 구조적으로는, Style-Adaptive Layer Normalization (SALN)을 통해 style-adaptive encoder의 transformer block에 style information을 반영
      - 이를 통해 hierarchical transformer encoder는 input text $\mathbf{x}$의 linguistic content와 style vector $\mathbf{s}$의 style information을 반영한 hidden representation $\mu$를 얻음
      - 이렇게 얻어진 $\mu$는 denoising diffusion model의 style-conditioned prior noise 분포를 구성하는데 사용
    • 이때 Grad-TTS와 마찬가지로 prior loss $\mathcal{L}_{prior} = ||\mu - \mathbf{Y}||_{2}^{2}$를 적용
      - $\mu$와 $\mathbf{Y}$ 간의 $L2$ distance를 최소화하는 방식으로 최적화됨

- Training

  • Score estimation network $\epsilon_{\theta}$를 training 하기 위해
    • Tractable transition kernel $p_{0t}(\mathbf{Y}_{t}|\mathbf{Y}_{0})$에 대한 marginalization의 expectation을 계산:
      (Eq. 3) $\mathcal{L}_{diff} = \mathbb{E}_{t\sim \mathcal{U}(0,T)}\mathbb{E}_{\mathbf{Y}_{0}\sim p_{0t}(\mathbf{Y}_{t}|\mathbf{Y}_{0})} || \epsilon_{\theta}(\mathbf{Y}_{t},t,\mu,\mathbf{s}) - \nabla_{\mathbf{Y}_{t}} \log p_{0t}(\mathbf{Y}_{t}|\mathbf{Y}_{0})||_{2}^{2} $
      - $\mathbf{s}$ : style vector, $\mathbf{Y}_{t}$ : (Eq. 2)의 Gaussian 분포에서 sample 되는 값
    • 이후 exact score computation은:
      (Eq. 4) $\mathcal{L}_{diff} = \mathbb{E}_{t\sim \mathcal{U}(0,T)}\mathbb{E}_{\mathbf{Y}_{0}\sim p_{0}(\mathbf{Y}_{0})}\mathbb{E}_{\epsilon \sim \mathcal{N}(0,I)}|| \epsilon_{\theta}(\mathbf{Y}_{t},t,\mu,\mathbf{s}) + \sigma_{t}^{-1}\epsilon||_{2}^{2}$
      - $\sigma_{t} = \sqrt{1-e^{-\int_{0}^{t}\beta(s)ds}}$ : (Eq. 1) 참고
    • 따라서 aligner와 duration predictor training에 대한 $\mathcal{L}_{align}$까지 결합한 최종 training objective는:
      $\mathcal{L} = \mathcal{L}_{diff} + \mathcal{L}_{prior} + \mathcal{L}_{align}$

3. Experiments

- Settings

- Results

  • Unseen speaker에 대한 zero-shot adaptation 성능을 비교해 보면
    • SECS, CER 측면에서 Grad-StyleSpeech의 성능이 가장 우수한 것으로 나타남
    • 특히 Grad-StyleSpeech는 Grad-TTS 보다 훨씬 뛰어난 성능을 보임
      - 이는 any-speaker adaptation 성능이 diffusion model 뿐만 아니라 hierarchical transformer encoder에서도 파생된다는 것을 의미

정량적 성능 비교 결과

  • MOS 측면의 주관적 합성 품질 비교에서도 Grad-StyleSpeech가 가장 우수한 성능을 보임

주관적 합성 품질 비교 결과

  • 합성된 음성에 대한 mel-spectrogram을 확인해 보면,
    • Grad-StyleSpeech는 diffusion model을 활용함으로써 high-frequency component를 detail 하게 모델링함
    • 결과적으로 over-smoothing 문제를 극복 가능

Mel-Spectrogram 비교

  • Grad-StyleSpeech를 unseen speaker에 대해 fine-tuning 했을 때의 결과를 살펴보면,
    • Diffusion model과 Style-adaptive encoder를 100 step으로 fine-tuning 했을 때 AdaSpeech 보다 우수한 성능을 달성
    • 이러한 fine-tuning은 speaker similarity를 확보하는데 효과적인 것으로 나타남

Few-shot Fine-tuning에 대한 결과 비교

 

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