Tacotron: Towards End-to-End Speech Synthesis 요약,정리

Tacotron, text-to-speech

colab에서 수행 코드

colab에서 수행 코드

ABSTRACT(초록)

  • TTS시스템 : 전형적으로 text analysis frontend, acoustic model, audio 합성 모듈과 같은 multiple stage의 시스템이다.
  • 이러한 것들은 특정 도메인의 전문지식이 요구되고 불안정한 디자인을 선택하였다.
  • 이 논문에서 Character로부터 직접 음성을 합성하는 end-to-end TTS 모델인 Tacotron을 제안한다.
  • <text, audio> pair다 주어지면, 이 모델은 랜덤 초기화 이후 처음부터 완벽하게 학습될수 있다.
  • Sequence-to-sequence 프레임워크가 이 어려운 태스크를 위해 잘 동작하기 위한 몇가지 중요한 테크닉들을 제안한다.
  • Tacotron은 미국 영어를 타겟으로 5점 만점의 mean opinion score에서 3.82점에 도달하였다. 자연스러움에서 기존 parametric system을 능가한다.
  • 게다가, Tacotron은 프레임 수준에서 음성을 생성하기 때문에, 샘플 수준의 autoregressive 방법들보다 빠르다.

1 INTRODUCTION

기존 방법들의 문제점, 단점

  • 현대 TTS 파이프라인은 복잡함.
  • 통계학적 parametric TTS는 ‘다양한 언어학적 특성들을 추출하는 text frontend’, ‘음성 길이를 예측하는 모델’, ‘음성 특성을 예측하는 모델’, ‘복잡한 signal processing 기반의 vocoder’가 있다.
  • 이러한 컴포넌트들은 전문적인 지식을 기반으로 하고 디자인하기 매우 어려움
  • 개별적으로 학습되기 때문에 각 컴포넌트에서 발생한 에러들이 축적됨
  • 그러므로 현대 TTS의 복잡도는 새로운 시스템을 구축할 때 상당한 엔지니어적인 노력이 필요

사람들이 라벨링한 <text,audio> pair만 가지고 학습될수 있는 end-to-end TTS 시스템의 장점

  • heuristic한 실험들과 연관된 feature engineering을 완화할 수 있음
  • 화자, 언어, 감정 등과 같은 다양한 특성들을 더욱 쉽게 조절할 수 있다. 왜냐하면 이러한 특성 조절은 특정한 컴포넌트에서 발생하는 것이 아니라 모델의 시작부터 발생하기 때문.
  • 하나의 모델은 각 컴포넌트의 에러가 축적되는 multi-stage 모델에 비해 강력
  • 이러한 장점들은 end-to-end 모델이 종종 noisy가 있을 수 있지만 실제 세상에서 찾을 수 있는 풍부하고 표현적인 많은 양의 데이터를 학습할 수 있도록 한다.

어려움

  • TTS는 매우 압축된 text(source)를 오디오로 압축을 푸는 large-scale inverse 문제가 있음
  • 동일한 텍스트라도 발음 또는 발화 스타일이 다르기 때문에 end-to-end 모델에서 특히 어렵다.
  • 따라서 주어진 입력에 대한 매우 다양한 범위를 가지는 signal level로 대처해야한다.
  • end-to-end speech recognition이나 machine translation과 달리, TTS의 outputs은 연속적이고 일반적으로 output sequences는 input보다 훨씬 더 길다. 이러한 속성은 예측 오류를 빠르게 누적시킨다.

방안

  • 본 논문에서 attention 기반의 sequence-to-sequence 모델을 사용한 end-to-end TTS 모델, Tacotron을 제안한다.
  • 이 모델의 입력은 characters, 출력은 raw spectrogram이고, 몇가지 테크닉들을 사용하여 모델의 성능을 향상시켰다.
  • <text, audio> pair가 주어지면, Tacotron은 랜덤 초기화와 함께 처음부터 학습될 수 있다.
  • Phoneme level의 alignment가 필요없기 때문에, text만 있는 많은 양의 audio를 쉽게 사용할 수 있다.
  • 간단한 waveform 합성 테크닉과 함께, Tacotron은 미국 영어 평가 세트에서 3.82의 MOS를 기록했고, 이는 자연스러움 부분에서 기존의 parametric 시스템을 능가한다.

기존 모델들의 문제점과 비교

