티스토리 뷰

반응형

HierSpeech: Bridging the Gap between Text and Speech by Hierarchical Variational Inference using Self-Supervised Representations for Speech Synthesis


  • Text로부터 raw waveform을 직접 생성하는 end-to-end pipeline은 고품질의 합성이 가능하지만, mispronunciation이나 over-smoothing 문제가 종종 발생함
  • HierSpeech
    • 고품질의 end-to-end text-to-speech를 위해 self-supervised speech representation을 활용하는 hierarchical variational autoencoder 구조
    • Self-supervised speech representation의 추출을 통해 text와 speech 사이의 information gap을 줄여 mispronunciation 문제를 회피
  • 논문 (NeurIPS 2022) : Paper Link

1. Introduction

  • Text-to-Speech (TTS)는 일반적으로 acoustic model과 vocoder의 two-stage 방식으로 구성됨
    • BUT, 이러한 two-stage 방식은 아래의 한계점이 있음
      1. One-to-many mapping 문제로 인해 음성의 다양한 attribute를 반영하지 못함
      2. Pipeline에서 각 구성요소들이 개별적으로 training 되므로 품질이 저하됨
    • 한편으로 single-stage end-to-end TTS 모델은 앞선 한계점을 극복하기 위해 제안됨
      - 대표적으로 VITS는 normalizing flow와 adversarial training을 활용하여 우수한 TTS 성능을 달성했음
      - BUT, end-to-end TTS 모델은 종종 text와 speech 간의 information gap으로 인해 mispronunciation이나 over-smothing 문제가 발생함
    • 이때 text와 speech 간의 information gap을 줄이기 위해 self-supervised speech representation을 additional linguistic representation으로 사용할 수 있음
      1. Large-scale speech dataset으로 train 된 해당 representation은 labeled data 없이도 유용한 information을 반영할 수 있음
      2. 특히 pre-trained model의 middle layer에는 pronunciation characteristic을 가지는 rich linguistic information이 포함되어 있음
        - 결과적으로 이러한 representation을 TTS 모델에 적용하면 성능을 크게 향상할 수 있음

-> 그래서 end-to-end TTS 모델에서 self-supervised speech representation을 활용하는 hierarchical conditional variational autoencoder인 HierSpeech를 제안

 

  • HierSpeech
    • Self-supervised speech representation을 활용하여 latent representation의 linguistic information을 풍부하게 만들고, 각 attribute를 hierarchical 하게 학습함
    • 특히 end-to-end TTS 모델에 대해 self-supervised representation을 반영하여 speech와 text 간의 information gap을 해소함
    • 추가적으로 pre-trained HierSpeech를 기반으로 adaptive TTS를 위한 HierSpeech-U를 확장

< Overall of HierSpeech >

  • Text와 speech 간의 information gap을 해소하여 reconstruction 품질을 크게 향상하는 self-supervised representation을 hierarchical conditional variational autoencoder에 통합
  • 추가적으로 untranscribed speech data에 대한 TTS를 가능하게 하는 HierSpeech-U로 모델을 확장
  • 결과적으로 기존 모델들 보다 우수한 합성 품질을 달성

2. HierSpeech

  • HierSpeech는 end-to-end TTS에 대해 self-supervised representation을 사용하는 hierarchical conditional variational autoencoder 구조 
    • Latent representation의 linguistic information을 개선하고 각 representation을 hierarchical 하게 학습하기 위해 self-supervised speech representation을 채택
    • 추가적으로 HierSpeech를 HierSpeech-U로 확장하여 text transcript 없이 모델을 adapt 함

Hierarchical Text-to-Speech Pipeline

- Speech Representations

  • Acoustic Representations
    • 일반적으로 mel-spectrogram은 STFT를 통해 waveform으로부터 얻어지는 intermediate acoustic feature로 자주 활용됨
      - BUT, 이러한 acoustic feature는 pronunciation과 같은 linguistic information과 rhythm, timbre 등과 같은 style information으로 구분
    • 따라서 acoustic representation의 rich feature를 text 만으로 합성하면 one-to-many 문제가 exacerbate 되고, spectrogram으로부터 expressive linguistic information을 추출하기 어려워짐
    • 이를 해결하기 위해, text와 acoustic feature를 mapping 하는 additional linguistic feature를 채택해야 함
  • Linguistic Representations
    • Text와 speech 사이의 gap을 완화하기 위해, additional intermediate linguistic feature에 대한 self-supervised speech representation을 사용함
    • 특히 wav2vec 2.0과 같은 pre-trained 모델에서 추출된 feature에는 rich linguistic information이 포함되어 있고, 이를 통해 speech recognition, translation과 같은 다양한 task를 향상할 수 있음
      - 추가적으로 wave2vec 2.0의 middle layer에는 pronunciation과 관련된 linguistic information이 상당히 포함되어 있는 것으로 나타남
    • 따라서 HierSpeech는 large-scale cross-lingual speech dataset으로 pre-train 된 wav2vec 2.0인 XLS-R의 12th layer에서 self-supervised speech representation을 추출하여 사용함

