qcoding

[AI논문리뷰] Glow-TTS - 외부 정렬기 없이 자체 정렬을 학습하는 병렬 음성 합성 모델 본문

AI논문리뷰-음성인식TTS

[AI논문리뷰] Glow-TTS - 외부 정렬기 없이 자체 정렬을 학습하는 병렬 음성 합성 모델

Qcoding 2026. 5. 1. 10:11
반응형
논문  Glow-TTS: A Generative Flow for Text-to-Speech via Monotonic Alignment Search 저자  Jaehyeon Kim et al. (Kakao Enterprise & SNU) 학회/연도  NeurIPS 2020 arXiv  2005.11129 데모  Glow-TTS Demo Page

📄 한 문단 요약

Glow-TTS는 비자동회귀(Non-Autoregressive) 병렬 음성 합성 모델이 겪는 "텍스트-음성 간의 정렬(Alignment) 데이터가 필요하다"는 한계를 해결한 모델이다. 기존 FastSpeech와 같은 모델은 Tacotron 2 같은 외부 교사(Teacher) 모델이 추출한 정렬 정보(Attention map)에 의존해야만 학습이 가능했다. Glow-TTS는 Normalizing Flow의 역계산 가능성(Invertibility)과 동적 계획법(Dynamic Programming)을 결합한 MAS(Monotonic Alignment Search) 알고리즘을 도입해, 모델 스스로 가장 확률이 높은 단조 정렬을 찾아내며 학습한다. 결과적으로 외부 정렬기 없이도 Tacotron 2 대비 15.7배 빠른 합성 속도를 달성하며, 긴 문장에서도 오류 없는 강건한 성능을 보여준다.

이 논문은 무엇을 해결하려고 했나?

음성 합성(TTS) 분야에서 Tacotron 2와 같은 자동회귀(Autoregressive) 모델은 자연스러운 음성을 만들지만, 생성 속도가 음성 길이에 비례해 느려지고, 긴 문장에서는 단어를 건너뛰거나 반복하는 어텐션 오류(Attention Error)가 발생하는 고질적인 문제가 있었다.

이를 해결하기 위해 FastSpeech(2019)와 같은 병렬 생성(Non-Autoregressive) 모델이 등장해 합성 속도를 비약적으로 높이고 어텐션 오류를 줄였다. 하지만 이 모델들은 텍스트의 각 음소(phoneme)가 음성 데이터(mel-spectrogram)의 어느 프레임에 해당하는지를 알려주는 정렬(Alignment) 정보를 스스로 학습하지 못했다. 따라서 반드시 사전에 학습된 Tacotron 2를 '외부 정렬기(External Aligner)'로 사용해 어텐션 맵을 추출한 뒤, 이를 정답으로 삼아 학습해야 하는 복잡한 파이프라인의 한계가 존재했다.

Glow-TTS는 이러한 외부 모델에 대한 의존성을 제거하고, **"정렬 정보가 주어지지 않은 텍스트-음성 쌍만으로도, 스스로 정렬을 찾으며 병렬 모델을 학습시킬 수 없을까?"**라는 질문에 완벽한 해답(MAS 알고리즘)을 제시했다.

배경지식과 핵심 키워드

Normalizing Flow (Glow)
복잡한 데이터의 분포(예: 음성)를 단순한 분포(예: 가우시안 정규 분포)로 매핑하는 생성 모델의 한 종류다. Flow 모델의 가장 큰 특징은 연산이 '양방향(Invertible)'으로 완벽하게 역계산 가능하다는 점이다. 데이터 $x$를 $z$로 보내는 함수 $f$가 있으면, $z$에서 $x$를 완벽히 복원하는 $f^{-1}$도 존재한다. Glow-TTS는 이 특성을 이용해, 복잡한 Mel-spectrogram을 다루기 쉬운 잠재 공간(Latent Space) $Z$로 역변환한 뒤 텍스트와 정렬을 맞춘다.
동적 계획법 (Dynamic Programming)과 비터비 학습
숨겨진 상태(정렬)를 찾기 위해 Viterbi Training 방식을 차용했다. 현재 모델 파라미터를 고정한 상태에서 가장 확률이 높은 정렬 경로 $A^*$를 찾고, 그 정렬 경로를 고정한 채로 모델의 파라미터 $\theta$를 업데이트하는 과정을 반복한다. 여기서 $A^*$를 찾을 때, 모든 경우의 수를 계산하면 연산량이 폭발하므로, 동적 계획법(Dynamic Programming)을 사용해 부분 문제의 최적해를 캐싱하여 빠르게 전체 최적 경로를 찾는다.

핵심 인사이트

Flow 모델은 데이터를 잠재 공간(Latent space)으로 완벽하게 매핑할 수 있다. 반면 Text Encoder는 텍스트로부터 정규 분포의 평균($\mu$)과 분산($\sigma$)을 예측한다. 이 두 공간(음성에서 온 잠재 변수와 텍스트에서 온 정규 분포) 사이의 "가장 그럴싸한(Log-likelihood가 최대가 되는) 단조 증가 선 긋기"를 하는 것이 바로 Glow-TTS 학습의 핵심 원리다.

제안 방법의 핵심 알고리즘: MAS (Monotonic Alignment Search)

