음성 인식의 세 시대 — LPC에서 WFST까지
Source-Filter Model의 물리적 직관부터 LPC, HMM-GMM, WFST 기반 ASR까지, 음성 처리 고전 파이프라인의 설계 철학과 각 모듈이 deep learning에 무엇을 남겼는지 추적한다.
- 01 디지털 오디오의 수학적 기반 — 샘플링부터 MFCC까지
- 02 음성 인식의 세 시대 — LPC에서 WFST까지
- 03 CTC에서 RNN-T까지 — 음성 인식의 alignment 문제는 어떻게 풀렸나
- 04 ASR 아키텍처는 어떻게 진화했나
- 05 TTS는 어떻게 사람 목소리를 학습하는가
- 06 Neural Audio Codec은 왜 VQ를 버리지 못하는가
- 07 오디오 LM의 공통 설계 언어 — 토큰, 계층, 스트림
1984년에 작성된 Griffin-Lim 알고리즘은 오늘날 PyTorch 표준 라이브러리에 그대로 들어 있다. 1989년 Rabiner의 HMM 튜토리얼은 30,000회 인용됐고, 그 수식은 CTC loss 안에 살아 있다. 왜 수십 년 된 알고리즘들이 사라지지 않는가? 답은 하나다 — 각 알고리즘이 음성 신호의 물리적 구조를 수학으로 못 박은 것이기 때문이다.
음성은 왜 분해 가능한가
모든 고전 음성 처리의 출발점은 source-filter model이다.
는 성대(source), 는 성도(vocal tract filter). 이 분리가 가능한 이유는 해부학적 사실이다 — 25ms 창 안에서 성도 형태는 거의 고정되고, 성대 진동 패턴은 독립적으로 변한다. 컨볼루션을 분리할 수 있다면, 각 요소를 독립적으로 모델링할 수 있다.
Linear Predictive Coding(LPC)는 이 직관을 autoregressive 모델로 변환한다.
계수 가 vocal tract filter 의 역함수다. 잔차 은 source — 유성음이면 펄스열, 무성음이면 백색 잡음에 가깝다. LPC는 Yule-Walker 방정식 을 풀어 계수를 구하고, Toeplitz 구조 덕분에 Levinson-Durbin 재귀가 대신 에 해결한다.
autocorrelation method는 항상 을 보장한다 — reflection coefficient가 1 미만이면 가 안정 필터임이 수학적으로 보장되므로, LPC codec은 발진하지 않는다. GSM, AMR, CELP가 30년간 mobile 통신의 backbone이 될 수 있었던 이유다.
HMM — 시간 불확실성을 모델로 끌어안다
음성 인식의 핵심 난점은 alignment다. “hello”를 발음하는 속도는 사람마다, 맥락마다 다르다. HMM은 이 불확실성을 latent variable로 모델링한다.
각 phoneme이 hidden state, 25ms MFCC frame이 GMM observation이다. left-to-right HMM은 self-loop(상태 머무름)와 forward transition(다음 상태)만 허용해 시간의 단방향성을 구조에 못 박는다.
Rabiner(1989)가 정의한 세 문제는 지금도 표준 교과서 구성이다.
복잡도 .
의 정의에서 Markov property와 chain rule을 적용하면 재귀가 성립한다. Viterbi는 이 식의 을 로 바꾼 것 — Bellman 최적성의 직접 적용이다.
Baum-Welch(EM)는 forward-backward 변수를 결합해 transition matrix와 GMM 파라미터를 업데이트한다. 로그 가능도는 단조 증가가 보장된다. 2012년 Hinton et al.의 DNN-HMM hybrid가 GMM emission을 DNN으로 교체하기 전까지, 이 구조가 20년간 ASR의 전부였다.
WFST — 모든 모듈을 하나의 그래프로
GMM-HMM 시스템에는 서로 다른 네 개의 모듈이 존재한다: HMM state, context-dependent triphone, lexicon, language model. Mohri, Pereira, Riley(2002)의 통찰은 이것들이 모두 weighted finite-state transducer의 composition으로 표현된다는 것이다.
Kaldi의 핵심 철학이다. Composition의 핵심 대수 구조는 semiring이다.
- Tropical : 최소 비용 경로만 유지 → Viterbi와 수학적으로 동형
- Log : 모든 경로를 확률 합산 → Forward algorithm과 동형
Decoding에는 tropical, training(MMI)에는 log. 같은 그래프 위에서 semiring만 바꾸면 알고리즘이 바뀐다.
HCLG를 한 번 compile하면 decoding 시 재사용된다. state 규모의 그래프를 determinize·minimize해 최적화된 단일 FST로 만든다. 크기는 무섭지만 compile은 한 번뿐이다.
Griffin-Lim — magnitude에서 phase로, 그리고 그 한계
Mel-spectrogram을 waveform으로 변환하는 vocoding 문제에서, 고전 baseline은 Griffin-Lim(1984)이다. magnitude 만 주어졌을 때 phase를 복원하는 iterative projection 알고리즘이다.
두 집합 사이를 번갈아 projection한다 — (target magnitude를 만족하는 집합)와 (어떤 time-domain 신호의 STFT인 “consistent” 집합). Griffin & Lim(1984)은 각 iteration마다 거리 가 단조 감소함을 증명했다.
단조 감소는 local minimum 수렴만 보장한다. Phase 정보 자체가 magnitude에서 유일하게 결정되지 않기 때문에 global optimum은 원칙적으로 도달 불가능하다. Tacotron 1(2017)이 Griffin-Lim을 썼을 때 음질이 “robotic”했던 이유다. Tacotron 2(2018)부터 WaveNet으로 교체됐다.
그러나 Griffin-Lim은 학습 데이터 없이 작동하고, 30줄 코드로 구현된다. 40년이 지난 지금도 neural vocoder 비교 baseline, 빠른 prototype, source separation 후처리에 쓰인다.
정리
네 챕터를 관통하는 공통 패턴이 있다.
- 물리적 구조를 수학으로 고정한다: source-filter 분리, Markov 시간 진행, semiring 합성, consistent STFT — 각각이 음성 신호의 실제 성질을 귀납적 편향으로 못 박는다.
- 고전 알고리즘은 사라지지 않는다: LPCNet, CTC loss(= Forward algorithm의 동형), WFST lattice rescoring, Griffin-Lim baseline — 모두 deep learning 시대에 살아있다.
- deep learning이 대체한 것은 파라미터 추정 방식이지 구조 자체가 아니다: GMM → DNN, forced alignment → CTC, hand-crafted G2P → sequence-to-sequence. Inductive bias는 이어진다.
다음 글에서는 이 파이프라인을 end-to-end로 대체한 DeepSpeech와 CTC의 등장, 그리고 “alignment 없는 학습”이 어떻게 가능한지를 추적한다.