1. 개요[편집]
은닉 마르코프 모형(Hidden Markov Model, HMM)은 직접 볼 수 없는 이산 상태가 마르코프 연쇄를 따라 전이하고, 각 시점의 상태가 확률적으로 관측을 내놓는다고 가정하는 확률 모형이다. 우리가 보는 것은 관측열 뿐이고, 그 뒤에 숨은 상태열 은 추론의 대상이다.
모형은 삼중항 로 완전히 정해진다.
- 전이행렬 , — 행 합이 1인 확률행렬.
- 방출행렬(또는 방출분포) , .
- 초기분포 .
여기에 두 개의 독립성 가정이 얹힌다. 상태는 1차 마르코프 성질( 은 에만 의존)을 만족하고, 관측은 현재 상태가 주어지면 조건부 독립이다. 이 두 가정 덕분에 개의 상태열을 일일이 세는 대신 짜리 동적 계획으로 모든 계산이 끝난다. 즉 HMM의 실용성은 모형의 표현력이 아니라 가정이 만들어준 계산 구조에서 나온다.1
2. 세 가지 기본 문제[편집]
라비너(Rabiner)의 고전적 튜토리얼은 HMM으로 할 수 있는 일을 세 문제로 정리했다.2
| 문제 | 묻는 것 | 알고리즘 | 복잡도 |
|---|---|---|---|
| 평가 (evaluation) | — 이 모형이 이 관측을 낼 확률 | 전방 알고리즘 | |
| 복호 (decoding) | 가장 그럴듯한 상태열 | 비터비 알고리즘 | |
| 학습 (learning) | 바움-웰치 (EM) | 반복당 |
평가는 분류에 쓴다. 단어별로 HMM을 하나씩 학습해 두고, 입력 음성에 대해 가 가장 큰 를 고르는 식. 복호는 “어느 구간이 어느 음소였나”, “어느 염기 구간이 유전자였나” 같은 분절(segmentation)에 쓴다. 학습은 레이블 없는 관측열만으로 , 를 추정하는 비지도 문제다.
3. 전방-후방 알고리즘과 스케일링[편집]
전방 변수를 로 정의하면 다음 재귀가 성립한다.
마지막에 . 대칭적으로 후방 변수 도 뒤에서부터 재귀로 채운다.
두 변수를 곱하면 임의 시점의 사후 상태확률이 나온다. .
여기서 반드시 짚고 넘어가야 할 실무 함정이 스케일링이다. 는 확률을 번 곱한 값이라 가 수백만 되면 배정밀도 하한()을 뚫고 0으로 언더플로한다. 관측이 1000프레임짜리 음성 한 문장만 돼도 그냥 죽는다. 해법은 둘 중 하나다.
- 정규화 스케일링 — 매 시점 로 정규화해 를 들고 다니고, 마지막에 로 복원한다. 에도 같은 를 곱해두면 바움-웰치의 재추정식에서 스케일 인자가 분자·분모에서 정확히 상쇄돼 보정이 필요 없다.
- 로그 도메인 계산 — 전부 로그로 두고 합을 로 처리한다. 코드가 단순하고 수치적으로 견고하지만 지수·로그 호출이 붙어 느리다.
부동소수점 연산의 한계를 정면으로 만나는 대표적 사례라, HMM 구현에서 “결과가 전부 NaN”의 8할은 이 지점이다.
4. 바움-웰치 — EM으로 배우기[편집]
상태를 못 보는 채로 , 를 추정해야 하니 기댓값 최대화 알고리즘(EM)을 쓴다. HMM 버전을 바움-웰치 알고리즘이라 부르며, EM이 이름을 얻기 전에 이미 완성돼 있었다.3
E-단계에서는 현재 파라미터로 전방-후방을 돌려 사후 통계량을 구한다. 상태 점유확률 와 전이 짝 확률
M-단계는 이 기대 카운트로 그냥 비율을 다시 잡는 것이다.
“상태 에서 나간 전이 중 로 간 비율”이라는, 상태를 볼 수 있었다면 최대우도 추정으로 썼을 바로 그 식에 기대 카운트를 꽂은 형태다. EM의 일반 성질에 따라 우도는 반복마다 단조 증가하지만, 도달하는 곳은 지역 최적해다. 초기값과 상태 수 에 결과가 크게 좌우되므로 다중 초기화·k-평균 초기화가 관례이고, 은 BIC 같은 정보기준이나 검증 우도로 고른다.4 데이터가 부족하면 관측되지 않은 전이의 확률이 정확히 0으로 박혀 영영 복구되지 않으므로, 평활화(smoothing)나 디리클레 사전분포를 얹는다.
복호 문제는 비터비 알고리즘이 담당한다 — 합 대신 최대, 그리고 역추적 포인터라는 한 끗 차이로 전방 재귀가 최적 경로 탐색이 된다는 것이 요점이고, 자세한 내용은 해당 문서로.
5. 연속 관측과 모형 구조[편집]
관측이 이산 심볼이 아니라 실수 벡터(예: 음성의 MFCC 13차원)이면 방출분포를 가우시안 혼합 모형으로 둔다.
이것이 GMM-HMM이며, 2010년대 초까지 음성인식의 표준이었다. 파라미터가 폭증하므로 공분산을 대각행렬로 제한하는 것이 거의 국룰이고, 그 대가로 특징벡터를 미리 주성분 분석류 변환으로 탈상관시켜 둔다. 이후 GMM 자리를 신경망 사후확률로 대체한 DNN-HMM 하이브리드가 성능을 크게 끌어올렸는데, 여기서도 전이 구조와 정렬(alignment)은 여전히 HMM이 담당했다.
구조 측면에서는 전이행렬에 0을 박아 위상을 제약하는 설계가 흔하다. 음성·필기·공정 진행처럼 시간이 되돌아가지 않는 현상에는 인 좌-우(left-to-right) 모형을 쓴다. 자유 파라미터가 줄어 학습이 안정되고, 물리적으로 불가능한 경로를 아예 배제한다.
6. 상태공간 모형 계보에서의 위치[편집]
HMM은 더 큰 가족의 한 구성원이다. 잠재 상태가 마르코프 전이를 하고 관측이 상태에 조건부 독립인 구조를 상태공간 모형이라 부르는데, 상태의 성질에 따라 이름이 갈린다.
| 잠재 상태 | 전이·관측 | 정확 추론 | 이름 |
|---|---|---|---|
| 이산 유한 | 임의 | 전방-후방 (합) | 은닉 마르코프 모형 |
| 연속 | 선형 + 가우시안 | 닫힌 형태 재귀 | 칼만 필터 |
| 연속 | 비선형 · 비가우시안 | 불가 → 표본 근사 | 입자 필터 |
세 경우 모두 하는 일은 같다. 예측 단계에서 전이모형으로 사전분포를 밀고, 갱신 단계에서 관측 우도로 베이즈 보정한다. HMM의 전방 재귀에서 합을 적분으로 바꾸고 모든 분포를 가우시안으로 두면 그대로 칼만 필터의 예측-갱신 식이 되고, 전방-후방은 RTS 평활자에 대응한다. 적분이 닫히지 않는 일반 비선형계에서는 분포를 입자 집합으로 근사하는 입자 필터로 간다. 이 계보는 자료동화와 센서 융합에서 실제로 나란히 쓰인다.
여기에 행동과 보상을 얹으면 부분관측 마르코프 결정 과정이 된다. 즉 POMDP의 추론 엔진 부분이 정확히 HMM이고, 그 위에 최적 정책 문제가 하나 더 올라앉은 구조다.
7. 응용[편집]
- 음성인식 — 음소마다 3상태 좌-우 HMM을 두고 이어 붙여 단어·문장 모형을 만든다. 프레임 길이 가변성을 상태 자기전이 로 자연스럽게 흡수하는 것이 결정적 장점이었다. 종단간 신경망에 자리를 내준 지금도 강제 정렬(forced alignment) 도구로 현역이다.
- 생물서열 분석 — 프로파일 HMM(삽입·삭제·매치 상태)으로 단백질 패밀리를 모형화하고, 유전자 예측에서 엑손/인트론 구간을 복호한다. Pfam·HMMER 생태계가 여기서 나왔다.
- 상태 기반 고장진단 — 회전기계나 공구의 마모를 “정상 → 초기 열화 → 진행 → 고장” 같은 은닉 상태로 두고 진동 신호를 관측으로 삼는다. 좌-우 구조가 열화의 비가역성과 잘 맞아서 잔여수명(RUL) 추정에 쓰인다. 회전체 동역학 모형과 결합하면 물리 기반 특징을 관측으로 넣을 수도 있다.
- 금융·기후 체제 전환 — 변동성 국면이나 기후 레짐을 은닉 상태로 잡는 체제 전환 모형.
한계도 분명하다. 상태 지속시간이 자기전이 확률에 의해 기하분포로 강제되는데, 이게 실제 현상과 안 맞는 경우가 많다(그래서 명시적 지속시간을 두는 HSMM이 나왔다). 1차 마르코프 가정도 장거리 의존성을 못 잡는다. 그럼에도 HMM이 살아남은 이유는 해석 가능한 상태, 정확한 추론, 적은 데이터로도 도는 학습이라는 조합이 여전히 희소하기 때문이다.
8. 관련 문서[편집]
- 비터비 알고리즘 · 마르코프 결정 과정
- 칼만 필터 · 입자 필터 · 앙상블 칼만 필터
- 부분관측 마르코프 결정 과정
- 자료동화 · 센서 융합
- 몬테카를로 방법 · 주성분 분석
- 부동소수점 연산 · 동적 계획법
- 기댓값 최대화 알고리즘 · 가우시안 혼합 모형
9. Footnotes[편집]
-
반대로 말하면, 이 두 가정이 깨지는 순간 HMM의 매력은 대부분 증발한다. “우리 데이터는 마르코프가 아닌데요?”라는 질문에 대한 정직한 답은 “네, 그런데 그렇게 가정하면 풀리거든요”다. V&V 정신으로는 이 가정 자체를 검증 항목에 올려야 한다. ↩
-
라비너의 1989년 Proceedings of the IEEE 튜토리얼은 인용 수만 수만 회인 전설의 문서다. 음성 전공자가 아니어도 HMM을 쓰려면 결국 이 논문을 읽게 되는데, 스케일링을 다룬 절만 제대로 읽어도 밤샘 디버깅 몇 번을 아낀다. ↩
-
바움과 동료들이 1960년대 후반에 발표한 이 알고리즘은 뎀스터 등의 EM 논문(1977)보다 10년쯤 빠르다. 특수해가 일반론보다 먼저 나오는 건 응용수학의 흔한 순서다. ↩
-
상태 수 을 늘리면 우도는 계속 올라간다. 그래서 “우도가 더 높으니 이 모형이 낫다”는 주장은 상태 수가 같을 때만 유효하다. BIC 페널티 를 빼먹고 상태 30개짜리 모형을 자랑하는 발표를 가끔 본다. ↩