Skip to document
pieroot log
Markdown Preview

음성 합성을 혁신하는 타코트론: 엔드 투 엔드 접근 방식

Frontmatter

Tacotron은 기존 TTS 시스템의 복잡한 파이프라인을 단순화하여 텍스트 입력만으로 음성을 생성하는 end-to-end 음성 합성 모델이다. Tacotron 1은 attention 기반 seq2seq 모델을 사용하고 Griffin-Lim 알고리즘으로 음성을 생성하며, Tacotron 2는 LSTM과 Location-Sensitive Attention을 도입하여 음질을 향상시켰다. Tacotron 2는 MOS 점수 4.526을 기록하며, 자연스러운 음성을 생성하는 데 성공했지만 느린 추론 속도와 attention 불안정성 등의 한계가 있다.

음성 합성을 혁신하는 타코트론: 엔드 투 엔드 접근 방식

Tacotron: End-to-End Speech Synthesis


기존의 TTS(Text-to-Speech) 시스템은 문장 → 음소 → 발음 → 음성 매칭이라는 복잡한 파이프라인을 거쳐야 했습니다. 각 단계마다 별도의 모델과 전문 지식이 필요했기 때문에, 시스템을 구축하고 유지하는 것이 상당히 번거로웠죠.
plain text
기존 TTS 파이프라인:
문장 → 텍스트 정규화 → 음소 변환(G2P) → 운율 예측 → 음향 모델 → 보코더 → 음성
하지만 Tacotron은 이 모든 과정을 하나의 신경망으로 통합한 end-to-end 모델입니다. 텍스트를 넣으면 바로 음성이 나오는, 말 그대로 "끝에서 끝까지" 처리하는 구조입니다.
💡
한 줄 요약
Attention 기반 Sequence-to-Sequence 모델로, 문자(character) 입력만으로 멜 스펙트로그램을 직접 생성하여 기존 TTS 파이프라인의 복잡성을 획기적으로 줄인 end-to-end 음성 합성 모델입니다.
📝
논문 정보
  • Tacotron: Tacotron: Towards End-to-End Speech Synthesis (Yuxuan Wang et al., Google, 2017)
  • Tacotron 2: Natural TTS Synthesis by Conditioning WaveNet on Mel Spectrogram Predictions (Jonathan Shen et al., Google, 2018)
  • arXiv: 1703.10135 (Tacotron), 1712.05884 (Tacotron 2)

배경: 기존 TTS의 문제점


기존 TTS 시스템은 여러 모듈이 파이프라인으로 연결된 구조였습니다. 각 모듈은 독립적으로 학습되기 때문에 에러가 누적되고, 전체 시스템을 최적화하기가 매우 어려웠습니다.
방식
원리
장점
단점
Concatenative TTS
녹음된 음성 조각을 이어 붙여 합성
자연스러운 음색
대규모 음성 DB 필요, 새 화자 추가 어려움
Parametric TTS
HMM/DNN으로 음향 파라미터를 예측 후 보코더로 합성
유연한 제어
기계적인 음질, 복잡한 파이프라인
End-to-End (Tacotron)
텍스트에서 음성을 직접 생성
단순한 구조, 전체 최적화 가능
학습 데이터 많이 필요, 추론 속도 느림
Tacotron은 이런 복잡한 전처리(음소 변환, 운율 예측 등) 없이 문자 시퀀스를 바로 멜 스펙트로그램으로 변환하는 접근 방식을 제안했습니다.

Tacotron 1 아키텍처


notion image
Tacotron의 backbone은 attention 기반 seq2seq 모델입니다. 텍스트를 입력하면 멜 스펙트로그램을 출력하고, 이를 Griffin-Lim 알고리즘으로 오디오 파형으로 변환합니다.

Encoder: 문자를 벡터로 변환


Encoder는 입력 문자 시퀀스를 고차원 벡터 표현으로 변환하는 역할을 합니다.
  1. Character Embedding: 입력 문자를 one-hot encoding으로 변환한 뒤, 학습 가능한 임베딩 벡터로 매핑합니다. 한글의 경우 초성, 중성, 종성을 각각 분리하여 인코딩합니다.
  1. Pre-net: 임베딩된 벡터를 2개의 Fully Connected Layer(256차원, ReLU + Dropout)를 통해 변환합니다. Dropout이 병목(bottleneck) 역할을 하여 attention 학습을 도와줍니다.
  1. CBHG 블록: Tacotron 1의 핵심 모듈로, 1D Convolution Bank + Highway Network + Bidirectional GRU로 구성됩니다. 다양한 크기의 n-gram 패턴을 포착하여 텍스트의 장기적 문맥 정보를 인코딩합니다.
