qcoding

[AI논문리뷰] HiFi-GAN - 주기 패턴 판별기로 사람 수준의 음질을 실시간보다 167배 빠르게 합성 본문

AI논문리뷰-음성인식TTS

[AI논문리뷰] HiFi-GAN - 주기 패턴 판별기로 사람 수준의 음질을 실시간보다 167배 빠르게 합성

Qcoding 2026. 5. 1. 08:39
반응형
논문  HiFi-GAN: Generative Adversarial Networks for Efficient and High Fidelity Speech Synthesis 저자  Jungil Kong, Jaehyeon Kim, Jaekyoung Bae (Kakao Enterprise) 학회/연도  NeurIPS 2020 arXiv  2010.05646 코드  jik876/hifi-gan 데모  Demo Page

📄 한 문단 요약

HiFi-GAN은 카카오엔터프라이즈가 NeurIPS 2020에 발표한 신경망 보코더다. 핵심 문제 의식은 하나다. "음성은 다양한 주기를 가진 사인파의 합성인데, 기존 GAN 보코더는 이 주기 구조를 제대로 포착하지 못했다." 이를 해결하기 위해 주기(period)를 [2, 3, 5, 7, 11]로 설정한 MPD(Multi-Period Discriminator)와 다중 스케일에서 연속 패턴을 포착하는 MSD(Multi-Scale Discriminator), 그리고 다양한 수용 범위를 병렬로 관찰하는 MRF(Multi-Receptive Field Fusion) 제너레이터를 제안했다. 결과는 놀랍다. 단일 화자 데이터셋에서 MOS 4.36으로 WaveNet(4.02)과 WaveGlow(3.81)를 모두 제치고, 단일 V100 GPU에서 실시간보다 167.9배 빠르게 22.05kHz 음성을 생성한다. 경량 버전(V3, 1.46M 파라미터)은 CPU에서도 실시간의 13.4배 속도를 달성해 온디바이스 TTS의 가능성을 열었다.

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

현대 TTS(Text-to-Speech) 시스템은 대부분 두 단계로 구성된다. 텍스트에서 mel-spectrogram 같은 중간 표현을 예측하는 어쿠스틱 모델(Tacotron2, FastSpeech 등)과, 이 중간 표현에서 실제 오디오 파형(waveform)을 생성하는 보코더(vocoder) 가 그것이다. HiFi-GAN은 후자, 즉 보코더에 집중한다.

2020년 당시 보코더 진영은 크게 세 계열로 나뉘어 있었다. WaveNet 계열의 자기회귀(autoregressive) 모델은 품질이 뛰어나지만 느리고, WaveGlow 같은 플로우(flow) 기반 모델은 병렬화가 가능하지만 파라미터가 87.73M에 달할 만큼 무겁다. MelGAN은 GAN을 이용해 CPU에서도 실시간 합성이 가능하지만 MOS 3.79로 품질 격차가 컸다.

이 논문이 풀려는 핵심 질문은 단순하다. "GAN 기반 보코더가 품질에서 AR/플로우 모델에 뒤처지는 이유가 무엇이고, 어떻게 따라잡을 수 있는가?" 저자들의 진단은 명확했다. 음성은 다양한 주기를 가진 사인파 신호의 조합인데, 기존 GAN 판별기는 이 주기적 패턴을 효과적으로 포착하지 못했다. MPD라는 새로운 판별기 설계가 이 문제를 정면으로 겨냥한다.

배경지식과 핵심 키워드

핵심 개념 카드

