1. Introduction
- 기존 TTS 모델은 두 단계로 보통 이루어짐, 이걸 합쳐보자는 시도(end to end)도 있었는데 두 단계보다 성능이 떨어짐, 그래서 본 논문에서는 VAE를 통해 이 두 단계를 연결해보고자 하였음
- Text-to-speech (TTS)는 여러 가지 구성요소로, 주어진 텍스트의 원시 음성 파형 (raw speech wavefrom)을 합성함
- 심층신경망의 빠른 발전으로, TTS 시스템 파이프라인은 텍스트 전처리 (정규화, 음소화 등)와 별개로 이중 생성 모델링으로 단순화됨
- 첫 번째 단계는, 전처리된 텍스트에서 melspectogram (Shen et., 2018) 이나 언어적 특징(lingustic feautre) (Oord et al., 2016) 같은 중간 음성 표현 (speech representation)을 생성하고
- 두 번째 단계는, 중간 표현 (intermediate representation)을 기반으로 조건화된 원시 파형 (raw waveform)을 생성하는 것 (Oord et al., 2016; Kalchbrenner et al., 2018)임
- 각 두 단계 파이프라인에 있는 모델들은 독립적으로 발전 되어 옴
progress of parallel TTS systems
- Neural network-based autoregressive TTS systems (신경망 기반 자동 회귀 TTS 시스템)
- 사실적인 음성(realistic speech)을 합성할 수 있지만(Shen et al., 2018; Li et al., 2019), 순차적 생성 방법(sequential generative
process)으로 인해 최신 병렬 프로세서(modern parallel processor)를 충분히 활용하기 어려움.
이런 한계를 극복하고 합성 속도(synthesis speed)를 향상시키기 위해 여러 가지 비회귀적 (non-autoregressive)인 방법들이 제안됨.
-
text-to-spectrogram generation step (텍스트-스펙트로그램 생성 단계)
- 텍스트와 스펙트로그램 간의 정렬 학습의 난이도를 낮추고자 pre-trained autoregressive teacher networks(사전 학습된 자동 회귀 교사 네트워크)에서 attention maps(주의 지도)를 추출하는 방법(Ren et al., 2019; Peng et al., 2020)이 시도 됨
-
최근에는 likelihood-based methods(가능성 기반 방법)
- target mel-spectrograms (목표 멜-스펙트로그램)의 가능성을 극대화하는 정렬을 추정하거나 학습해 external aligners(외부 정렬자)에 대한 의존성을 제거함(Zeng et al., 2020; Miao et al., 2020; Kim et al., 2020)
-
generative adversarial networks (생성적 적대적 네트워크, GAN) (Goodfellow et al., 2014)
- second stage models(2단계 모델)에서 탐구 되어 옴.
- 여러 판별자가 있는 GAN 기반 피드 포워드 네트워크 (GAN-based feed-forward networks with multiple discriminators)로,
- 각각 다른 규모와 기간의 샘플을 구별하는 서로 다른 스케일 또는 기간의 샘플을 구별하여 고품질의 원시 파형 합성 (Kumar et al., 2019; Binkowski ´ 외., 2019; Kong 외., 2020)
two-stage pipelines의 계속되는 문제점
- 병렬 TTS 시스템의 발전에도 불구하고
- two-stage pipelines(2단계 파이프라인)은 이전 단계 모델에서 생성된 샘플로 후단계 모델을 학습시키는데
- high-quality production(고품질 생산)을 위해 순차적인 훈련 또는 fine-tuning(미세 조정)이 필요하기 때문에 단점이 있음(Shen et al., 2018; Weiss et al., 2020).
- 또한, pre-defined intermediate features(미리 정의된 중간 특징)에 의존해서 -> 학습된 hidden representations(숨겨진 표현)을 적용하여 성능을 더욱 향상시키기 어려움.
- 최근 몇 연구, FastSpeech 2s(Ren et al, 2021) 와 EATS(Donahue et al., 2021)는 효율적인 end-to-end training methods(엔드 투 엔드 훈련 방법)을 제안
- 이는 전체 파형(waveform)이 아닌 짧은 오디오 클립을 통해 훈련하는 것과 같이 효율적이었음
- mel-spectrogram decoder (멜-스펙트로그램 디코더)를 활용하여 text representation learning(텍스트 표현 학습)을 돕고,
- target(목표) 음성과 generated(생성된) 음성 간의 길이 불일치를 완화하기 위해 specialized spectrogram loss (특수 스펙트로그램 손실)을 고안하여 -> 효율적인 방법 제안
- 하지만 learned representations(학습된 표현)을 활용하여 성능을 향상시킬 수 있음에도 불구하고 synthesis quality(합성 품질)은 two-stage systems (2단계 시스템) 보다 성능 안좋음
해당 논문의 해결책
-
기존의 two-stage models(2단계 모델)보다 더 자연스러운 오디오를 생성하는 parallel end-to-end TTS (병렬 엔드투엔드 TTS) 방법 제시
-
가변 자동 인코더(variational autoencoder, VAE)(Kingma & Welling, 2014)를 사용하여 latent variables(잠재 변수)를 통해 두 개의 TTS 시스템 모듈을 연결해 효율적인 end-to-end learning을 가능하게 함.
-
high-quality(고품질)의 speech waveforms(음성 파형)을 합성하기 위한 방법의 표현력을 향상시키고자
- conditional prior distribution (조건부 사전 분포)에 정규화 흐름을 적용하고
- 파형 도메인에 대한 adversarial training(적대적 훈련) 적용
-
fine-grained audio(세분화된 오디오)를 생성하는 것 외에도
- TTS 시스템에서 텍스트 입력을 다양한 변형(예: 피치 및 지속 시간)을 통해 여러 가지 방식으로 말할 수 있는 일대다 관계를 표현하는 것이 중요
- 일대다 문제를 해결하고자 => 입력 텍스트에서 다양한 리듬을 가진 음성을 합성하는 stochastic duration predictor(확률적 지속 시간 예측기법) 제안
- latent variables(잠재 변수)에 대한 불확실성 모델링과 stochastic duration predictor(확률적 지속 시간 예측자)로 => 텍스트가 표현할 수 없는 음성 변형을 포착함.
-
결론적으로 해당 방법은 HiFiGAN(Kong et al., 2020)을 사용하여 공개적으로 사용 가능한 최고의 TTS 시스템인 Glow-TTS(Kim et al., 2020)보다 더 자연스러운 음성과 더 높은 샘플링 효율을 얻음
5.1 End-to-End Text-to-Speech
-
two-stage pipeline을 가진 neural TTS models은 human-like speech를 합성할 수 있음 (Oord et al., 2016; Ping et al., 2018; Shen et al., 2018)
- 그러나 그들은 주로 (1) 훈련된 vocoder 또는 (2) first stage model output으로 fine-tuned된 것을 필요로 함
- 이는 훈련과 deployment를 비효율적으로 함
- 또한 end-to-end approach의 잠재적인 이점을 수확하는 것이 불가능함
- 해당 방법은 predefined intermediate features 대신에 learned hidden representations를 사용할 수 있음
-
최근 single-stage end-to-end TTS model(단일 단계 엔드투엔드 TTS 모델)이 raw waveforms를 텍스트에서 직접 생성하는 어려운 task를 처리하고자 제시됨
- 해당 방법은 mel-spectrograms보다 더 풍부한 정보(예. high-frequency response and phase)를 포함함
- FastSpeech 2s (Ren et al., 2021):
- 적대적 훈련(adversarial training)과 텍스트 표현을 학습하는 데 도움이 되는 보조 멜-스펙트로그램 디코더를 활용해 end-to-end parallel generation(엔드 투 엔드 병렬 생성)을 가능하게 함
- FastSpeech 2의 확장판임
- 그러나 일대다 문제를 해결하기 위해 FastSpeech 2는 훈련의 입력 조건으로 사용되는 음성에서 음소 지속 시간, 피치, 에너지를 추출해야 함
- EATS (Donahue et al., 2021):
- 적대적 훈련과 차등 정렬 방식(differentiable alignment scheme)을 사용
- 생성된 음성과 target(목표) 음성 간의 길이 불일치 문제를 해결하기 위해 동적 프로그래밍으로 계산되는 soft dynamic time warping loss(소프트 동적 시간 왜곡 손실) 사용
- Wave Tacotron (Weiss et al., 2020)
- end-to-end structure(엔드투엔드 구조)를 위해 normalizing flows(정규화 흐름)을 Tacotron 2와 결합하지만 autoregressive(자동 회귀성)을 유지함
-
지금까지 언급한 모든 end-to-end TTS 모델의 오디오 품질은 two-stage models 보다 낮음
-
본 논문에서는, 앞서 언급한 end-to-end model과 달리
- 조건부 VAE(conditional VAE)를 활용하여
- 1) 추가 입력 조건 없이 텍스트에서 직접 raw waveforms(원시 파형)을 합성하는 방법을 학습
- 2) 동적 프로그래밍 방법인 MAS로 손실을 계산하는 대신 optimal alignment(최적의 정렬)을 찾고
- 3) 샘플을 병렬로 생성하며,
- 4) 공개적으로 사용 가능한 최고의 two-stage models보다 성능이 좋음
5.2 Variational Autoencoders
VAE
- VAE(Kingma & Welling, 2014)
- 가장 널리 사용되는 확률 기반 심층 생성 모델(likelihood-based deep generative models) 중 하나임.
- 본 논문에서는 TTS System에 조건부 VAE(conditional VAE)를 사용함.
- 조건부 VAE(conditional VAE)는 조건부 생성 모델(conditional generative model)로서, 관찰된 조건이 잠재 변수의 사전 분포를 조절해 출력을 생성함
- 음성 합성에서 Hsu et al. (2019)와 Zhang et al. (2019): Tacotron 2와 VAE를 결합하여 음성 스타일과 운율을 학습함
- BVAE-TTS(Lee et al., 2021): 양방향 VAE(Kingma et al., 2016)를 기반으로 멜-스펙트로그램을 병렬로 생성합니다.
- VAE를 first stage model에 적용한 이전 연구들과 달리 본 연구에서는 VAE를 병렬 end-to-end TTS system에 적용함
VAE 연구방향
- Rezende & Mohamed(2015), Chen et al.(2017), Ziegler & Rush(2019): normalizing flows(정규화 흐름)으로 사전 및 사후 분포의 표현력을 향상시켜 VAE 성능을 개선함
- 사전 분포의 표현력을 향상시키기 위해 본 연구에서는 conditional prior network(조건부 사전 네트워크)에 정규화 흐름을 추가하여 보다 사실적인 샘플을 생성함.
본 연구와 가장 유사한 연구
-
가장 유사하게 Ma et al. (2019)는 non-autoregressive neural machine translation(비자기회귀 신경 기계 번역)을 위해 conditional prior network(조건부 사전 네트워크)에서 흐름을 정규화하는 조건부 VAE를 제안함(FlowSeq)
-
그러나 본 논문의 모델은 latent sequence을 e source sequence에 명시적으로 정렬할 수 있다는 점에서 attention mechanisms(주의 메커니즘)을 통해 implicit alignment(암묵적 정렬)을 학습해야 하는 FlowSeq과 차이가 있음.
-
해당 모델은 MAS로 latent sequence(잠재 시퀀스)를 time-aligned source sequence(시간 정렬된 소스 시퀀스)와 일치시켜, 잠재 시퀀스를 standard normal random variable(표준 정규 확률 변수)로 변환하는 부담을 제거해 -> 흐름을 정규화하는 아키텍처를 더 간단하게 만들 수 있게 됨
5.3 Duration Prediction in Non-Autoregressive Text-to-Speech
- Autoregressive TTS models (자동 회귀 TTS 모델) (Taigman et al., 2018; Shen et al., 2018; Valle et al., 2021)은 autoregressive structure(자동 회귀 구조)와 추론/priming (Graves, 2013) 중 드롭아웃 확률 유지 등 몇 가지 트릭을 통해 다양한 리듬의 음성을 생성함
- 반면 parallel TTS(병렬 TTS 모델)(Ren et al., 2019; Peng et al., 2020; Kim et al., 2020; Ren et al., 2021; Lee et al., 2021)은 deterministic duration prediction(결정론적 지속 시간 예측)에 의존해 옴.
- 병렬 모델은 하나의 피드 포워드 경로에서 target phoneme(목표 음소) 지속 시간 또는 target speech(목표 음성)의 전체 길이를 예측해야 해서 speech rhythms(음성 리듬)의 correlated joint distribution(상호 연관된 공동 분포)를 포착하기 어렵기 때문
- 이 연구에서는 joint distribution을 학습하는 flow-based stochastic duration predictor(흐름 기반 확률적 지속 시간 예측기)를 제시하여 diverse speech rhythms를 parallel로 생성할 수 있음.
2. Method
- 본 논문의 방법을 Variational Inference with adversarial learning for end-to-end Text-to-Speech (VITS)로 명시함
2.5. Model Architecture
VITS (Kim et al., 2021) 모델은 크게 5가지 부분, 사후 인코더 (Posterior encoder), 사전 인코더 (Prior encoder), 디코더 (Decoder), 판별자 (Discriminator) 그리고 확률적 지속 시간 예측자(Stochastic duration predictor) 로 구성 되어져 있다. 여기서 사후 인코더 (Posterior envcoder)와 판별자 (Discriminator)는 학습 과정에서만 사용되는 부분이다. VITS (Kim et al., 2021) 모델에서 5가지 구조가 작동하는 과정에 대해서 설명하겠다.
① 사후 인코더 (Posterior encoder)
사후 인코더의 경우 WaveGlow (Prenger et al., 2019)와 Glow-TTS (Kim et al., 2020)에서 사용되는 비인과적인 WaveNet 잔여 블록을 사용한다. 여기서 잔여 블록이란 AI 모델에서 신경망을 깊게 쌓아도 성능이 줄지 않도록 방지해주는 역할을 담당한다(He et al., 2016). 사후 인코더에서 WaveNet 잔여 블록은 게이트 활성화 유닛과 스킵 연결이 있는 확장 컨볼루션 레이어로 이루어져 있다. 더 나아가 해당 연구에서는 다중 화자 케이스를 위해 잔여 록블 (residual block)에서 전역 조건(Oord et al., 2016)을 사용하여 화자 임베딩을 추가하였다.
② 사전 인코더 (Prior Encoder)
사전 인코더는 입력으로 받는 정보인 음소를 처리하는 Text encoder (텍스트 인코더)와 사전 분포의 유연성을 향상시키는 정규화 흐름 (normalizing flow)로 구성되어져 있다. 이 때 Text encoder는 상대 위치 부호화 (relative positional encoding) (Shaw et al., 2018)를 사용하는 트랜스포머 인코더(Transformer encoder) (Vaswani et al., 2017)로 이루어져 있다. 해당 연구(Kim et al., 2021)에서는 텍스트 인코더와 사전 분포의 평균과 분산을 생성하는 선형 투영 레이어(linear projection layer)를 통해 숨겨져 있는 표현들(hidden representation)을 얻었다. 정규화 흐름 (normalizing flow)은 WaveNet residual block으로 구성된 affine coupling layers (Dinh et al., 2017)의 스택으로 이루어져 있으며, 자코비안 행렬식 (Jacobian determinant)을 1로 하는 체적 보존 변환(volume-preserving transformation)으로 설계되었다. 다중 화자 케이스를 위해 전역 조건을 사용하여 화자 임베딩을 추가하였다.
③ 디코더 (Decoder)
디코더는 HiFi-GAN v1 generator (Kong et al., 2020)를 사용하며, trans-posed convolution의 스택으로 구성되어 있다. 이 때 Multi-receptive field fusion (MRF) 모듈을 사용하며, MRF의 output은 서로 다른 receptive field 크기를 가진 잔여블록 (residual block)의 합으로 구성된다. 다중 화자 케이스를 위해 화자 임베딩을 변환하는 선형 레이어를 입력 잠재 변수에 추가하였다.
④ 판별자 (Discriminator)
HiFi-GAN (Kong et al., 2020)의 다중 기간 판별자(multi-period discriminator)를 활용하며, 마르코비안 윈도우 (Markovian window) 기반 하위 판별기 (sub-discriminator) (Kumar et al., 2019)를 혼합하여 구성하였다. 각 판별기는 서로 다른 주기 패턴에서 입력 파형을 평가하였다.
⑤ 확률적 지속 시간 예측자 (Stochastic Duration Predictor)
확률적 지속 시간 예측자는 조건부 입력인 텍스트에서 음소 지속 시간(phoneme duration)의 분포를 추정하는 역할을 담당한다. 이 때 효율적인 구성을 위해 잔여 블록 (residual block)과 깊이 분리형 컨볼루션 레이어(dilated depth-separable convolution layer)를 함께 쌓아 확률적 지속 시간 예측자를 구성한다.
또한 Neural spline flow (신경 스플라인 흐름)(Durkan et al., 2019)의 흐름을 적용하고자 Monotonic rational-quadratic spline을 활용하여 invertible nonlinear transformation을 적용하는 과정을 진행했다.
다중 화자 케이스를 위해 화자 임베딩을 변환하는 선형 레이어를 입력 텍스트에 추가하였다.