📝
CBHG 블록이란?
  • Convolution Bank: K개의 서로 다른 크기(1~K)의 1D 합성곱 필터 세트. 다양한 길이의 n-gram을 동시에 포착
  • Highway Network: 게이팅 메커니즘으로 정보 흐름을 제어하는 Fully Connected 레이어
  • Bidirectional GRU: 양방향 순환 신경망으로 시퀀스의 전후 문맥을 모두 반영
이 세 가지를 결합하여 로컬 패턴(합성곱)과 글로벌 문맥(GRU)을 모두 학습할 수 있습니다.

Attention: 텍스트와 음성의 정렬


Attention 메커니즘은 디코더가 매 타임스텝마다 인코더 출력의 어떤 부분에 집중할지 결정합니다. 사람이 문장을 읽으며 하나씩 발음하는 것처럼, attention이 텍스트의 각 문자와 출력 오디오 프레임 간의 정렬(alignment)을 학습합니다.
Tacotron 1에서는 Bahdanau attention(additive attention)을 사용합니다:
αij=exp⁡(eij)∑kexp⁡(eik),eij=score(si−1,hj)\alpha_{ij} = \frac{\exp(e_{ij})}{\sum_{k} \exp(e_{ik})}, \quad e_{ij} = \text{score}(s_{i-1}, h_j)
  • si−1s_{i-1}: 디코더의 이전 hidden state
  • hjh_j: 인코더의 j번째 출력
  • αij\alpha_{ij}: attention weight (텍스트의 j번째 문자에 대한 가중치)

Decoder: 멜 스펙트로그램 생성


Decoder는 attention context와 이전 프레임 정보를 기반으로 멜 스펙트로그램 프레임을 autoregressive하게 생성합니다.
  1. Pre-net: 이전 타임스텝의 출력 프레임을 Pre-net(2층 FC + Dropout)에 통과
  1. Attention RNN: GRU 셀을 사용하여 attention context vector를 생성
  1. Decoder RNN: attention context와 Pre-net 출력을 결합하여 멜 스펙트로그램 프레임을 예측
  1. Reduction Factor (r): 한 번에 r개의 프레임을 동시에 생성하여 디코딩 속도를 높임 (논문에서는 r=5 사용)
💡
Reduction Factor의 효과
r=5로 설정하면 디코더의 반복 횟수가 1/5로 줄어들어 학습과 추론 속도가 크게 향상됩니다. 동시에 attention 학습도 쉬워지는데, 정렬해야 할 타임스텝 수가 줄어들기 때문입니다.

Vocoder: Griffin-Lim


Tacotron 1의 출력층은 Griffin-Lim 알고리즘을 사용합니다. 멜 스펙트로그램에서 오디오 파형으로 변환해주는 vocoder로, 별도의 학습 없이 사용할 수 있는 고전적인 알고리즘입니다.
plain text
Griffin-Lim 알고리즘
- 멜 스펙트로그램 → 리니어 스펙트로그램 (Post-net CBHG로 변환)
- 리니어 스펙트로그램 → 오디오 파형 (반복적 위상 추정)
- 학습이 필요 없는 신호 처리 기반 방식
- 단점: 위상 정보 손실로 인한 음질 저하 ("금속성" 느낌)

Tacotron 2 아키텍처


notion image
Tacotron 2는 Tacotron 1의 구조를 단순화하면서도 음질을 크게 향상시킨 모델입니다. 핵심적인 변경 사항은 CBHG 블록을 LSTM + Convolution으로 교체하고, Griffin-Lim 대신 WaveNet vocoder를 도입한 것입니다.

주요 구성 요소

Tacotron 2는 크게 두 부분으로 나뉩니다:
  1. Feature Prediction Network: 입력 문자 시퀀스로부터 멜 스펙트로그램 프레임을 예측하는 attention 기반 seq2seq 네트워크
  1. Modified WaveNet: 예측된 멜 스펙트로그램을 시간 도메인 파형(time-domain waveform)으로 합성하는 vocoder