Vocoder (보코더)
mel-spectrogram 같은 저해상도 음향 특징에서 시간 도메인 파형(raw waveform)을 복원하는 모델. 1초에 22,050개 샘플을 생성해야 하므로 속도와 품질 트레이드오프가 핵심 과제다. 고전적으로는 Griffin-Lim 알고리즘이 사용됐으나 신경망 보코더로 대체됐다.
Mel-Spectrogram
STFT(Short-Time Fourier Transform)로 얻은 스펙트로그램을 mel 스케일로 변환한 2D 표현. HiFi-GAN에서는 80개 mel 밴드, FFT 크기 1024, hop 크기 256을 사용한다. 파형 22,050 샘플이 mel 86개 프레임으로 압축되므로, 보코더는 이 압축을 역방향으로 풀어야 한다.
GAN (Generative Adversarial Network)
생성자(Generator)와 판별자(Discriminator)가 서로 경쟁하며 학습하는 딥러닝 프레임워크. 생성자는 판별자를 속이도록 가짜 데이터를 생성하고, 판별자는 진짜와 가짜를 구별하려 한다. HiFi-GAN은 LSGAN(Least Squares GAN) 손실을 사용해 학습 안정성을 높인다.
MOS (Mean Opinion Score)
음성 품질을 1~5점 척도로 사람이 평가하는 주관적 지표. Amazon Mechanical Turk 같은 크라우드소싱 플랫폼에서 수집한다. 95% 신뢰구간(CI)과 함께 보고하며, 통계적으로 유의미한 차이인지 확인이 필요하다. 사람 목소리 녹음 MOS는 통상 4.4~4.6 범위.
Transposed Convolution (전치 합성곱)
업샘플링에 사용하는 학습 가능한 연산. mel-spectrogram의 시간 해상도(hop=256)를 파형 해상도(sample rate=22,050)까지 키우기 위해 HiFi-GAN 제너레이터는 스트라이드 합성곱을 반복 적용한다. V1 기준 스트라이드 [8,8,2,2]를 사용해 총 256배 업샘플링.
Dilated Convolution (팽창 합성곱)
합성곱 커널 요소 사이에 간격(dilation)을 두어 파라미터를 늘리지 않고도 수용 범위(receptive field)를 넓히는 기법. WaveNet에서 처음 TTS에 적용됐다. HiFi-GAN MRF 모듈은 dilation rates [1,3,5]나 [1,2,4] 등을 조합해 짧은 패턴과 긴 패턴을 동시에 포착한다.
Feature Matching Loss
판별기 각 레이어의 중간 특징(feature map)에서 실제 오디오와 생성 오디오의 L1 거리를 페널티로 준다. 생성자가 단순히 "판별자를 속이는" 것을 넘어 실제 오디오의 내부 표현을 모방하도록 유도한다. MelGAN에서 도입된 기법으로 HiFi-GAN 학습 안정화에 크게 기여한다.
Weight / Spectral Normalization
신경망 학습 안정화 기법. Weight Normalization은 가중치 벡터를 크기와 방향으로 분리해 경사 흐름을 개선한다. Spectral Normalization은 판별기 각 레이어의 스펙트럼 노름을 1로 제한해 Lipschitz 조건을 만족시킨다. HiFi-GAN MPD는 weight norm, MSD 첫 번째 sub-discriminator에는 spectral norm을 적용한다.

기존 방법의 한계

WaveNet (2016, DeepMind): 자기회귀 구조로 한 샘플씩 순차 생성. 품질은 뛰어나지만(MOS 4.02) GPU에서 실시간 대비 0.003배 속도(70샘플/초)로 사실상 실용화 불가능. 24.73M 파라미터.

Parallel WaveNet / WaveGlow (2019): 플로우 기반으로 병렬 생성 가능. WaveGlow는 MOS 3.81로 WaveNet보다 낮고, 87.73M 파라미터라는 무거운 모델. 90개 이상의 레이어를 쌓아야 하는 구조적 한계.

MelGAN (2019): GAN을 이용해 CPU 실시간의 6.59배 속도로 빠른 합성. 4.26M으로 가볍지만 MOS 3.79로 품질 격차가 명확하다. 다중 스케일 판별기(MSD)가 핵심이지만, 주기적 패턴 포착 능력이 부족해 품질 한계에 도달.

핵심 문제: GAN 보코더들이 왜 AR/플로우 모델보다 품질이 낮은가? 저자들은 ablation에서 이 질문에 답한다. MPD를 제거하면 MOS가 4.10에서 2.28로 폭락한다. 즉 주기적 패턴 판별이 품질 격차의 핵심 원인이었다.

제안 방법의 핵심 아이디어

HiFi-GAN의 핵심 통찰은 두 가지다.

첫째, 음성은 주기 신호의 합성이다. 성대 진동(기본 주파수, F0)은 주기적이고, 각 음소는 특유의 주기 패턴을 가진다. 따라서 판별기가 이 주기 구조를 명시적으로 포착하도록 설계해야 한다. MPD는 1D 오디오를 2D 행렬(시간 × 주기)로 재구성해 각 주기 성분을 독립적으로 판별한다.

둘째, 수용 범위의 다양성이 음질을 결정한다. 음소 하나의 지속시간이 100ms를 넘으면 2,200개 이상의 인접 샘플 간 상관관계가 생긴다. MRF는 서로 다른 커널 크기와 dilation rate를 가진 여러 잔차 블록을 병렬 수행해 짧은 패턴(로컬 음향)과 긴 패턴(음소 형태)을 동시에 학습한다.

핵심 인사이트