waveNet

  • WaveNet은 강력한 audio 생성 모델이다.
  • WaveNet은 TTS에서 높은 성능을 가지지만, 샘플 단위의 autoregressive 동작때문에 매우 느리다.
  • TTS 앞단에서 언어학적 특성을 추출해 wavenet의 입력으로 사용해야 하므로, end-to-end 모델이라고 할 수 없다. TTS 시스템에서 vocoder와 acoustic 모델만 바뀐 모델이라고 할 수 있다.

DeepVoice

  • 최근에 개발된 DeepVoice는 기존 TTS 파이프라인의 컴포넌트들을 뉴럴넷으로 대체했다. 그러나 각 컴포넌트들을 개별적으로 학습되고 이 역시 end-to-end 모델이 아니다. wang의 논문
  • 2016년 발표된 wang의 논문은 Tacotron보다 더 빨리 연구된 attention 기반의 seq2seq 모델을 사용한 end-to-end TTS 모델이다.
  • 그러나 이 모델은 seq2seq 모델이 alignment를 학습하는 것을 돕기 위해 사전에 학습된 HMM aligner를 사용한다.
  • 따라서 얼마나 잘 alignment가 seq2seq 모델에 의해 학습되었는지 알 수 없다.

Char2Wav

  • Char2Wav는 characters에 학습될 수 있는 독립적으로 개발된 end-to-end 모델이다.
  • 그러나 Char2Wav는 SampleRNN neural vocoder를 사용하기 전에 vocoder parameters를 예측해야하는 반면, Tacotron은 직접 raw spectrogram을 예측한다.
  • 또한 Char2Wav의 seq2seq와 SampleRNN model들은 별도로 사전 학습이 필요하지만 Tacotron은 사전준비없이 학습이 이루어진다.

  • 우리의 모델을 학습할 때 몇가지 트릭이 사용되며 저자들은 운율(prosody)을 해친다고 지적했다.
  • 이 모델은 vocoder의 파라미터들을 예측하기 때문에 vocoder를 필요로 한다. 그러므로 이 모델은 음소(phoneme) 입력으로 학습되고 실험 결과들은 약간의 한계가 있다.

3 MODEL ARCHITECTURE

tacotron1_01

Figure 1: Model achitecture, 이 모델은 문자를 입력으로 받아들여 해당하는 raw spectrogram을 출력하고 그것을 Griffin-Lim reconstruction algorithm에 제공하여 음성을 합성한다.

  • Tacotron의 backbone은 attention기반 seq2seq model이다.
  • Figure 1은 encoder, attention-based decoder, post-processing net을 포함하는 모델 구조를 보여주고있다.
  • high-level에서 Tacotron은 characters를 입력으로 받고 waveforms(파형)으로 변환되는 spectrogram 프레임을 생성한다.

3.1 CBHG MODULE

tacotron1_02

Figure 2: Lee et al. (2016)에 채택된 The CBHG (1-D convolution bank + highway network + bidirectional GRU) module

  • CBHG는 bank of 1-D convolutional filters, highway networks, bidirectional GRU RNN으로 구성되어있다.

  • CBHG는 시퀀스에서 표현(representations)을 추출하는 강력한 모듈이다.

  • 입력 시퀀스(input sequence)는 먼저 \(K\) sets의 1-D convolutional filters를 통과한다. 여기서 k번째 세트는 k너비(width)를 가지는 \(C_k\)(convolution filter)이다\((k = 1, 2,...,K)\).

  • 이러한 필터는 로컬 및 (unigrams, bigrams, up to K-grams 모델링과 유사한)contextual information(문맥정보)를 명시적으로 모델링한다.

  • convolution 출력이 함께 쌓고, local invariances를 증가시키기 위해 시간으로 max pooling한다.

  • 이때 stride를 1로 사용하여 원래 time resolution을 보존한다.

  • 이후 fixed-width 1-D convolutions을 통과시킨다.

  • 다시 residual connection을 이용해 통과된 출력을 original input sequence와 더한다.

  • Batch normalization은 매 convolution layer에서 사용된다.

  • convolution의 출력은 high level 특성을 추출하기 위해 multi-layer highway network을 통과한다.

  • 마지막으로, forward 문맥(context)과 backward 문맥(context)에서 sequential features을 추출하기 위해서 bidirectional GRU RNN을 사용한다.

  • CBHG는 machine translation에서 영감을 받았다. machine translation과의 차이점은 non-causal convolutions, batch normalization, residual connections, stride=1 max pooling이다.

  • 이러한 modification으로 generalization 효과를 향상시켰다.