이 두 구성 요소를 멜 스펙트로그램으로 연결합니다. 멜 스펙트로그램은 시간 도메인 파형으로부터 쉽게 계산할 수 있고, 더 낮은 차원으로 주파수 내용을 요약하며, WaveNet이 고품질의 오디오를 생성할 수 있도록 합니다.

Encoder (Tacotron 2)


Tacotron 2의 인코더는 Tacotron 1의 CBHG 블록 대신 3층 1D Convolution + Bidirectional LSTM 구조를 사용합니다.
  1. Character Embedding: 512차원 임베딩 벡터로 변환
  1. 3개의 Convolution Layer: 각 레이어는 512개의 5×1 필터를 사용하며, Batch Normalization + ReLU 활성화 함수를 적용합니다. N-gram 패턴을 포착하는 역할을 합니다.
  1. Bidirectional LSTM: 512 유닛(각 방향 256)의 양방향 LSTM으로 시퀀스의 전후 문맥을 모두 반영한 인코딩 특징을 생성합니다.

Attention (Tacotron 2)


Tacotron 2에서는 기존의 additive attention 대신 Location-Sensitive Attention을 사용합니다. 이전 타임스텝의 누적된 attention weight를 추가 입력으로 사용하여, 모델이 텍스트를 순방향으로 일관되게 읽어나가도록 유도합니다.
이 방식은 attention이 앞뒤로 왔다갔다 하거나, 특정 부분을 건너뛰는 문제를 줄여줍니다.

Decoder (Tacotron 2)


  1. Pre-net: 2층 Fully Connected(256차원) + Dropout. 이전 멜 스펙트로그램 프레임을 bottleneck으로 처리
  1. 2층 LSTM: 1024 유닛의 uni-directional LSTM 2개를 적층. Tacotron 1의 GRU 대신 LSTM을 사용하여 장기 의존성 학습 능력 향상
  1. Post-net: 5층 1D Convolution으로 구성된 후처리 네트워크. 멜 스펙트로그램의 전체적인 품질을 향상시키는 잔차(residual)를 예측
  1. Stop Token Prediction: 시그모이드 출력으로 시퀀스 종료 시점을 예측하여 자동으로 생성을 멈춤

Vocoder: WaveNet


Tacotron 2에서 가장 큰 변화는 vocoder를 WaveNet으로 교체한 것입니다. Griffin-Lim의 "금속성" 음질 문제를 완전히 해소하고, 사람에 가까운 자연스러운 음성을 생성할 수 있게 되었습니다.
💡
WaveNet이 뭔지 궁금하다면?
WaveNet은 DeepMind이 개발한 자기회귀 모델로, 원시 오디오 파형을 샘플 단위로 직접 생성합니다. Dilated Causal Convolution 구조로 넓은 수용 영역을 확보하면서도 효율적으로 동작합니다. Tacotron 2에서는 멜 스펙트로그램을 조건으로 받아 오디오를 생성하는 Modified WaveNet을 사용합니다.
Modified WaveNet의 주요 변경 사항:
  • 30개의 Dilated Convolution 레이어 사용 (10개 레이어 × 3 사이클)
  • 멜 스펙트로그램을 Local Conditioning으로 주입
  • 8-bit µ-law 대신 Mixture of Logistics(MoL) 분포를 사용하여 더 높은 음질 달성

Tacotron 1 vs Tacotron 2 비교


구분
Tacotron 1
Tacotron 2
Encoder 구조
CBHG 블록 (Conv Bank + Highway + GRU)
3층 1D Conv + Bidirectional LSTM
Decoder 구조
GRU 기반 RNN + CBHG Post-net
2층 LSTM + 5층 Conv Post-net
Attention
Bahdanau (Additive) Attention
Location-Sensitive Attention
Vocoder
Griffin-Lim (신호 처리 기반)
Modified WaveNet (신경망 기반)
출력
리니어 스펙트로그램 → 오디오
멜 스펙트로그램 → WaveNet → 오디오
학습 방식
Tacotron 모델만 학습
Feature Prediction + WaveNet 두 모델 학습
MOS 점수
3.82
4.526 (사람 음성: 4.582)
핵심 기여
End-to-end TTS의 가능성을 입증
사람 수준에 근접한 음성 품질 달성
📝
학습 방법의 핵심 차이
  • Tacotron 1: Griffin-Lim 알고리즘을 출력층으로 사용하여 Tacotron 모델 자체를 학습하는 것이 중점. 내부 인코딩/디코딩에 CBHG 블록(CNN 기반)을 사용
  • Tacotron 2: 출력층을 WaveNet으로 교체하여 두 모델(Feature Prediction + WaveNet)을 모두 학습. 내부 인코딩/디코딩에 LSTM을 적용하여 구조를 단순화

