8.52 HMM의 전향-후향 알고리즘
1. 전향-후향 알고리즘의 목적
전향-후향 알고리즘(Forward-Backward Algorithm)은 은닉 마르코프 모델(HMM)에서 관측 시퀀스가 주어졌을 때 각 시각의 상태 사후 확률을 효율적으로 계산하는 동적 계획법이다. HMM의 평가 문제와 학습 문제(바움-웰치 알고리즘)의 핵심 구성 요소이다.
2. 전방 변수(Forward Variable)
시각 t까지의 관측 시퀀스 \mathbf{o}_{1:t}가 관측되고 현재 상태가 s_i일 결합 확률을 전방 변수로 정의한다.
\alpha_t(i) = P(\mathbf{o}_{1:t}, q_t = s_i \vert \lambda)
2.1 재귀 공식
초기화:
\alpha_1(i) = \pi_i b_i(\mathbf{o}_1), \quad 1 \leq i \leq N
재귀: 시각 t에서 t+1로:
\alpha_{t+1}(j) = \left[\sum_{i=1}^{N}\alpha_t(i)A_{ij}\right]b_j(\mathbf{o}_{t+1}), \quad 1 \leq j \leq N
종료: 관측 시퀀스의 가능도:
P(\mathbf{o}_{1:T} \vert \lambda) = \sum_{i=1}^{N}\alpha_T(i)
2.2 직관적 해석
\alpha_t(i)는 “시각 t까지의 관측을 설명하면서 현재 상태 s_i에 있을 확률“이다. 재귀식은 “다음 상태 s_j로 전이할 수 있는 모든 이전 상태 s_i의 \alpha 값과 전이/관측 확률의 곱의 합“을 나타낸다.
3. 후방 변수(Backward Variable)
시각 t에 상태 s_i에 있을 때, 시각 t+1부터 T까지의 미래 관측 시퀀스가 발생할 조건부 확률을 후방 변수로 정의한다.
\beta_t(i) = P(\mathbf{o}_{t+1:T} \vert q_t = s_i, \lambda)
3.1 재귀 공식
초기화:
\beta_T(i) = 1, \quad 1 \leq i \leq N
재귀: 시각 t+1에서 t로(시간 역방향):
\beta_t(i) = \sum_{j=1}^{N}A_{ij}b_j(\mathbf{o}_{t+1})\beta_{t+1}(j), \quad 1 \leq i \leq N
4. 상태 사후 확률(Posterior Probability)
전방 변수와 후방 변수를 결합하면 각 시각의 상태 사후 확률이 얻어진다.
\gamma_t(i) = P(q_t = s_i \vert \mathbf{o}_{1:T}, \lambda) = \frac{\alpha_t(i)\beta_t(i)}{\sum_{j=1}^{N}\alpha_t(j)\beta_t(j)} = \frac{\alpha_t(i)\beta_t(i)}{P(\mathbf{o}_{1:T} \vert \lambda)}
이는 전체 관측 시퀀스가 주어졌을 때 시각 t의 상태가 s_i일 확률이다. 필터링 P(q_t \vert \mathbf{o}_{1:t})이 현재까지의 관측만을 사용하는 반면, 평활화(smoothing) P(q_t \vert \mathbf{o}_{1:T})는 미래 관측까지 활용하여 더 정확한 추정을 제공한다.
5. 쌍 확률(Pair Posterior)
시각 t와 t+1의 상태 쌍에 대한 사후 확률:
\xi_t(i, j) = P(q_t = s_i, q_{t+1} = s_j \vert \mathbf{o}_{1:T}, \lambda)
\xi_t(i, j) = \frac{\alpha_t(i)A_{ij}b_j(\mathbf{o}_{t+1})\beta_{t+1}(j)}{\sum_{k=1}^{N}\sum_{l=1}^{N}\alpha_t(k)A_{kl}b_l(\mathbf{o}_{t+1})\beta_{t+1}(l)}
\xi_t(i, j)는 바움-웰치 알고리즘에서 전이 확률 갱신에 사용된다.
6. 계산 복잡도
전방 변수와 후방 변수의 재귀적 계산은 각각 O(N^2T)의 계산 복잡도를 갖는다. 단순 무차별 대입(모든 상태 시퀀스 열거)의 O(N^T)와 비교하면 현저한 효율성 향상이다.
7. 수치적 안정성 고려
전방/후방 변수는 시간에 따라 확률의 곱이 누적되어 매우 작은 값이 되므로 수치적 언더플로(underflow)가 발생한다. 이를 해결하기 위한 방법:
7.1 스케일링(Scaling)
매 시각마다 전방/후방 변수를 정규화한다.
\tilde{\alpha}_t(i) = \frac{\alpha_t(i)}{c_t}, \quad c_t = \sum_{j=1}^{N}\alpha_t(j)
로그 가능도는 스케일링 상수로부터 복원된다.
\ln P(\mathbf{o}_{1:T} \vert \lambda) = \sum_{t=1}^{T}\ln c_t
7.2 로그 도메인 계산
모든 확률을 로그 도메인에서 계산하며, 합은 log-sum-exp 기법으로 수행한다.
\ln(a + b) = \ln a + \ln(1 + e^{\ln b - \ln a})
8. 바움-웰치 알고리즘에서의 활용
전방-후방 알고리즘이 제공하는 \gamma_t(i)와 \xi_t(i, j)는 바움-웰치의 M 단계에서 HMM 매개변수 갱신에 직접 사용된다.
\hat{A}_{ij} = \frac{\sum_{t=1}^{T-1}\xi_t(i, j)}{\sum_{t=1}^{T-1}\gamma_t(i)}, \quad \hat{\pi}_i = \gamma_1(i)
관측 확률 갱신은 관측 기호의 분포에 따라 계산된다(이산 또는 연속).
9. 로봇 공학에서의 응용
상태 평활화: 오프라인 분석에서 전방-후방 알고리즘에 의한 평활화는 필터링보다 정확한 상태 추정을 제공한다. 사후 경로 분석, 오류 진단 등에 활용된다.
학습 기반 인식기: 활동 인식, 제스처 분류, 음성 인식 등의 HMM 기반 분류기 학습에 바움-웰치 알고리즘이 사용되며, 그 핵심이 전방-후방 알고리즘이다.
10. 참고 문헌
- Rabiner, L. R. (1989). “A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition.” Proceedings of the IEEE, 77(2), 257–286.
- Baum, L. E., Petrie, T., Soules, G., & Weiss, N. (1970). “A Maximization Technique Occurring in the Statistical Analysis of Probabilistic Functions of Markov Chains.” The Annals of Mathematical Statistics, 41(1), 164–171.
- Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.
version: 1.0