3.2 ENCODER

  • Encoder의 목표는 텍스트의 robust sequential representations을 추출하는 것이다.

  • Encoder에 대한 input은 character sequence로 각각의 character는 one-hot vector로 표현되고 continuous vector로 임베딩된다.

  • 그런다음 “pre-net”이라 불리는 non-linear transformations 집합을 각 임베딩에 적용한다.

  • 이 작업에서 우리는 dropout과 함께 bottleneck layer를 pre-net으로 사용하여 수렴을 돕고 generalization을 개선한다.

  • CBHG module은 pre-net outputs을 attention module에 사용되는 최종 encoder representation으로 변환한다.

  • CBHG기반 Encoder가 overfitting을 줄일뿐만 아니라 standard multi-layer RNN encoder보다 덜 잘못발음한다는것을 발견했다.

Table 1: Hyper-parameters와 network architectures. “conv-k-c-ReLU”는 ReLu activation과 함께 width \(k\)와 \(c\) output channels이 있는 1-D convolution을 의미한다.

tacotron1_03

3.3 DECODER

  • 디코더로는 content 기반 tanh attention decoder를 사용한다. stateful recurrent layer는 각 디코더 time step마다 attention query를 생성한다.

  • context vector와 attention RNN cell의 output은 concatenate돼서 decoder RNN의 입력으로 사용된다.

  • vertical residual connections와 함께 GRU stack을 사용한다. residual connection은 빨리 convergence될 수 있도록 도와준다.

  • 디코더의 타겟은 중요한 디자인 초이스다.

  • 이 모델은 직접 raw spectrogram을 예측하지만, 이는 speech signal과 text 사이에 alignment를 학습하기 위해서는 매우 불필요하다.(이 작업은 실제로 seq2seq를 사용하는 동기이다)

  • 이러한 불필요한 중복성(redundancy) 때문에, 모델에서 seq2seq 디코딩과 waveform 합성을 위해 다른 타겟을 사용한다.(이 작업은 실제로 seq2seq를 사용하는 동기이다)

  • 수정되거나 훈련될수 있는 inversion process에 대한 prosody(운율) 정보와 sufficient intelligibility를 제공하는 한, seq2seq 타겟은 매우 압축될 수 있다.

  • 80-band mel-scale spectrogram를 target으로 사용하지만, 더 적은 bands나 cepstrum과 같은 더 간결한(concise) target을 사용할 수 있다.

  • seq2seq target에서 waveform로 변환하기 위해서 post-processing network를 사용한다.


  • decoder targets를 예측하기 위해 simple fully-connected output layer 사용한다.

  • 논문에서 발견한 중요한 trick은 multiple, non-overlapping output frames을 각 decoder step마다 예측하는 것이다.

  • r frames을 한번에 예측하는 것은 총 decoder steps을 r로 나누고 model size, 학습 시간, 추론 시간을 단축한다.

  • 더욱 중요한 것은 이 트릭이 attention으로부터 학습되는 alignment가 더 빨리, 더 안정적으로 측정됨으로써 convergence speech가 증가했다는 것이다.

  • 이것은 인접한 음성 프레임들(speech frames)이 상관관계(correlation)가 높고 각 문자(character)가 보통 여러 프레임으로 구성되기 때문이다.

  • 한번에 하나의 프레임을 방출(Emitting)하는 것은 모델이 여러번의 단계에서 동일한 입력(input) 토큰에만 집중하도록 강요한다.

  • 여러 프레임을 방출(Emitting)하는 것은 attention이 학습할때 더 빨리 forward로 이동하게 만든다.


  • 첫 decoder 단계는 프레임을 나타내는 all-zero frame 상태에서 일어난다.
  • frame으로 표현된 Inference 상황에서 decoder 스텝 t에서, r개의 예측의 마지막 프레임은 스텝 t+1 decoder의 입력으로 사용된다.
  • 마지막 prediction을 입력으로 사용하는 것은 일반화 할 수 없는 해결책(ad-hoc choice)이다. 즉 모든 r prediction들을 사용할 수도 있다.

  • 학습하는 동안은 항상 모든 r-번째 ground truth frame을 decoder에 입력한다.

  • 입력 프레임은 encoder에서 사용되었던 prenet을 통과한다.

  • scheduled sampling과 같은 테크닉을 사용하지 않기 때문에 pre-net에서 dropout은 모델을 일반화하는데 중요한 역할을 한다. 그것은 출력 분포의 다양한 양상을 해결하기 위해 noise source를 공급한다.