Overall of HierSpeech

- Hierarchical Variational Inference

  • HierSpeech는 end-to-end TTS를 위해 VITS에 기반한 conditional variational autoencoder 구조를 채택
    • 이때 VITS는 data log $p_{\theta}(x|c)$의 intractable margnial log-likelihood에 대한 Evidence Lower BOund (ELBO)를 최대화하도록 학습됨:
      (Eq. 1) $\log p_{\theta}(x|c)\geq \mathbb{E}_{q_{\phi}(z|x)}\left[\log p_{\theta}(z|x)-\log\frac{q_{\phi}(z|x)}{p_{\theta}(z|c)}\right]$
      - $p_{\theta}(z|c)$ : condition $c$가 주어졌을 때 latent variable $z$에 대한 prior 분포

      - $p_{\theta}(x|z)$ : latent $z$가 주어졌을때 data $x$를 생성하는 likelihood function으로써, decoder의 역할
      - $q_{\phi}(z|x)$ : 근사 posterior
      - 이때 VITS는 normalizing flow를 사용하여 waveform domain에서 prior 분포의 expressiveness를 향상함
    • HierSpeech는 해당 VITS의 conditional variational autoencoder를 사용하여 speech representation의 disentangled latent variable로써 multi-level intermediate representation을 연결하고, 이를 end-to-end 방식으로 학습함
      - 이때 서로 conditioning 하는 top-down path newtork 방식 대신 개별적으로 speech representation을 근사함
      - 예시로 acoustic posterior와 linguistic posterior 분포는 각각 acoustic encoder $\phi_{a}$와 linguistic encoder $\phi_{l}$에 의해 개별적으로 encoding 됨
    • 각 latent variable을 disentangle 하기 위해 rich acoustic representation $z_{a}$에 대해 target speech의 linear-scale spectrogram $x_{spec}$을 사용하고, rich linguistic representation $z_{l}$에 대해 XLS-R의 12-th layer output $x_{w2v}$을 사용함
    • 결과적으로 HierSpeech의 optimization objective는:
      (Eq. 2) $\log p_{\theta}(x|c)\geq\mathbb{E}_{q_{\phi}(z|x)}\left[\log p_{\theta_{d}}(x|z_{a})-\log \frac{q_{\phi_{a}}(z_{a}|x_{spec})}{p_{\theta_{a}}(z_{a}|z_{l})}-\log\frac{q_{\phi_{l}}(z_{l}|x_{w2v})}{p_{\theta_{l}}(z_{l}|c)}\right]$
      - $z=[z_{a},z_{l}], \theta=[\theta_{d},\theta_{a},\theta_{l}], \phi=[\phi_{a},\phi_{l}]$
      - $q_{\phi_{a}}(z_{a}|x_{spec}), q_{\phi_{l}}(z_{l}|x_{w2v})$ : 각각 acoustic, linguistic representation에 대한 근사 posterior
      - $p_{\theta_{l}}(z_{l}|c)$ : 주어진 condition $c$에 대한 linguistic latent variable $z_{l}$에 대한 prior 분포
      - $p_{\theta_{a}}(z_{a}|z_{l})$ : acoustic latent variable $z_{a}$에 대한 prior 분포
      - 여기서 $z_{l}$은 $q_{\phi_{l}}(z_{l}|x_{w2v})$에서 sampling 되고, $p_{\theta_{d}}(x|z_{a})$는 decoder $\theta_{d}$로써 latent variable $z_{a}$가 주어지면 data $x$를 생성하는 likelihood function
    • Reconstruction loss의 경우 STFT와 mel-scale transformation을 사용하여 ground-truth와 reconstructed waveform 간의 mel-spectrogram의 $l1$ distance를 최소화하는 mel-reconstruction loss $\mathcal{L}_{rec}$를 사용함
  • Acoustic Encoder and Waveform Decoder
    • Acoustic encoder $\phi_{a}$는 gated activation과 skip connection을 가지는 dilated convolution을 사용하는 non-casual WaveNet으로 구성됨
      - 이후 output은 reparameterization trick을 사용하여 posterior 분포의 평균, 분산으로부터 acoustic representation $z_{a}$를 sampling 하는 projection layer로 제공됨
      - Training 중에 sliced $z_{a}$는 raw audio $x$를 reconstruct 하기 위해 waveform decoder에 공급됨
    • HierSpeech는 waveform decoder $\theta_{d}$로써 HiFi-GAN generator $G$를 사용함
    • Adversarial feedback은 multi-period discriminator $D$를 사용하여 waveform의 다양한 periodic feature를 caputre 함:
      (Eq. 3) $\mathcal{L}_{adv}(D)=\mathbb{E}_{(x,z_{a})}\left[(D(x)-1)^{2}+D(G(z_{a}))^{2}\right]$
      (Eq. 4) $\mathcal{L}_{adv}(\phi_{a},\theta_{d})=\mathbb{E}_{(z_{a})}\left[(D(G(z_{a}))-1)^{2}\right]$
      - $x$ : ground-truth waveform
      - Stable training을 위해 ground-truth와 reconstructed waveform 사이의 각 discriminator feature의 $l1$ loss를 최소화하는 feature matching loss $\mathcal{L}_{fm}$을 추가함
  • Linguistic Encoder and Phoneme Predictor
    • Linguistic encoder $\phi_{l}$은 acoustic encoder와 동일한 구조를 가짐
      - 대신,
      pre-trained XLS-R에서 얻어진 self-supervised speech representation $x_{w2v}$을 linguistic encoder의 input으로 사용하여 linguistic representation $z_{l}$을 추출함
      - 이때 linguistic characteristic을 enforce 하기 위해 $z_{l}$은 auxiliary phoneme predictor에 제공됨
    • Linguistic encoder와 phoneme predictor를 최적화하기 위해 Connectionist Temporal Classification (CTC) loss $\mathcal{L}_{ctc}$를 최소화함
      - 여기서 additional projection layer를 제거하기 위해 linguistic encoder의 projected 평균과 분산을 $\theta_{a}, \phi_{l}$ 사이의 weight-sharing을 통해 acoustic prior 분포로 사용함
    • Hierarchy를 유지하기 위해 representation $z_{a}$는 normalizing flow를 통해 변환되고, 결과적으로 acoustic prior와 posterior 간의 KL-divergence는:
      (Eq. 5) $\mathcal{L}_{kl1}=\log q_{\phi_{a}}(z_{a}|x_{spec})-\log p_{\theta_{a}}(z_{a}|x_{w2v})$
    • Acoustic prior 분포는 linguistic information으로부터 얻어지기 때문에, 분포의 gap을 줄이기 위해 normalizing flow를 사용하여 acoustic posterior를 disentangle 하고 acoustic piror 분포의 expressiveness를 향상함:
      (Eq. 6) $p_{\theta_{a}}(z_{a}|x_{w2v})=\mathcal{N}(f_{a}(z_{a});\mu_{\theta_{a}}(x_{w2v}),\sigma_{\theta_{a}}(x_{w2v})) | \det(\partial f_{a}(z_{a})/\partial z_{a}) |,$
      $\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,z_{a}\sim q_{\phi_{a}}(z_{a}|x_{spec})=\mathcal{N}(z_{a};\mu_{\phi_{a}}(x_{spec}),\sigma_{\phi_{a}}(x_{spec}))$
  • Text Encoder
    • Text encoder $\theta_{l}$은 relative positional representation을 사용하는 stacked feed-forward Transformer network로 구성됨
      - Phoneme sequence $c_{text}$는 text encoder에 공급되고, projection layer는 linguistic prior 분포에 대한 평균, 분산을 생성하는 데 사용됨
    • Text를 음성의 linguistic representation과 align 하기 위해 data의 likelihood를 최대화하여 alignment $A$를 search 하는 Monotonic Alignment Search (MAS)를 사용함:
      (Eq. 7) $\mathcal{L}_{kl2}=\log q_{\phi_{l}}(z_{l}|x_{w2v})-\log p_{\theta_{l}}(z_{l}|c_{text},A)$
    • 추가적으로 linguistic prior 분포의 expressiveness를 높이기 위해 normalizing flow를 사용함:
      (Eq. 8) $p_{\theta_{l}}(z_{l}|c_{text},A)=\mathcal{N}(f_{l}(z_{l});\mu_{\theta_{l}}(c_{text},A),\sigma_{\theta_{l}}(c_{text},A))| \det (\partial f_{l}(z_{l})/\partial z_{l})|,$
      $\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,z_{l}\sim q_{\phi_{l}}(z_{l}|x_{w2v})=\mathcal{N}(z_{l};\mu_{\phi_{l}}(x_{w2v}),\sigma_{\phi_{l}}(x_{w2v}))$
    • 주어진 phoneme의 duration을 sampling 하기 위해 maximum likelihood estimation으로 training 된 flow-base stochastic duration predictor를 채택함
      - 해당 predictor의 negative variational lower bound를 duration loss $\mathcal{L}_{dur}$로 사용
      - Multi-speaker의 경우 acoustic residual block에 global embedding을 추가함
  • Total Loss
    • 최종적으로 HierSpeech의 final objective는:
      (Eq. 9) $\mathcal{L}_{total}=\mathcal{L}_{kl1}+\lambda_{kl2}\mathcal{L}_{kl2}+\lambda_{rec}\mathcal{L}_{rec}+\lambda_{ctc}\mathcal{L}_{ctc}+\lambda_{dur}\mathcal{L}_{dur}+\lambda_{adv}\mathcal{L}_{adv}(\phi_{a},\theta_{d})+\lambda_{fm}\mathcal{L}_{fm}$

