[Paper Review] Non-Attentive Tacotron

양진혁

양진혁

양진혁

양진혁

요약:

  • Neural TTS의 attention mechanism은 제품에 사용하기엔 근본적으로 해결이 어려운 문제를 갖고 있음.

  • Tacotron 2의 attention mechanism을 explicit duration predictor로 대체하고, autoregressive decoder는 유지함.

  • Gaussian upsampling 제안

  • duration predictor의 unsupervised, semi-supervised 학습

  • robustness를 상당히 개선

  • MOS: Tacotron 2 (4.35), proposed (4.41), Ground truth(4.42)

Introduction

Autoregressive neural TTS 모델들은 녹음본만큼 자연스러운 음성을 생성하고 있다. 하지만 autoregressive network의 한계(중간 step에서의 잘못된 추정, early cut-off)나, attention mechanism의 한계(반복, 스킵 등)가 여전히 존재한다. 이러한 문제들이 많이 안화되었으나 근본적으로 해결된 것이 아니며, 상용화된 제품에서는 매우 적게 발생하더라도 사용자 경험에 치명적이다.

최근에는 non-autoregressive TTS 모델들이 많이 사용되고 있다. 이 방식은 explicit duration을 사용함으로써 attention이 겪는 문제를 해소했다. 하지만 autoregressive decoder는 TTS가 one-to-many problem(같은 text에 매우 다양한 음성)이라는 면에서 여전히 이점을 갖고 있다. Non-attentive Tacotron은 Tacotron2의 autoregressive decoder와 duration predictor를 결합한 방법이다.

논문의 key contributions

  1. Tacotron 2와 duration predictor

  2. Gaussian upsampling

  3. Global and fine-grained control of duration at inference time

  4. Semi-supervised and unsupervised duration modeling

  5. Reliable evaluation metrics

undefined

Methods

neural TTS는 feature generation network(e.g. text-to-mel) + vocoder network (e.g. mel-to-wav) 두 개의 network로 구성된다.

FastSpeech는 non-autoregressive TTS model로써 encoder output에 대한 duration만큼 repeat하는 방식을 사용했다. 저자는 repeat 방식이 아닌 Gaussian upsampling을 적용하였음.

undefined

FastSpeech의 repetition upsampling 방식

Gaussian Upsampling

undefined
  • uₜ : upsample vector, hᵢ: encoder output

  • 특정 token의 decoder time(t) 에서의 중심 위치©를 계산하여 mean으로 사용하고, σ는 duration과 h를 input으로 하는 network를 거쳐 학습한다.

  • upsampling 과정에서 repetition이 아니라 duration 값이 spectrogram 추정 과정에 포함됨으로써 fully differentiable 되었다는 강점이 생김. 이는 semi-supervised, unsupervised duration modeling을 가능하게 함.

Semi-supervised and Unsupervised Duration Modeling

  • spectrogram length와 일치시키기 위해 예측된 duration의 합을 T로 나눈 값으로 scale 하여 upsampling에 사용한다.

⠀⠀⠀• scale_factor=Σd

⠀⠀⠀• d를 직접적으로 이용하여(should be integer) encoder output을 repeat 하는 방식이 아니라 Gaussian upsampling 방식이기 때문에 가능하다.

  • duration 추정을 효과적으로 하기 위해 학습에만 사용되는 FVAE(Figure1.b) 를 도입

Results

Settings

  • 학습 데이터셋은 66명 화자, 4 accents, 화자 별로 5초부터 47시간까지 다양함. 총 354시간.

  • 평가 화자 데이터셋은 남/여(5명:5명) 화자 별로 4시간 이상(Table 1) 혹은 약 4시간 정도(Table 4)

  • semi-supervised 는 평가 화자 데이터셋에 대해서만 duration label 사용하지 않음.

  • unsupervised 는 duration label을 전혀 사용하지 않음.

Analysis

undefined
  • 제안 방법이 Tacotron2의 성능과 거의 유사함.

undefined
  • σ를 학습하지 않고 고정된 값(10.0)으로 했을 때(E2E adv. TTS 방법)보다 약간 좋은 성능을 보임.

undefined
  • FVAE가 학습한 alignment가 target과 비슷하게 잘 잡히는 것을 볼 수 있음.

undefined
  • FVAE를 사용할 경우 duration label이 없어도 자연스러운 성능을 보임.

  • semi-supervised(평가 화자만 duration label이 없음)는 FVAE를 사용하지 않아도 높은 성능을 보이며, FVAE를 사용하면 supervised와 유사한 성능을 보임.

  • 하지만 세밀히 조사해 본 테스트에서는 supervised가 아닌 경우 불명확한 발음, 음소 반복 등의 에러가 발생하는 것을 발견함(Tacotron 2 보다는 나음)

  • pace control에서도 supervised에 비해 alignment가 부정확한 모습을 보임.

undefined
  • Robustness와 관련하여 UDR(Unaligned Duration Ratio)에서는 상당히 좋은 성능을 보인다. 이 measure는 Tacotron 2과 Non-attentive tacotron 방식을 구분하여 보는 것이 좋을 듯 하다.

  • WDR(ASR Word Deletion Error)에서 개선이 있었는데, Introduction에서도 언급했다시피 상용 제품에서는 약간의 robustness 개선도 중요하며, Supervised가 GMMA보다 꽤 좋아졌다.

  • median text length는 LibriTTS(74), web-long(224), Tacotron 2는 특히 long sentence에 약한 모습을 보임.

⠀**실험적으로 Tacotron 2는 위 성능 정도의 레벨을 달성하기 위해 상당히 예민한 data preprocessing이 필요했음.

Discussion

  • external alignment와 관련하여 구글은 자체적으로 증명된 좋은 인식 모델을 가지고 있음. speaker-dependent로 추정됨.

  • supervised + FVAE 는 supervised가 강력하여 큰 개선이 없었는가 의문

  • alignment tool이 매우 좋다면 필요 없을 수도 있지만, 그렇지 않을 경우(autoregressive TTS attention에서 가져왔을 경우)에는 같이 쓰는 것이 좋아질 수 있을 것 같다.

  • semi-supervised, unsupervised를 효과적으로 하는 방법이 제안되어 추후에 데이터가 적은 화자의 추가, unseen speaker or style로 확장한 모델 등에 도움이 될 것으로 보임.

  • non-autoregressive decoder를 사용하는 경우의 분석은 추가로 필요해 보임.