성능 평가


Tacotron 2는 MOS(Mean Opinion Score) 테스트에서 4.526점을 달성하여, 전문적으로 녹음된 사람 음성(4.582점)과 거의 동일한 수준의 자연스러움을 보여주었습니다.
모델
MOS 점수
비고
Parametric TTS
3.49
기존 통계적 방식
Concatenative TTS
4.09
음성 조각 이어 붙이기
Tacotron 1 + Griffin-Lim
3.82
End-to-end, 신호 처리 vocoder
Tacotron 2 + WaveNet
4.526
End-to-end, 신경망 vocoder
사람 음성 (Ground Truth)
4.582
전문 녹음 음성

Ablation 연구

모델의 다양한 구성 요소를 변경하여 실험한 결과, 다음과 같은 인사이트를 얻었습니다:
  • 멜 스펙트로그램을 중간 표현으로 사용하는 것이 리니어 스펙트로그램보다 효과적
  • Post-net 추가 시 멜 스펙트로그램 품질이 유의미하게 향상
  • WaveNet의 레이어 수를 줄여도(30 → 12) 고품질 오디오 생성 가능
  • Location-Sensitive Attention이 기존 attention 대비 안정적인 정렬 학습을 보임

한계점


Tacotron이 TTS 분야에 큰 혁신을 가져왔지만, 몇 가지 명확한 한계점이 존재합니다:
  1. 느린 추론 속도 🐌: Autoregressive 방식이라 한 프레임씩 순차적으로 생성해야 함. 실시간 서비스에 직접 적용하기 어려움
  1. Attention 불안정성 ⚠️: 긴 문장이나 반복적인 구절에서 attention이 정렬을 잃어 단어를 건너뛰거나 반복하는 문제 발생
  1. 대규모 학습 데이터 필요 💰: 자연스러운 음성을 위해 수십 시간 이상의 고품질 단일 화자 데이터 필요
  1. WaveNet vocoder의 느린 속도: Tacotron 2의 WaveNet도 autoregressive라 생성이 느림
💡
이후 발전
이 한계를 극복하기 위해 다양한 후속 연구가 등장했습니다:
  • FastSpeech (2019): Non-autoregressive 구조로 수백 배 빠른 추론 속도 달성
  • FastSpeech 2 (2020): Duration Predictor 개선으로 품질과 속도 모두 향상
  • VITS (2021): End-to-end로 vocoder까지 통합, Flow 기반 생성
  • WaveGlow (2018): Flow 기반 vocoder로 WaveNet 대비 실시간 생성 가능
현재 프로덕션 TTS 시스템에서는 Tacotron 계열보다 FastSpeech 2 + HiFi-GAN 또는 VITS 조합이 더 많이 사용되고 있습니다.

핵심 정리

✅ End-to-End TTS: 텍스트에서 음성을 직접 생성, 복잡한 전처리 파이프라인 제거
✅ Tacotron 1: CBHG 블록 + GRU + Griffin-Lim vocoder로 end-to-end TTS의 가능성을 입증
✅ Tacotron 2: LSTM + Location-Sensitive Attention + WaveNet vocoder로 사람 수준의 음질 달성
✅ Encoder: 문자 임베딩 → Conv 레이어 → Bidirectional RNN으로 텍스트의 문맥 정보 인코딩
✅ Attention: 텍스트와 오디오 프레임 간의 정렬을 학습하여 순차적 생성을 가이드
✅ Decoder: Autoregressive하게 멜 스펙트로그램을 프레임 단위로 생성
✅ MOS 4.526: Tacotron 2는 사람 음성(4.582)과 거의 동일한 자연스러움을 달성
✅ 한계: 느린 추론 속도와 attention 불안정성 → FastSpeech, VITS 등 후속 연구로 극복 중

참고 링크