3.4 POST-PROCESSING NET AND WAVEFORM SYNTHESIS

  • post-processing net의 task는 seq2seq target을 waveforms(파형)으로 합성할 수 있는 target으로 변환하는 것이다.

  • 이 모델에서 Griffin-Lim을 합성기(synthesizer)로 사용하기 때문에, post-processing net는 linear-frequency scale로 샘플링된 스펙트럼 크기(spectral magnitude)를 예측하도록 학습한다.

  • post-processing net의 다른 동기는full decoded sequence를 볼수 있다는 것이다.

  • 항상 왼쪽에서 오른쪽으로 실행되는 seq2seq와 대조적으로, 그것은 각 개별 프레임에 대한 예측 오류를 바로잡기 위해 forward,backward 정보를 모두 가진다.

  • 이 작업에서, 더 단순한 구조도 잘 작동할 수 있지만, post-processing net으로 CBHG module을 사용한다.

  • post-processing network의 개념은 매우 general하다는 것이다.

  • 이 모델은 vocoder parameters와 같은 alternative targets를 예측하거나 waveform 샘플을 직접 합성하는 WaveNet과 같은 neural vocoder로 사용할 수 있다.

  • 본 논문에서는 예측된 spectrogram의 waveform을 합성하기 위해 Griffin-Lim algorithm을 사용한다.

  • Griffin-Lim 알고리즘에 넣기 전에 magnitudes를 1.2제곱 하는 것은 artifacts를 감소시킨다.(harmonic enhancement 효과 때문일것이다.)

  • Griffin-Lim 알고리즘이 50회 iteration을 한 후에 합리적으로 빠르게 수렴하는 것을 관찰했다.(실제로 약 30회 반복도 충분해 보인다.)

  • Griffin-Lim을 TensorFlow로 구현하였다.

  • Griffin-Lim은 미분 가능하지만(훈련 가능한 가중치가 없다) 이 과정에서 우리는 그것에 대해 어떠한 loss도 부과하지 않는다.

  • Griffin-Limdm은 간단하고 이미 좋은 성능을 내지만 spectrogram to waveform inverter를 빠르고 고성능으로 학습할 수 있는 점에서 선택되었다.

4 MODEL DETAILS

  • Table 1에는 hyper-parameters와 network architectures가 나열되어 있다.

  • Hann windowing, 50 ms frame length, 12.5 ms frame shift, 2048-point Fourier transform(푸리에 변환)과 함께 log magnitude spectrogram을 사용한다.

  • pre-emphasis (0.97)가 도움이 되는것을 발견했다.

  • 모든 실험에 4 kHz sampling rate를 사용한다. 비록 더 큰 r값(e.g. r = 5)이 더 잘 작동하지만, 이 논문에서는 MOS 결과를 위해 r = 2 (output layer reduction factor)를 사용한다.

  • Adam optimizer (Kingma & Ba, 2015)를 사용하고 learning rate decay는 각각 500K, 1M, 2M global steps이후, 0.001에서 시작하여 0.0005, 0.0003, 0.0001로 줄인다.

  • seq2seq decoder (mel-scale spectrogram)와 post-processing net (linear-scale spectrogram) 모두에 대해 simple $l$ 1 loss을 사용한다. 두 loss는 같은 가중치를 갖는다.

  • 모든 sequence는 max length에 맞춰 padding되고 32 batch size를 사용한다.

  • 패딩된 부분은 zero-padded frames로 마스킹해 사용되었다.

  • 하지만 이런 방식으로 학습된 모델이 언제 emitting outputs를 멈추는지를 모르고 마지막에 반복된 소리를 만들어냈다.

  • 이 문제를 해결하기 위한 한 가지 간단한 방법은 zero-padded frames을 재구성하는 것이다.

5 EXPERIMENTS

  • 전문 여성 화자가 말하는 약 24.6시간의 음성 데이터를 포함하는 북미 영어 데이터 세트로 Tacotron을 학습하였다.

  • 문장들은 text normalize 된다. 예를 들어 “16”은 “sixteen”으로 변환된다.

tacotron1_04

Figure 3: Attention alignments on a test phrase. Tacotron에서 decoder 길이는 output reduction factor(출력감소계수) r=5를 사용하기 때문에 더 짧다.

