| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- Reinforcement Learning
- coding
- DeepMind
- 전국국밥
- JavaScript
- TTS
- clone coding
- 음성합성
- 강화학습 기초
- 사이드프로젝트
- expo
- Ai
- 클론코딩
- 카트폴
- FirebaseV9
- 딥러닝
- TeachagleMachine
- 머신러닝
- 앱개발
- Instagrame clone
- 강화학습
- 데이터분석
- React
- 논문리뷰
- pandas
- App
- ReactNative
- python
- Ros
- selenium
- Today
- Total
qcoding
[AI] VALL-E - Neural Codec Language Models 본문
📄 한 문단 요약
FastSpeech 2는 Non-Autoregressive TTS의 선구자인 FastSpeech가 안고 있던 두 가지 핵심 결함—teacher-student 지식 증류의 복잡한 학습 파이프라인과 teacher 모델이 만든 단순화된 타겟—을 제거한 논문이다. 대신 Montreal Forced Aligner로 추출한 정확한 duration, CWT로 표현한 pitch, L2-norm 기반 energy 등 실제 음성에서 직접 뽑은 variance 정보를 조건으로 주면서, Tacotron 2·FastSpeech를 MOS 점수에서 모두 넘어섰다(LJSpeech MOS 3.83). 또한 학습 시간을 FastSpeech 대비 3배 단축하면서 추론 속도는 autoregressive 모델의 47.8배를 달성했다.
이 논문은 무엇을 해결하려고 했나?
TTS(Text-to-Speech)에서 "빠른 추론"과 "자연스러운 음성"은 오랫동안 서로 다른 방향을 가리키는 목표였다. Tacotron 2처럼 autoregressive 모델은 이전 프레임을 보면서 다음 프레임을 만드는 순차적 생성 방식이라 품질은 좋지만 느리다. 이를 해결하려고 2019년 등장한 FastSpeech는 attention map을 teacher 모델에서 빌려와 병렬 생성을 가능하게 했지만, 그 과정에서 두 가지 문제를 떠안았다.
첫째, teacher-student 증류 파이프라인이 지나치게 복잡하다. Autoregressive teacher를 먼저 학습시키고, 그 teacher에서 attention alignment를 추출하여 duration 정보로 쓰고, 그 teacher의 출력 mel spectrogram을 student의 타겟으로 쓰는 다단계 프로세스다. Teacher의 학습 실패나 alignment 품질이 직접 student에 전파된다.
둘째, teacher가 만들어준 타겟 자체가 이미 단순화된 출력이다. 실제 녹음 음성에는 자연스러운 pitch 변화, 강세, 에너지 기복이 있는데, teacher가 만든 mel spectrogram은 이런 variance를 이미 평균화해버린다. 이를 "one-to-many mapping problem"이라 부른다. 하나의 텍스트 입력에 대해 무수히 많은 자연스러운 음성이 가능한데, 단순화된 타겟은 그 다양성을 죽인다.
FastSpeech 2의 답은 단순하다. Teacher를 버리고, 실제 음성 파형에서 직접 duration·pitch·energy를 뽑아서 모델의 조건 입력으로 주자. 이렇게 하면 학습 타겟이 ground truth mel spectrogram이 되고, variance 정보를 명시적으로 제공함으로써 one-to-many 문제도 완화된다.
배경지식과 핵심 키워드
이 논문을 제대로 이해하려면 TTS 파이프라인 전반에 걸친 개념이 필요하다. 단순 용어 정의가 아니라, 각 개념이 왜 이 논문에서 중요한지까지 설명한다.
|
Non-Autoregressive (NAR) TTS
Autoregressive(AR) 모델은 t-1 프레임의 출력을 t 프레임의 입력으로 순차 생성한다. 이 의존성 때문에 GPU 병렬화가 불가능해 추론이 느리다. NAR 모델은 모든 출력 프레임을 동시에 병렬 생성한다. 단, 이를 위해서는 "몇 번째 음소가 몇 프레임에 해당하는가"라는 length 정보(duration)를 별도로 알고 있어야 한다. FastSpeech 계열의 핵심 설계 결정이 바로 이 duration을 어떻게 얻을 것인가에 있다.
|
Teacher-Student Knowledge Distillation
크고 성능 좋은 teacher 모델의 지식을 작은 student 모델로 전달하는 학습 방법이다. FastSpeech(1)에서는 autoregressive Transformer TTS를 teacher로, FastSpeech를 student로 써서 두 가지를 빌렸다: (1) teacher의 attention alignment에서 phoneme duration을 추출, (2) teacher가 생성한 mel spectrogram을 student의 학습 타겟으로 사용. 문제는 teacher 품질에 student가 종속되고, 학습 파이프라인이 두 배로 복잡해진다는 점이다. FastSpeech 2는 이 의존성을 완전히 제거한다.
|
|
Montreal Forced Aligner (MFA)
음성 녹음과 텍스트(음소) 시퀀스가 주어졌을 때, 각 음소가 오디오의 어느 시간 구간에 해당하는지를 찾아주는 강제 정렬(forced alignment) 도구다. HMM-GMM 기반의 음향 모델을 사용한다. FastSpeech 2는 MFA로 각 phoneme의 프레임 수(duration)를 추출하고, 이것을 Duration Predictor의 학습 타겟으로 쓴다. 논문에서 MFA의 boundary 오차는 평균 12.47ms로, teacher 모델의 19.68ms보다 훨씬 정확했다. 이 차이가 CMOS +0.195 향상으로 이어졌다.
|
Pitch (F₀, 기본 주파수)
사람이 말할 때 성대가 진동하는 주파수. 단위는 Hz. 남성 평균 85–180 Hz, 여성 165–255 Hz 범위다. 음절의 높낮이(성조)와 문장의 억양(intonation)을 결정하는 핵심 정보다. 유성음 구간에서만 존재하며, 무성음(자음 일부, 숨, 정지)에서는 F₀가 없어진다(unvoiced frame). FastSpeech 2는 PyWorldVocoder로 frame별 F₀를 추출하고, 무성음 구간을 선형 보간(linear interpolation)하여 연속 신호로 만든 뒤 log 스케일 변환 후 정규화한다. 그리고 이 연속 pitch contour를 CWT로 분해해서 예측한다.
|
|
Continuous Wavelet Transform (CWT)
신호를 시간-주파수 평면에서 분석하는 도구다. Fourier Transform이 신호 전체의 주파수 스펙트럼을 보는 것이라면, CWT는 시간에 따라 주파수 성분이 어떻게 변하는지를 본다. pitch contour처럼 시간에 따라 빠르게 변하는 신호를 분석하는 데 적합하다. FastSpeech 2에서는 pitch contour를 CWT로 변환해 10개의 scale에서 "pitch 스펙트로그램"을 만든다(τ₀=5ms). 이렇게 하면 시간 축의 지역적인 pitch 변화(예: 문장 끝 억양 상승)가 특정 scale에 집중되어 표현되므로, 직접 F₀ 값을 예측하는 것보다 정확도가 높다. Ablation에서 CWT 없이 pitch를 직접 예측하면 CMOS -0.185 하락이 확인됐다.
|
Energy (에너지)
음성 프레임의 음량(loudness)에 해당하는 값이다. FastSpeech 2에서는 STFT(Short-Time Fourier Transform) 프레임의 진폭 벡터에 L2-norm을 취해 구한다. 강세 음절, 자음 폭발음에서 높고, 약한 음절에서 낮다. 에너지는 pitch에 비해 시간 변동이 상대적으로 완만하기 때문에 FastSpeech 2는 CWT를 적용하지 않고, 256개 균일 구간으로 양자화한 뒤 임베딩으로 변환해 사용한다. Ablation에서 energy 제거 시 CMOS -0.040으로, pitch(-0.245)보다 영향이 작지만 FastSpeech 2s(직접 파형 생성)에서는 energy 제거가 CMOS -0.160으로 훨씬 크게 나타났다.
|
|
Feed-Forward Transformer (FFT)
FastSpeech 계열에서 쓰는 Transformer 변형이다. 표준 Transformer의 self-attention은 autoregressive 생성에 적합하지만, TTS의 encoder/decoder는 전체 시퀀스를 한 번에 처리할 수 있다. FFT Block = Multi-Head Self-Attention + 2-layer 1D-Convolution. 1D-Conv는 표준 Transformer의 FFN(Feed-Forward Network)을 대체하며, TTS에서 시간 축 지역 특성을 잘 잡는다. FastSpeech 2에서는 encoder와 mel decoder 각 4개씩 사용. hidden size 256, attention head 2개, conv kernel size 9와 1, conv 채널 256→1024→256 구성이다.
|
Mel Spectrogram
음성을 시간×주파수 2D 표현으로 변환한 것이다. 사람 청각 특성을 모방한 mel filterbank를 적용해 저주파 해상도를 높인다. TTS 파이프라인에서 mel spectrogram은 "텍스트 처리 네트워크"와 "파형 생성 네트워크" 사이의 중간 표현으로 자주 쓰인다. phase 정보 없이 magnitude만 표현하므로 MSE/MAE 손실로 직접 학습 가능하다. FastSpeech 2에서는 22050Hz 샘플링, frame size 1024, hop size 256, 80채널 mel filterbank를 사용한다. FastSpeech 2s는 이 중간 표현조차 없애고 텍스트에서 바로 waveform을 생성한다.
|
|
One-to-Many Mapping Problem
동일한 텍스트 "안녕하세요"를 말해도 빠르게, 느리게, 높은 음으로, 낮은 음으로, 강하게, 약하게 등 무수히 많은 자연스러운 발화가 가능하다. 이 문제는 TTS 학습에서 모델이 다양한 ground truth를 보면서 어떤 prosody를 내야 할지 알 수 없어 평균적인 음성을 출력하는 경향이 생긴다. FastSpeech 2는 pitch, energy, duration을 명시적으로 입력 조건으로 주어 이 문제를 완화한다. 추론 시에는 이 variance를 predictor로 예측하거나, 수동으로 조절해 controllable synthesis가 가능해진다.
|
Parallel WaveGAN (PWG)
mel spectrogram을 입력받아 audio waveform을 실시간(real-time) 이상으로 생성하는 GAN 기반 vocoder다. 기존 WaveNet이 autoregressive라 느렸던 것을 WaveNet 구조 + adversarial training으로 병렬화했다. FastSpeech 2 논문에서는 mel decoder가 출력한 mel spectrogram을 Parallel WaveGAN에 넣어 최종 음성을 만든다. FastSpeech 2s는 이 PWG 구조를 모델 내부에 흡수해 end-to-end로 waveform을 생성하도록 설계됐다.
|
|
MOS (Mean Opinion Score)
사람이 1(나쁨)~5(매우 자연스러움) 척도로 음성 샘플을 평가한 주관 점수의 평균이다. TTS 품질 비교의 표준 지표다. 그러나 절대값만으로는 비교가 어렵기 때문에 동일 실험 내에서 같은 평가자 집단이 여러 시스템을 비교 평가하는 것이 중요하다. FastSpeech 2 논문에서는 20명의 원어민 영어 화자가 100개의 테스트 샘플을 평가했다. CMOS(Comparative MOS)는 특정 시스템을 기준(0.000)으로 삼아 상대적 품질 차이를 측정한다.
|
PyWorldVocoder
WORLD vocoder의 Python 바인딩으로, 음성 신호를 F₀(pitch), 스펙트럼 포락선, 비주기성 파라미터로 분석하는 도구다. FastSpeech 2에서는 이 도구로 학습 데이터의 frame별 F₀를 추출한다. 유성음 구간에서만 F₀가 정의되므로, 무성음 구간은 선형 보간으로 연결하고 log 변환 후 utterance 단위 평균/분산으로 정규화한다. 이렇게 얻은 연속 pitch contour가 CWT 입력이 된다.
|
핵심 인사이트
배경지식 중 가장 중요한 연결고리: NAR TTS가 병렬 생성을 하려면 duration 정보가 필요하고, 그 duration을 어디서 얻느냐(teacher 모델 vs. MFA)가 FastSpeech 1→2로의 핵심 차이다. 그리고 duration만으로는 prosody variance를 설명 못하기 때문에 pitch(CWT)와 energy를 추가로 조건화한 것이 FastSpeech 2의 본질이다.
기존 방법의 한계
FastSpeech 2는 FastSpeech 1과 직접 비교하면서 세 가지 구체적 한계를 지적한다.
1) Teacher-student pipeline의 복잡성: Autoregressive teacher를 먼저 학습시키고, 그 attention alignment에서 phoneme duration을 추출하는 과정은 총 학습 시간이 53.12시간이었다. Teacher 없이 학습하면 17.02시간으로 3배 단축된다.
2) Teacher 출력이 정보를 잃는다: Teacher가 생성한 mel spectrogram은 실제 녹음보다 variance가 적다. Teacher의 pitch 분포를 보면 표준편차(σ)가 44.1(Tacotron 2), 50.8(FastSpeech)인데, ground truth는 54.4다. FastSpeech가 이미 "평균화된 teacher"를 보고 배우니, 출력 음성도 단조로워진다.
3) Duration 품질 문제: Teacher의 attention alignment는 boundary 오차가 평균 19.68ms다. MFA는 12.47ms로 더 정확하다. 이 개선만으로도 CMOS +0.195 향상이 일어난다.
기존 autoregressive 모델(Tacotron 2, Transformer TTS)과 비교하면 품질은 유사하거나 일부 지표에서 낮지만, 추론 속도가 압도적으로 차이 난다. Transformer TTS 대비 48.5배(FastSpeech) → 47.8배(FastSpeech 2)의 Real-Time Factor를 보인다.
제안 방법의 핵심 아이디어
FastSpeech 2의 아이디어는 크게 두 가지다.
Ground-truth 직접 학습: Teacher를 제거하고, 실제 녹음의 mel spectrogram을 직접 타겟으로 사용한다. 이를 위해 학습 시에는 실제 음성에서 추출한 duration, pitch, energy를 조건으로 제공하고, 추론 시에는 각 predictor가 이 값을 예측한다.
Variance Adaptor: 음소(phoneme) hidden 시퀀스에 duration, pitch, energy 정보를 주입하는 모듈이다. Duration Predictor는 각 음소를 몇 프레임으로 늘릴지 결정하고(Length Regulator), Pitch Predictor는 frame별 pitch contour를 예측하며, Energy Predictor는 frame별 에너지 값을 예측한다. 이 세 정보가 합쳐져서 mel spectrogram decoder의 입력이 되므로, 텍스트만 가지고는 표현이 불가능했던 prosody 정보를 모델이 인식하게 된다.
FastSpeech 2s는 이 구조를 한 단계 더 밀고 나가, mel spectrogram decoder 대신 WaveNet 스타일의 waveform decoder를 붙여 파형을 직접 생성한다. Mel spectrogram이라는 중간 표현 자체가 사라지는 완전한 end-to-end 구조다.
모델 구조/알고리즘 흐름
FastSpeech 2의 전체 흐름을 단계별로 정리한다.
학습 시 입력 준비:
- 텍스트 → grapheme-to-phoneme(G2P)으로 76-token phoneme 시퀀스로 변환
- 음성 파형 → MFA로 phoneme-level duration 추출
- 음성 파형 → PyWorldVocoder로 frame-level F₀ 추출 후 CWT 변환
- 음성 파형 → STFT 진폭 L2-norm으로 frame-level energy 추출
- 음성 파형 → 80-dim mel spectrogram (MAE 학습 타겟)
Encoder:
- Phoneme embedding(dim 256) → 4×FFT Block
- FFT Block = Multi-Head Self-Attention(2 head) + 1D-Conv(kernel 9, 1, ch 256→1024→256) + Layer Norm
- 출력: phoneme-level hidden sequence
Variance Adaptor:
- Duration Predictor → phoneme hidden에서 각 음소의 프레임 수 예측 (log 도메인 MSE 학습)
- Length Regulator → 예측된 duration에 따라 phoneme hidden을 frame-level로 upsampling
- Pitch Predictor → frame-level hidden에서 pitch spectrogram(10 scale×시간) 예측 (MSE 학습), inverse CWT로 복원 후 256-level log-scale 양자화 → pitch embedding 추가
- Energy Predictor → frame-level hidden에서 에너지 값 예측 (MSE 학습), 256-level 균일 양자화 → energy embedding 추가
Mel-Spectrogram Decoder:
- Variance Adaptor 출력 → 4×FFT Block → Linear projection → 80-dim mel spectrogram
- MAE(Mean Absolute Error) 손실로 학습
Vocoder (학습 후 별도):
- Mel spectrogram → Parallel WaveGAN → 22050Hz waveform
FastSpeech 2s Waveform Decoder (별도 학습):
- Encoder + Variance Adaptor 출력 → Transposed 1D-Conv(filter 64) → 30×Dilated Residual Conv Block(skip ch 64, kernel 3) → waveform
- Multi-resolution STFT Loss + LSGAN Discriminator Loss로 adversarial 학습
- 600k step, V100 2대, batch 6
논문 그림/표로 이해하기
LJSpeech MOS 비교 (Table 1 재구성)
| 모델 | MOS | 95% CI | 비고 |
|---|---|---|---|
| Ground Truth | 4.30 | ±0.07 | 실제 녹음 |
| GT (Mel + PWG) | 3.92 | ±0.08 | Vocoder 상한선 |
| Tacotron 2 (Mel + PWG) | 3.70 | ±0.08 | AR 모델 |
| Transformer TTS (Mel + PWG) | 3.72 | ±0.07 | AR 모델 |
| FastSpeech (Mel + PWG) | 3.68 | ±0.09 | NAR, teacher 필요 |
| ✦ FastSpeech 2 (Mel + PWG) | 3.83 | ±0.08 | NAR, teacher 불필요 |
| FastSpeech 2s (직접 파형) | 3.71 | ±0.09 | End-to-end 파형 생성 |
FastSpeech 2 (3.83)는 AR 모델인 Tacotron 2(3.70), Transformer TTS(3.72)를 모두 넘어섰다. 특히 FastSpeech 1(3.68) 대비 0.15점 향상은 teacher 제거 + variance 조건화의 직접 효과다.
학습/추론 속도 비교 (Table 재구성)
| 모델 | 학습 시간 | RTF (추론) | AR 대비 속도 |
|---|---|---|---|
| Transformer TTS | 38.64h | 9.32×10⁻¹ | 1× (기준) |
| FastSpeech | 53.12h | 1.92×10⁻² | 48.5× |
| ✦ FastSpeech 2 | 17.02h | 1.95×10⁻² | 47.8× |
| FastSpeech 2s | 92.18h | 1.80×10⁻² | 51.8× |
FastSpeech 2의 학습 시간 17.02h는 FastSpeech 53.12h 대비 3배 단축이다. Teacher 학습 파이프라인 제거 효과다. RTF 기준 추론 속도는 FastSpeech와 거의 동일하다. FastSpeech 2s는 waveform decoder 학습이 길지만(92.18h), 추론에서는 51.8×로 가장 빠르다.
실험 설정과 결과 해석
데이터셋: LJSpeech(영어 단일 화자, 여성, 13,100 클립, ~24시간). 학습 12,228개, 검증 349개, 테스트 523개. 텍스트는 76-token phoneme 시퀀스로 변환.
Pitch 분포 분석: FastSpeech 2의 pitch σ(54.1)는 ground truth(54.4)에 거의 일치한다. 반면 Tacotron 2는 44.1, Transformer TTS는 40.8, FastSpeech는 50.8이다. 분포 모양 지표인 skewness(γ)와 kurtosis(𝒦)도 ground truth에 가장 가깝다. CWT를 사용하지 않으면 σ가 42.3으로 떨어지는데, CWT 없이 직접 F₀를 예측하면 시간 변화를 제대로 잡지 못한다는 것을 보여준다.
Energy MAE: FastSpeech 2(0.131) > FastSpeech(0.142). 에너지 예측 정확도도 개선됐다.
Ablation 해석:
| 설정 | FastSpeech 2 CMOS | FastSpeech 2s CMOS |
|---|---|---|
| Full model | 0.000 | 0.000 |
| Without energy | -0.040 | -0.160 |
| Without pitch | -0.245 | -1.130 |
| Without pitch & energy | -0.370 | -1.355 |
Pitch가 에너지보다 음질에 훨씬 중요하다. FastSpeech 2s(직접 파형 생성)에서 pitch 제거 효과(-1.130)가 FastSpeech 2(-0.245)보다 훨씬 크다. 파형을 직접 만들 때는 phase 재구성에 pitch 정보가 더 결정적임을 시사한다. Mel decoder를 FastSpeech 2s에서 제거하면 CMOS -0.285로, encoder의 텍스트 표현을 mel decoder가 먼저 정제해주는 역할이 있음을 보여준다.
핵심 인사이트
FastSpeech 2가 Tacotron 2(AR)보다 MOS가 높은 것은 단순히 구조의 우위라기보다, 더 정확한 variance 정보(MFA duration + CWT pitch)를 학습 조건으로 줬기 때문이다. 같은 NAR 구조인 FastSpeech 1보다 크게 개선된 것이 이를 증명한다. 즉 "NAR이라서 좋다"가 아니라 "variance를 명시적으로 풍부하게 주입했기 때문에 좋다"가 정확한 해석이다.
한계와 비판적 관점
외부 도구 의존성: 논문 저자 스스로 "MFA, PyWorldVocoder 같은 외부 도구에 의존하는 것이 다소 복잡하다"고 인정한다. 특히 MFA는 언어별로 발음 사전과 음향 모델이 필요하기 때문에 영어 이외 언어로 확장할 때 준비 비용이 있다. 이후 후속 연구(NaturalSpeech, VITS 등)는 이 의존성을 줄이는 방향으로 발전했다.
단일 화자 실험이 주: 논문의 주요 MOS 결과는 LJSpeech(단일 여성 화자)에서 측정됐다. VCTK(다화자) 실험도 있지만 MOS 측정 없이 음성 샘플 비교 수준이다. 다화자, 감정, 스타일 같은 조건은 이 논문 범위를 벗어난다.
추론 시 variance 예측 품질: 학습 시에는 ground-truth duration/pitch/energy를 조건으로 주지만, 추론 시에는 predictor가 예측한 값을 쓴다. Predictor의 오차가 곧 음성 품질 저하로 이어진다. 특히 pitch 예측은 CWT + inverse CWT 과정에서 오차가 누적될 수 있다.
FastSpeech 2s의 긴 학습 시간: End-to-end 파형 생성을 위해 92.18시간이 필요하다. FastSpeech 2(17.02h)의 5.4배다. Adversarial 학습 불안정성도 관리해야 한다.
Controllability는 보여줬지만 정량 평가가 약하다: Pitch와 energy를 조절하면 다양한 prosody를 만들 수 있다는 데모를 보여주지만, 이 제어 가능성을 정량적으로 평가하는 실험은 제한적이다.
구현하거나 응용한다면 무엇을 봐야 하나?
데이터 준비: LJSpeech 같은 단일 화자 고품질 데이터 최소 10–20시간이 필요하다. MFA 실행을 위해 언어별 발음 사전(CMU Pronouncing Dictionary for English)이 필요하다. 한국어 적용 시 KoG2P 또는 음소 변환기와 한국어용 MFA 모델이 필요하다.
구현 접근: Microsoft 공식 구현은 FastSpeech 기반 Neural Speech Synthesis 코드베이스에 통합됐다. 비공식 구현 중 ming024/FastSpeech2(PyTorch)가 가장 많이 참조된다. Coqui TTS, ESPnet, NVIDIA NeMo 등 TTS 프레임워크에도 FastSpeech 2 레시피가 포함돼 있다.
Vocoder 선택: Parallel WaveGAN 외에 HiFi-GAN, BigVGAN, Vocos 같은 더 나은 vocoder를 붙이면 음질이 크게 올라간다. FastSpeech 2 논문 당시 PWG보다 HiFi-GAN이 더 높은 MOS를 보이므로, 현재 시점에서 구현한다면 HiFi-GAN을 추천한다.
Pitch/Energy 제어 응용: TTS 시스템에서 사용자가 음높이나 말하는 속도를 조절하는 인터페이스를 만들 때 유용하다. Variance Adaptor에서 duration scaling, pitch shifting, energy scaling을 간단히 조절할 수 있다.
학습 compute 기준: V100 단일 GPU 기준 160k step, ~17시간. RTX 3090/4090으로도 비슷한 규모에서 재현 가능하다. Batch size 48, Adam optimizer(β₁=0.9, β₂=0.98, ε=10⁻⁹).
한 줄 결론과 다음에 읽을 논문
FastSpeech 2는 "Teacher 없이 실제 음성의 variance를 직접 학습"하는 단순한 원칙 하나로, 복잡한 증류 파이프라인 없이 AR 모델을 넘는 품질과 50배 빠른 추론을 동시에 달성했다.
다음에 읽을 논문:
- VITS (2021, arXiv:2106.06103): FastSpeech 2의 외부 aligner 의존성을 없애고, acoustic model + vocoder를 완전히 통합한 end-to-end VAE-GAN TTS.
- HiFi-GAN (2020, arXiv:2010.05646): FastSpeech 2와 함께 쓰이는 고품질 vocoder. FastSpeech 2 + HiFi-GAN 조합이 사실상 표준 baseline이 됐다.
- NaturalSpeech (2022, arXiv:2205.04421): LJSpeech에서 MOS로 처음으로 human parity를 달성했다고 주장한 Microsoft 후속 연구.
출처:
- 논문 원문: arXiv 2006.04558
- 공식 데모: Speech Research GitHub Page
- 관련 리뷰: FastSpeech 2 - Semantic Scholar
'AI논문리뷰-음성인식TTS' 카테고리의 다른 글
| [AI논문리뷰] HiFi-GAN - 주기 패턴 판별기로 사람 수준의 음질을 실시간보다 167배 빠르게 합성한다 (0) | 2026.05.01 |
|---|---|
| [AI논문리뷰] Glow-TTS - 외부 정렬기 없이 자체 정렬을 학습하는 병렬 음성 합성 모델 (0) | 2026.05.01 |
| [AI논문리뷰] VALL-E - 3초 음성 프롬프트로 누구의 목소리도 흉내내는 언어 모델 TTS (0) | 2026.05.01 |
| [AI논문리뷰] NaturalSpeech 3 - 음성을 5가지 속성으로 분리해 사람 수준 Zero-Shot TTS를 달성한 Factorized Diffusion (0) | 2026.05.01 |
| [AI논문리뷰] VITS - VAE + Flow + GAN으로 사람 수준 음성을 단일 모델에서 직접 합성 (1) | 2026.05.01 |