- Untranscribed Text-to-Speech

  • Untranscribed TTS 모델 (HierSpeech-U)의 경우, 음성에서 style embedding을 global conditioning으로써 추출하는 style encoder를 사용하여 training 함
    • 이때 style encoder의 input으로 linear scale spectrogram을 사용하고, multi-speaker dataset으로 pre-training 한 다음 text transcript 없이 adaptation을 수행함
    • Pre-trained linguistic encoder는 self-supervised speech representation을 통해 text transcript 없이도 음성에서 rich linguistic representation을 추출할 수 있음
    • 결과적으로 HierSpeech-U는 speech data 만으로 acoustic encoder, acoustic prior의 normalizing flow, decoder를 fine-tuning 하여 새로운 speaker style로 음성을 합성함

3. Experiments

- Settings

- Results

  • Analysis of Self-Supervised Representations
    • Speaker encoder의 input으로 linear spectrogram, XLS-R의 첫 번째 layer와 12번째 layer를 비교
    • Linear spectrogram이 XLS-R representation 보다 더 나은 transfer performance를 보임
    • 결과적으로 linear spectrogram에는 speaker characteristic에 대한 high-resolution information이 포함되어 있다고 볼 수 있음

Speaker Encoder의 Input 비교

  • XLS-R의 speech disentanglement 성능을 알아보기 위해, linguistic latent variable $z_{l}$에 대해 frame-level speaker classification을 수행 
    • 각 layer의 representation에는 classify 할 speaker information이 포함되어 있음
    • Speaker information은 linguistic encoder를 통해 reduce 되므로 12번째 XLS-R layer의 $z_{l}$은 가장 낮은 accuracy를 보임
    • 이때 23-th layer를 제외한 모든 representation은 VITS와 비교하여 HierSpeech의 TTS 성능을 향상함
      - 모든 representation에 large-scale speech dataset으로 학습된 rich information이 포함되어 있음을 의미