5.1 ABLATION ANALYSIS

  • 첫번째, 우리는 vanilla seq2seq model과 비교한다.

  • encoder와 decoder 모두 residual RNNs layer을 사용하며 각 layer는 256 GRU cells(LSTM을 시도했고 유사한 결과를 얻었다)을 가지고 있다.

  • pre-net 또는 post-processing net를 사용하지 않았으며, decoder는 linear-scale log magnitude spectrogram를 직접 예측한다.

  • 이 모델이 alignments을 학습하고 generalize(일반화)하려면 scheduled sampling이 필요하다.

  • Figure3을 보면 좋지않은 alignment를 가진다.

  • Figure 3(a)는 vanilla seq2seq가 poor alignment을 학습한다는 것을 나타낸다.

  • attention이 moving forward전에 많은 프레임에 대해 고착되는 경향이 있어 synthesized signal(합성신호)에서 speech intelligibility이 저하되는 원인이 된다. 그 결과 naturalness와 overall duration이 파괴된다.

  • 대조적으로, Tacotron은 Figure 3(c)과 같이 깨끗하고 부드러운 alignment을 학습한다.


  • 두번째, 2-layer residual GRU encoder로 대체된 CBHG encoder를 사용한 모델을 비교한다.

  • 모델의 나머지는 encoder pre-net을 포함하여 전부 같다.

  • Figure 3(b)와 3(c)를 비교하면, 우리는 GRU encoder에서의 alignment가 noisier 하다는 것을 알 수 있다.

  • synthesized signals(합성신호)를 들어보면, noisy alignment이 종종 잘못된 발음으로 이어진다.

  • CBHG encoder는 overfitting을 줄이고 길고 complex phrases(복잡한 구문)을 generalize한다.

tacotron1_05

Figure 4: post-processing net을 사용한 Predicted spectrograms와 사용하지 않은 Predicted spectrograms이다.

  • Figures 4는 post-processing net 사용의 장점을 보여준다.

  • 다른 모든 컴포넌트들은 그대로 두고 post-processing net만 없는 모델을 훈련시켰다.(decoder RNN이 linear-scale spectrogram을 예측한다는 점을 제외)

  • 더 많은 contextual information(상황별 정보)를 통해, post-processing net로부터 만들어진 prediction은 harmonics와 synthesis artifacts를 감소기키는 high frequency formant structure를 더 잘 생성한다.

5.2 MEAN OPINION SCORE TESTS

  • 본 논문에서는 mean opinion score test를 진행했고, 5 point의 리커트 척도를 사용해 자연스러움에 대해 물어봤다.

  • MOS 테스트는 원어민으로부터 크라우드소싱 방식으로 모아 평가했다.

  • 100개의 학습되지 않은 문장들은 테스트를 위해 사용되었고 각 문장은 총 8번의 점수를 받았다.

  • MOS를 계산할 때 오직 헤드폰을 사용해서 평가한 결과만 사용하였다.

  • 제안하는 모델을 실제 사용되는 parametric 모델과 concatenative 모델과 비교하였다.

  • Tacotron의 MOS는 3.82로 parametric 모델 이상의 성능을 가진다.

  • 강력한 baseline과 Griffin-Lim 합성에 의해 발생한 artifacts를 고려한다면, 이 결과는 매우 괜찮은 결과다.

Table 2: 5-scale mean opinion score evaluation

tacotron1_06

6 DISCUSSIONS

  • 본 논문에서는 Tacotron을 제안했고 이는 character 시퀀스를 입력으로 받아 spectrogram을 출력하는 end-to-end TTS 모델이다.

  • 간단한 waveform 합성기 모듈과 함께 3.82의 MOS에 도달하였고, 실제 자연스러움의 부분에 있어 parametric system의 성능을 능가하였다.

  • Tacotron은 frame-based라서 inference가 sample-level의 autoregressive 모델에 비해 빠르다.

  • 이전 연구와 달리, Tacotron은 손이 많이 가는 언어학적 특성 추출 또는 HMM aligner와 같은 복잡한 컴포넌트들이 필요하지 않다.

  • 이 모델은 단순히 랜덤초기화와 함께 처음부터 학습될 수 있다.

  • 학습된 text normalization에서의 최근 발전이 미래에는 text normalization을 불필요하게 할수 있겠지만, 이 모델에서는 simple text normalization을 사용하였다.

  • 우리는 아직 우리의 모델을 많은 측면에서 더 조사해야한다. 많은 초기 모델을 바꾸지 않은 상태다.

  • Output layer, attention module, loss function, Griffin-Lim-based waveform synthesizer는 모두 개선 가능성이 있다.

  • 예를 들어, Griffin-Lim 출력은 audible artifacts를 가진다고 널리 알려져 있다.

  • 우리는 현재 빠르고 높은 퀄리티의 neural-network-based spectrogram inversion을 연구하고 있다.


© 2020. All rights reserved.

따라쟁이