8.51 은닉 마르코프 모델(HMM)의 구조와 원리

8.51 은닉 마르코프 모델(HMM)의 구조와 원리

1. 은닉 마르코프 모델의 개요

은닉 마르코프 모델(Hidden Markov Model, HMM)은 관측 불가능한 상태가 마르코프 체인을 따라 전이하고, 각 상태에서 관측 가능한 출력이 확률적으로 생성되는 이중 확률 과정 모델이다. “은닉“이란 참 상태가 직접 관측되지 않고 관측값을 통해서만 간접적으로 추론 가능함을 의미한다.

2. HMM의 구성 요소

HMM은 다음의 다섯 요소로 완전히 기술된다: \lambda = (\mathbf{S}, \mathbf{O}, \mathbf{A}, \mathbf{B}, \boldsymbol{\pi})

2.1 상태 집합

\mathbf{S} = \{s_1, s_2, \ldots, s_N\}: N개의 은닉 상태

2.2 관측 집합

\mathbf{O} = \{o_1, o_2, \ldots, o_M\}: M개의 가능한 관측 기호 (이산 HMM) 또는 연속 관측 공간 (연속 HMM)

2.3 상태 전이 확률 \mathbf{A}

A_{ij} = P(q_{t+1} = s_j \vert q_t = s_i)

은닉 상태 간의 마르코프 전이 확률 행렬. 시간 동질 가정하에서 t에 무관하다.

2.4 관측 확률(방출 확률) \mathbf{B}

B_i(k) = P(\mathbf{o}_t = v_k \vert q_t = s_i)

(이산 HMM). 연속 관측의 경우 상태 s_i에서의 관측 분포 b_i(\mathbf{o}) = p(\mathbf{o} \vert q = s_i)로 대체된다. 통상 가우시안 혼합으로 모델링된다.

2.5 초기 상태 분포 \boldsymbol{\pi}

\pi_i = P(q_1 = s_i)

3. HMM의 생성 모델

HMM으로부터 관측 시퀀스 \mathbf{o}_{1:T}를 생성하는 과정:

  1. 초기 상태 q_1 \sim \boldsymbol{\pi}
  2. 관측 \mathbf{o}_1 \sim p(\mathbf{o} \vert q_1)
  3. 다음 상태 q_2 \sim P(q \vert q_1) (행 A_{q_1, \cdot})
  4. 관측 \mathbf{o}_2 \sim p(\mathbf{o} \vert q_2)
  5. 이 과정을 T까지 반복

4. HMM의 세 가지 기본 문제

래빈너(Rabiner, 1989)에 의해 HMM의 세 가지 기본 문제가 체계화되었다.

4.1 문제 1: 평가(Evaluation)

주어진 모델 \lambda와 관측 시퀀스 \mathbf{o}_{1:T}에 대해, 관측의 가능도 P(\mathbf{o}_{1:T} \vert \lambda)를 계산하는 문제이다.

전방 알고리즘(Forward Algorithm): 전방 변수 \alpha_t(i) = P(\mathbf{o}_{1:t}, q_t = s_i \vert \lambda)를 정의하고 재귀적으로 계산한다.

\alpha_1(i) = \pi_i b_i(\mathbf{o}_1)

\alpha_{t+1}(j) = \left[\sum_{i=1}^{N}\alpha_t(i)A_{ij}\right]b_j(\mathbf{o}_{t+1})

P(\mathbf{o}_{1:T} \vert \lambda) = \sum_{i=1}^{N}\alpha_T(i)

계산 복잡도: O(N^2T).

4.2 문제 2: 디코딩(Decoding)

주어진 관측 시퀀스에 대해 가장 가능성이 높은 상태 시퀀스를 구하는 문제이다.

\hat{\mathbf{q}}_{1:T} = \arg\max_{\mathbf{q}_{1:T}}P(\mathbf{q}_{1:T} \vert \mathbf{o}_{1:T}, \lambda)

비터비(Viterbi) 알고리즘: 동적 계획법에 의해 O(N^2T)에 해결한다.

\delta_t(i) = \max_{\mathbf{q}_{1:t-1}}P(\mathbf{q}_{1:t-1}, q_t = s_i, \mathbf{o}_{1:t} \vert \lambda)

\delta_{t+1}(j) = \left[\max_i \delta_t(i)A_{ij}\right]b_j(\mathbf{o}_{t+1})

역추적(backtracking)으로 최적 상태 시퀀스를 복원한다.

4.3 문제 3: 학습(Learning)

관측 시퀀스로부터 모델 매개변수 \lambda를 추정하는 문제이다.

바움-웰치(Baum-Welch) 알고리즘: EM 알고리즘의 HMM 특화 버전이다.

  • E 단계: 전방-후방 알고리즘으로 상태 사후 확률 \gamma_t(i) = P(q_t = s_i \vert \mathbf{o}_{1:T})와 쌍 확률 \xi_t(i, j) = P(q_t = s_i, q_{t+1} = s_j \vert \mathbf{o}_{1:T})를 계산한다.
  • M 단계: 매개변수를 갱신한다.

\hat{\pi}_i = \gamma_1(i), \quad \hat{A}_{ij} = \frac{\sum_{t=1}^{T-1}\xi_t(i, j)}{\sum_{t=1}^{T-1}\gamma_t(i)}

5. 로봇 공학에서의 HMM 응용

5.1 활동 인식(Activity Recognition)

로봇의 작업 시퀀스(이동, 파지, 배치 등)가 은닉 상태로 모델링되고, 센서 관측(영상, 힘/토크)이 관측 시퀀스가 된다. 관측 데이터로부터 현재 활동 상태를 디코딩한다.

5.2 제스처 인식

인간의 제스처가 HMM의 상태 시퀀스로 모델링되며, 손 관절 궤적이나 영상 특징이 관측이다. 로봇-인간 상호 작용에서 제스처 명령 인식에 활용된다.

5.3 고장 진단(Fault Diagnosis)

로봇의 건강 상태(정상, 초기 고장, 심각 고장)가 은닉 상태로 표현되고, 센서 데이터(진동, 온도, 전류)가 관측된다. HMM이 현재 건강 상태를 추정하여 예지 정비를 지원한다.

5.4 지도 매칭(Map Matching)

이동 로봇이 지도상의 특정 영역에 있는지를 추정하는 문제에서 영역이 은닉 상태이고 센서 관측이 HMM의 관측이다.

6. 참고 문헌

  • Rabiner, L. R. (1989). “A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition.” Proceedings of the IEEE, 77(2), 257–286.
  • Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.
  • Thrun, S., Burgard, W., & Fox, D. (2005). Probabilistic Robotics. MIT Press.
  • Cappé, O., Moulines, E., & Rydén, T. (2005). Inference in Hidden Markov Models. Springer.

version: 1.0