MPD의 주기를 [2, 3, 5, 7, 11] 소수(prime number)로 설정하는 이유가 있다. 주기 간 겹침을 최소화하기 위해서다. 2의 거듭제곱 [2,4,8,16,32]로 실험하면 MOS가 4.10에서 3.90으로 0.20 하락한다. 소수 조합이 음성의 다양한 주파수 성분을 서로 독립적으로 커버한다.

모델 구조/알고리즘 흐름

HiFi-GAN 전체 구조 개요 - Generator, MPD, MSD 흐름 재구성도

HiFi-GAN 전체 구조 개요. Generator(MRF 포함)와 두 판별기(MPD, MSD)의 학습 흐름. 논문 Fig.1·Fig.2 내용을 바탕으로 재구성.

전체 구조

입력: mel-spectrogram (80밴드 × T프레임)
     ↓
  [Generator]
  7×1 Conv → 채널 h_u
  for l in 1...|k_u|:
    Leaky ReLU
    → Transposed Conv (stride k_u[l]/2, 채널 h_u/2^l)  ← 업샘플링
    → MRF Module
  Leaky ReLU → 7×1 Conv → Tanh
     ↓
출력: raw waveform (1 × T×256 샘플)

학습 시 판별기: MPD (주기 5개) + MSD (스케일 3개)
손실: L_G = L_Adv + 2·L_FM + 45·L_Mel

Generator - MRF (Multi-Receptive Field Fusion)

업샘플링 블록 하나당 MRF 모듈이 하나씩 붙는다. MRF는 커널 크기와 dilation이 다른 N개의 잔차 블록을 병렬로 실행해 출력의 합을 반환한다. V1 기준 커널 [3, 7, 11], dilation [[1,1],[3,1],[5,1]]×3 조합을 사용한다. 이 설계 덕분에 3샘플짜리 패턴(단모음 경계)부터 수십 샘플짜리 패턴(자음 구조)까지 하나의 레이어에서 포착 가능하다.

MPD (Multi-Period Discriminator)

5개의 sub-discriminator로 구성. 각각 주기 p ∈ {2, 3, 5, 7, 11}을 담당한다.

1D 오디오 (B, 1, T)
  → Pad + Reshape → 2D (B, 1, T/p, p)
  → 4개의 5×1 Conv (stride (3,1))  ← 너비 방향은 독립 처리
  → 5×1 Conv → 3×1 Conv
  → Real/Fake 판별

1D→2D 변환 후 너비 축 커널을 1로 고정하는 것이 핵심이다. 주기 p의 샘플들을 독립적으로 처리하면서 시간 축으로만 convolution을 적용한다. 이 방식은 주기 성분을 추출하면서도 모든 시간 스텝에 그래디언트를 전달한다는 장점이 있다.

MSD (Multi-Scale Discriminator)

3개의 sub-discriminator: 원본 오디오, ×2 평균 풀링, ×4 평균 풀링. MelGAN에서 차용한 구조로 연속적인 장기 의존성을 포착한다. MPD가 분리된(disjoint) 샘플로 주기 패턴을 잡는 것과 보완 관계를 이룬다.

손실 함수

총 세 가지 손실이 생성자를 학습시킨다.

  1. GAN 손실 (LSGAN): 생성자가 판별기를 속이도록. Discriminator는 실제=1, 생성=0으로 분류 시도.
  2. Mel-Spectrogram 손실: 생성된 파형을 다시 mel로 변환해 원본과 L1 거리를 계산. 초기 학습 불안정성을 크게 줄여준다.
  3. Feature Matching 손실: 판별기 중간 레이어 특징의 L1 거리. λ_FM=2, λ_Mel=45로 가중치를 설정.

논문 그림/표로 이해하기