Glow-TTS의 가장 빛나는 기여는 MAS (Monotonic Alignment Search) 알고리즘이다. 사람은 글을 읽을 때 순서대로 읽고 단어를 건너뛰지 않는다. 즉, 텍스트와 음성의 시간적 매핑은 항상 단조 증가(Monotonic) 하며, 빈틈없이(Non-skipping) 이어진다는 강력한 규칙이 존재한다.

Glow-TTS MAS Algorithm Example
텍스트(가로축)와 잠재 변수(세로축) 간의 단조 정렬 탐색 경로

MAS 알고리즘은 다음과 같이 작동한다:

  1. Flow 변환: 실제 음성 스펙트로그램 $x$를 Flow Decoder에 거꾸로 통과시켜 잠재 변수 시퀀스 $z$를 얻는다.
  2. Text 변환: 텍스트 인코더가 각 음소에 대해 가우시안 분포의 평균($\mu$)과 분산($\sigma$) 시퀀스를 만든다.
  3. 재귀적 탐색: $j$번째 잠재 변수 $z_j$가 $i$번째 텍스트 토큰에 정렬될 확률(Log-likelihood)을 동적 계획법 캐시 행렬 $Q_{i,j}$에 채워 나간다. (이전 프레임은 같은 토큰에 머물거나 직전 토큰에서 넘어왔을 두 가지 경우만 존재함)
  4. 역추적(Backtracking): $Q$ 행렬이 완성되면 끝에서부터 거꾸로 최대 확률 경로를 따라가 최적의 정렬 $A^*$를 찾아낸다.

모델 구조 및 학습/추론 과정

1. 학습 과정 (Training)

Glow-TTS Training Procedure

학습 시에는 입력 음성(Mel)을 Flow 기반 디코더에 통과시켜 잠재 표현 $z$로 역변환한다. 동시에 텍스트 인코더는 텍스트로부터 평균($\mu$)과 분산($\sigma$)을 생성한다. MAS 알고리즘이 둘 사이의 최적 정렬을 찾으면, 이 정렬에 맞추어 Duration Predictor(길이 예측기)가 정답 길이를 학습하고, 전체 모델 파라미터는 Maximum Likelihood를 높이는 방향으로 업데이트된다.

2. 추론 과정 (Inference)

Glow-TTS Inference Procedure

추론 시에는 음성이 없으므로 MAS 알고리즘이 쓰이지 않는다. 대신 학습된 Duration Predictor가 텍스트 각 음소가 몇 프레임이나 지속될지 예측하여 $\mu$와 $\sigma$를 해당 프레임만큼 늘린다(Expand). 그 후 이 분포에서 랜덤한 잠재 변수 $z$를 샘플링하고, Flow 디코더를 순방향으로 통과시켜 순식간에(병렬로) 전체 Mel-spectrogram을 합성한다.

실험 설정과 결과 해석

  • 속도: Tacotron 2 대비 합성 속도가 15.7배 더 빠르다. 이는 모든 프레임을 한 번에 예측하는 병렬(Non-autoregressive) 디코딩의 힘이다.
  • 음질(MOS): LJSpeech 데이터셋 기준으로 4.05 MOS를 기록하여 Tacotron 2(4.11)에 근접한 고품질을 보였다. (실제 사람은 4.19)
  • 강건성(Robustness): "A A A A..." 처럼 반복되는 문장이나 매우 긴 텍스트가 주어졌을 때, Tacotron 2는 어텐션이 붕괴되어 제대로 발음하지 못하지만, Glow-TTS는 Hard Monotonic 정렬을 강제하기 때문에 건너뛰거나 반복하는 오류 없이 안정적으로 합성해냈다.
  • 다형성(Controllability): 잠재 변수 $z$의 분포의 표준편차를 조절(Temperature scaling)해 말하는 톤이나 속도를 조절할 수 있으며, 다화자(Multi-speaker) 확장 모델에서는 잠재 공간의 연산으로 목소리 특성도 결합할 수 있음을 보여주었다.

한계와 비판적 관점

  • Duration Predictor 의존성: 결국 추론 단계에서는 음소의 길이를 예측하는 Duration Predictor의 정확도에 전체 음성의 자연스러움이 크게 좌우된다. 사람처럼 다이나믹하고 감정적인 템포 조절에는 한계가 있을 수 있다.
  • Flow 모델의 파라미터 제약: Normalizing Flow는 입력과 출력 차원이 같아야 하고 역연산이 가능하도록 네트워크를 제약(Affine coupling layer 등)해야 하므로 파라미터 효율성이 약간 떨어지며, 메모리 소모가 비교적 클 수 있다.

한 줄 결론과 의의

Glow-TTS는 Normalizing Flow와 MAS(Monotonic Alignment Search)를 독창적으로 결합하여, **"외부 Teacher 모델 없이도 자체적으로 텍스트-음성 정렬을 완벽히 찾아내며 병렬 합성이 가능함"**을 증명한 기념비적인 모델이다. 이후 등장한 VITS 논문의 핵심 정렬 메커니즘으로 MAS가 그대로 차용될 만큼, 최신 TTS 아키텍처에 막대한 영향을 미쳤다.


출처:

반응형
Comments