Hidden Markov Model, Forward-Backward, Viterbi, Baum-Welch, Kalman Filter — 이 이름들은 서로 다른 교과서에 따로 등장하지만 하나의 공통 구조를 공유한다. 모두 chain factor graph 위의 메시지 패싱이다. 이 통일성을 놓치면 각 알고리즘을 따로 외우게 된다. 왜 sum을 max로 바꾸면 Viterbi가 되고, Gaussian을 집어넣으면 Kalman Filter가 되는가?
chain factor graph로서의 HMM
HMM은 두 가정으로 정의된다. Transition Markov (zt+1⊥z1:t−1∣zt)와 output independence (xt⊥{z−t,x−t}∣zt). 이 두 가정을 결합분포로 쓰면
zt의 belief는 왼쪽 메시지 · emission · 오른쪽 메시지의 곱. 이때 αt(zt)=Bzt,xt⋅μft→zt(zt), βt(zt)=μft+1→zt(zt)로 놓으면 Forward-Backward의 recursion과 정확히 일치한다. □
∎
복잡도는 O(N2T). Brute force O(NT)에서 Markov 가정이 exponential을 polynomial로 만든다. 수치 안정성을 위해서는 scaled 또는 log-space 구현이 필수다 — 비정규화 αT는 T=100 이상에서 machine epsilon 이하로 내려간다.
Viterbi = max-product
sum을 max로 바꾸면 Viterbi가 된다. δt(zt):=maxz1:t−1p(z1:t−1,zt,x1:t)로 정의하면
Viterbi가 돌려주는 MAP sequence와 각 시점의 marginal MAP argmaxztp(zt∣x)는 다를 수 있다. Marginal MAP은 각 시점 locally 최적이지만 전역적으로 consistent하지 않다. Viterbi는 global consistent sequence를 보장한다.
ELBO 분해 logp(x∣θ)=ELBO(θ,q)+KL(q∥p(z∣x,θ))에서, E-step은 KL을 0으로 만들고 M-step은 ELBO를 증가시킨다. 따라서 log-likelihood는 단조 증가가 보장된다. 이것이 VAE, diffusion model training이 공유하는 ELBO 최대화 패턴의 원형이다.
Kalman Filter = Gaussian Forward
HMM의 state가 discrete에서 continuous Rn으로 바뀌고 dynamics가 linear Gaussian이 되면 Linear Dynamical System이 된다.
zt=Fzt−1+wt,wt∼N(0,Q)xt=Hzt+vt,vt∼N(0,R)
이제 Forward algorithm의 αt는 Gaussian이다. Gaussian의 합성과 조건부는 Gaussian을 유지하므로 (Gaussian conjugacy), 각 step에서 mean과 covariance만 전파하면 exact posterior가 된다. 이것이 Kalman Filter다.
Kalman Gain Kt는 prediction noise와 measurement noise의 비율에 따른 optimal weighting이다. R→∞이면 Kt→0으로 관측을 무시하고, Q→∞이면 prediction을 무시하고 관측만 믿는다.
RTS Smoother (Rauch-Tung-Striebel)는 Forward-Backward의 Gaussian 버전이다 — forward pass 후 역방향으로 Jt=Pt∣tFTPt+1∣t−1를 이용해 미래 정보를 반영한다.
트레이드오프
모델
State
Inference
복잡도
한계
HMM
Discrete
Exact (tree BP)
O(N2T)
First-order Markov, discrete state
LDS / Kalman
Continuous Gaussian
Exact (conjugacy)
O(n3T)
Linear, Gaussian 가정
Particle Filter
Continuous, non-parametric
Approximate (Monte Carlo)
O(PT)
Variance, particle collapse
Transformer
—
Exact self-attention
O(T2d)
Quadratic, no Markov
HMM과 Transformer는 sequence model의 양 극단이다. HMM은 Markov 가정으로 tree 구조를 확보해 exact inference를 O(N2T)에 하지만 long-range dependency를 놓친다. Transformer는 Markov 가정 없이 모든 이전 position에 접근하지만 factor graph가 더 이상 tree가 아니어서 exact inference가 지수적이다 — attention 자체가 softmax로 구현된 approximate marginal이다.
⚠ Viterbi의 MAP ≠ 각 시점의 posterior argmax
같은 모델에서도 무엇을 최적화하느냐에 따라 답이 달라진다. 전역 MAP sequence가 필요하면 Viterbi, 각 시점의 posterior marginal이 필요하면 Forward-Backward. Beam search는 Viterbi의 approximate 버전 (k-best partial path 유지)으로, NMT에서 Markov 가정 없는 Transformer에 exact Viterbi가 불가능하기 때문에 사용한다.
정리
HMM의 factor graph는 tree다. Tree에서 sum-product는 exact하고, 그것이 Forward-Backward다.
sum → max 치환 하나로 Forward-Backward가 Viterbi가 된다. Semiring 교체가 알고리즘을 교체한다.