Linguistic Representation별 Speaker Classification Accuracy

  • Evaluation on TTS
    • HierSpeech는 VCTK, LibriTTS 모두에 대해서 기존 모델보다 우수한 성능을 보임

VCTK에서의 성능 비교
LibriTTS에서의 성능 비교

  • 마찬가지로 각 dataset으로 학습된 모델 간의 CMOS 비교에서도, HierSpeech는 VITS 보다 뛰어난 성능을 보임

CMOS 비교 결과

  • Untranscribed Text-to-Speech
    • Few-shot speaker adaptation 성능을 비교해 보면, HierSpeech-U는 text transcript 없이도 HierSpeech와 유사한 수준의 합성 성능을 보임
    • 이는 self-supervised speech representation을 활용하여 speaker adaptation이 가능하기 때문

Speaker Adaptation 성능 비교

  • 다양한 수의 adaptation sample을 사용하여 adaptation 품질을 평가해 보면, sample 수가 늘어날수록 Equal Error Rate (EER)은 감소하는 것으로 나타남

Sample 수에 따른 EER 비교

  • Ablation Study
    • Normalizing flow의 수를 늘리는 것이 항상 성능 향상으로 이어지지는 않음
    • 이때 Phoneme Predictor (PP)를 posterior encoder에 추가하면 alignment search를 guiding 하여 PER, WER을 향상할 수 있음

Ablation Study 결과

  • Evaluation on VC
    • Speech disentanglement 성능을 평가하기 위해 voice conversion 모델과 비교해 보면
    • 결과적으로 HierSpeech가 다른 모델들에 비해 우수한 성능을 보임

Voice Conversion 성능 비교

 

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