( 논문 그림 사용 : https://arxiv.org/pdf/2106.06103 )

 

주요 모델 비교 성능표 (논문 Table 1 재구성)

모델 MOS (±CI) CPU 속도 GPU 속도 파라미터
Ground Truth 4.45 (±0.06)
WaveNet (MoL) 4.02 (±0.08) 0.07 kHz (×0.003) 24.73M
WaveGlow 3.81 (±0.08) 4.72 kHz (×0.21) 501 kHz (×22.75) 87.73M
MelGAN 3.79 (±0.09) 145.52 kHz (×6.59) 14,238 kHz (×645) 4.26M
✦ HiFi-GAN V1 4.36 (±0.07) 31.74 kHz (×1.43) 3,701 kHz (×167.86) 13.92M
✦ HiFi-GAN V2 4.23 (±0.07) 214.97 kHz (×9.74) 16,863 kHz (×764) 0.92M ★
✦ HiFi-GAN V3 4.05 (±0.08) 296.38 kHz (×13.44) ★ 26,169 kHz (×1,186) ★ 1.46M
논문 Table 1 재구성. LJSpeech 단일 화자, 22kHz. CPU: MacBook Pro Intel i7 2.6GHz, GPU: NVIDIA V100. ★ = 해당 지표 최고값.

Ablation Study 결과 (논문 Table 2 재구성)

구성 MOS (±CI) 비고
Ground Truth 4.57 (±0.04)
✦ HiFi-GAN V3 (Baseline) 4.10 (±0.05) 완전 구성
MPD 제거 2.28 (±0.09) −1.82 폭락
MSD 제거 3.74 (±0.05) −0.36
MRF 제거 3.92 (±0.05) −0.18
Mel-Spectrogram Loss 제거 3.25 (±0.05) −0.85
MPD 주기 [2,4,8,16,32] 3.90 (±0.05) 소수 대신 2의 거듭제곱
MelGAN (비교용) 2.88 (±0.08)
MelGAN + MPD 추가 3.35 (±0.07) +0.47 향상
논문 Table 2 재구성. 500k 스텝까지 학습. MPD 제거 시 MOS 2.28로 폭락한다는 점이 핵심 발견.

실험 설정과 결과 해석

데이터셋: 단일 화자 실험은 LJSpeech(13,100 클립, 약 24시간, 22kHz, 16비트 PCM). 다화자 일반화 실험은 VCTK(109명 화자, 44,200 클립, 44시간; 22kHz로 다운샘플링).

훈련 설정: AdamW 옵티마이저(β₁=0.8, β₂=0.99, weight decay=0.01), 초기 학습률 2×10⁻⁴에 매 에폭 0.999 감쇠. 80밴드 mel-spectrogram(FFT 1024, window 1024, hop 256).

주목할 결과 해석:

V1은 MOS 4.36으로 사람 목소리(4.45)와 0.09 차이밖에 나지 않는다. 통계적 신뢰구간을 고려하면 사실상 구분이 어려운 수준이다. 그러면서도 GPU에서 실시간 대비 167.86배 빠르다. WaveGlow(22.75배)의 7배 이상 빠른 속도다.

V2는 0.92M 파라미터만으로 MOS 4.23. WaveGlow(87.73M)보다 95배 이상 작은 모델이 품질을 역전한다. GPU 속도도 V1보다 빠른 764배 실시간. 이 작은 모델이 가능한 이유는 정보를 압축하는 게 아니라 판별기 설계가 올바른 방향으로 학습을 유도하기 때문이다.

미보학 화자(unseen speaker) 일반화: VCTK에서 훈련에 포함하지 않은 9명의 화자로 테스트. HiFi-GAN V1이 MOS 3.77로 WaveNet(3.52), WaveGlow(3.52), MelGAN(3.50)을 모두 상회. 훈련 분포 밖의 화자에도 견고하게 일반화됨을 보인다.

End-to-End 합성: Tacotron2와 연결해 텍스트→파형 end-to-end 실험. 파인튜닝 전에도 V1 MOS 3.91로 WaveGlow(3.69)를 앞섰으며, 파인튜닝 후 V1은 MOS 4.18. 흥미로운 점은 파인튜닝 후 mel-spectrogram 레벨 오차는 오히려 증가하지만 지각 품질은 향상된다는 것이다. 인간 청각 시스템이 mel-spectrogram 충실도와 완전히 일치하지 않음을 시사한다.

핵심 인사이트

Ablation에서 MPD를 제거하면 MOS가 4.10 → 2.28로 폭락한다. 이는 단순히 "판별기 하나가 빠졌다"는 수준이 아니라, 주기 패턴 포착 없이는 GAN이 음성의 기본 구조조차 제대로 학습하지 못한다는 것을 의미한다. 반면 MelGAN에 MPD만 추가해도 MOS가 2.88 → 3.35로 0.47 향상된다. MPD는 모델에 독립적으로 이식 가능한 강력한 구성 요소다.

한계와 비판적 관점

단일 화자 편향: LJSpeech는 단일 여성 화자, 영어 전용, 스튜디오 녹음 품질의 데이터셋이다. 노이즈, 다양한 언어, 감정 표현 등 실제 환경 조건에서 성능이 어떻게 변하는지는 충분히 검증되지 않았다.

CPU 속도의 한계: V1의 CPU 속도는 실시간의 1.43배로, 실시간보다 약간 빠른 수준이다. 온디바이스 실시간 합성을 위해서는 V3를 사용해야 하는데, V3의 MOS(4.05)는 여전히 WaveNet(4.02)과 유사한 수준이다. 품질 최고치(V1)와 속도 최고치(V3) 사이의 tradeoff는 여전히 존재한다.

훈련 안정성: GAN 훈련의 고질적 문제인 mode collapse와 학습 불안정성은 mel-spectrogram loss와 feature matching loss로 어느 정도 완화됐지만, 초기 학습률 설정과 배치 구성에 민감할 수 있다.

주관적 평가의 한계: MOS 테스트는 Amazon Mechanical Turk 기반 크라우드소싱으로 수행됐다. 평가자의 배경, 오디오 장비, 집중도에 따라 편차가 생길 수 있다. 논문에서는 동일한 조건으로 모든 모델을 평가해 비교의 공정성을 확보했으나, 다른 논문 결과와 직접 비교할 때는 주의가 필요하다.

MSD의 평균 풀링 문제: Appendix B 분석에 따르면 MSD의 평균 풀링은 고주파 성분을 희석시켜 세밀한 주기 패턴 구분에 약점을 보인다. MPD로 이를 보완하지만, MSD 설계 자체를 개선할 여지가 있다.

구현하거나 응용한다면 무엇을 봐야 하나?

빠른 시작: 공식 구현 jik876/hifi-gan에서 LJSpeech, VCTK, Universal 프리트레인 모델을 제공한다. 단일 화자 TTS 파이프라인(Tacotron2 + HiFi-GAN)을 시험해보려면 V2 모델부터 시작하는 것을 권장한다. 0.92M 파라미터로 MOS 4.23을 달성하는 실용적인 선택이다.

파인튜닝: Tacotron2나 FastSpeech2 같은 어쿠스틱 모델과 함께 사용할 때는 반드시 파인튜닝을 수행해야 한다. 논문 실험에서 파인튜닝 없이는 MOS 3.88

3.91이지만, 100k 스텝 파인튜닝 후 4.02

4.18로 크게 향상된다. Teacher-forcing 방식으로 Tacotron2가 생성한 mel-spectrogram을 학습 입력으로 사용하는 것이 핵심이다.

데이터 요구사항: 단일 화자 고품질 데이터 24시간이면 충분하다. 하지만 다화자 일반화를 원한다면 VCTK 규모(44시간, 109명)가 필요하다. Universal 모델(다화자 학습) 프리트레인 가중치를 활용하면 적은 데이터로도 새로운 화자에 적응 가능하다.

MPD 이식: 다른 GAN 보코더에 MPD를 추가하는 것만으로도 유의미한 품질 향상이 가능하다. 논문에서 MelGAN+MPD로 MOS +0.47을 확인했다. 기존 GAN 보코더를 개선할 때 MPD를 먼저 추가해보는 것이 가장 빠른 품질 향상 방법이다.

하이퍼파라미터 설정:

  • V1 (최고 품질): h_u=512, k_u=[16,16,4,4], k_r=[3,7,11]
  • V2 (균형): h_u=128, k_u=[16,16,4,4], k_r=[3,7,11]
  • V3 (온디바이스): h_u=256, k_u=[16,16,8], k_r=[3,5,7]

주기 설정은 반드시 소수 [2,3,5,7,11]로 유지해야 한다. 2의 거듭제곱으로 바꾸면 MOS 0.20 하락이 발생한다.

컴퓨팅 비용: V100 GPU 기준 V1 기준 수백만 스텝 학습. AdamW 설정(β₁=0.8, β₂=0.99)과 learning rate decay(0.999/epoch, 초기 2×10⁻⁴)를 논문 그대로 사용하는 것이 재현성에 유리하다.

한 줄 결론과 다음에 읽을 논문

한 줄 결론: HiFi-GAN은 "음성은 주기 신호다"라는 단순한 통찰 하나로 GAN 보코더의 품질 한계를 돌파했고, 2020년 이후 거의 모든 TTS 시스템의 기본 보코더가 됐다.

다음에 읽을 논문:

  • UnivNet (2021): 다중 해상도 스펙트로그램 판별기를 추가해 HiFi-GAN을 개선한 보코더. 더 적은 파라미터로 비슷한 품질 달성.
  • BigVGAN (2022): Anti-aliasing 주기 활성화 함수와 다중 주기/스케일 판별기를 결합해 HiFi-GAN을 대규모로 확장한 모델.
  • Vocos (2023): Fourier 도메인에서 직접 생성하는 새로운 패러다임. HiFi-GAN보다 단순하면서 경쟁력 있는 품질.
  • Tacotron2 (Shen et al., 2018): HiFi-GAN의 어쿠스틱 모델 파트너. 텍스트→mel-spectrogram 생성의 기준 모델.

참고 자료

반응형
Comments