Sequence labeling problem을 해결하는 모델 중 초기 모델인 Hidden markov model에 대해 정리한다. HMM을 설명하기 위한 기본 개념에서 벗어나지 않도록 작성한 자료이다.
- Markov chain
- Markov assumption
- Hidden markov model
- HMM training: forward-backward algorithm
- HMM likelihood computation
- HMM decoding: viterbi algorithm
3. Sequence Labeling Problem
- 문제를 해결하기 위한 모델
HMM
Hidden
Markov Model
CRFs
Continuous
Random Fields
RNN
Recurrent
Neural Network
LSTM
Long Short-
Term Memory
4. Sequence Labeling Problem
- 문제를 해결하기 위한 모델
HMM
Hidden
Markov Model
CRFs
Continuous
Random Fields
RNN
Recurrent
Neural Network
LSTM
Long Short-
Term Memory
5. 참고 자료
• D. Jurafsky and J. Martin, “Part-of-Speech Tagging,”
in Speech and Language Processing, 2019.
https://web.stanford.edu/~jurafsky/slp3/8.pdf
• D. Jurafsky and J. Martin, “Hidden Markov Models,”
in Speech and Language Processing, 2019.
https://web.stanford.edu/~jurafsky/slp3/A.pdf
7. Markov Chain
State sequence 생성을
확률적으로 표현하는 모델
State transition에 대한 가정이 있음
HMM은 Markov Chain을 확장한 모델
단어, 태그, 기호 등이
될 수 있음 (예. 품사)
Markov Assumption
8. Markov Assumption
미래는 현재에만 영향을 받고
과거에는 영향을 받지 않는다
바로 직전의 State에만 영향을 받는다
𝑃 𝑞𝑖 = 𝑎 𝑞1, 𝑞2, … , 𝑞𝑖−1 = 𝑃(𝑞𝑖 = 𝑎|𝑞𝑖−1)
시간 i 시점의 State
9. Markov Assumption
미래는 현재에만 영향을 받고
과거에는 영향을 받지 않는다
바로 직전의 State에만 영향을 받는다
𝑃 𝑞𝑖 = 𝑎 𝑞1, 𝑞2, … , 𝑞𝑖−1 = 𝑃(𝑞𝑖 = 𝑎|𝑞𝑖−1)
미래 과거 현재
10. Markov Chain
Markov Chain의 구성 요소
Q = 모든 State의 집합
A = Transition probability matrix
(State 사이의 Transition 확률)
π = Initial probability distribution
(State 초기 확률)
11. Markov Chain
Markov Chain 그림 예시
Q = 모든 State의 집합 = {HOT, COLD, WARM}
A = Transition probability matrix =
.6 .1 .3
.3 .8 .1
.3 .1 .6
π = Initial probability distribution
→ 그림에는 표현 안됨
𝑞1 𝑞2 𝑞3
12. Hidden Markov Model(HMM)
Observation sequence에 따른
State sequence 생성을
확률적으로 표현하는 모델
State → (Observation, State)
Observation sequence의 등장에
맞춰 가정이 확장됨
13. Hidden Markov Model(HMM)
Observation sequence에 따른
State sequence 생성을
확률적으로 표현하는 모델
State → (Observation, State)
Observation sequence의 등장에
맞춰 가정이 확장됨
Markov Chain
State sequence 생성을
확률적으로 표현하는 모델
14. HMM - Assumptions
Observation은 같은 시간의 State에만 영향을 받는다
𝑃 𝑞𝑖 = 𝑎 𝑞1, 𝑞2, … , 𝑞𝑖−1 = 𝑃(𝑞𝑖 = 𝑎|𝑞𝑖−1)
𝑃 𝑜𝑖 𝑞1, … , 𝑞𝑖, … , 𝑞 𝑇, 𝑜1, … , 𝑜𝑖, … , 𝑜 𝑇 = 𝑃(𝑜𝑖|𝑞𝑖)
Markov Assumption
Output Independence
미래는 현재에만 영향을 받고
과거에는 영향을 받지 않는다
바로 직전의 State에만 영향을 받는다
15. HMM
Hidden Markov Model의 구성 요소
Q = 모든 State의 집합
A = Transition probability matrix
(State 사이의 Transition 확률)
O = Observation sequence
B = Observation likelihood matrix
(State에서 Observation이
발생할 확률)
π = Initial probability
distribution(State 초기 확률)
. 𝝀 = 𝑨, 𝑩 = HMM
→ HMM이 학습할 대상이자, HMM
자체를 표현하는 기호
16. HMM
Hidden Markov Model 그림 예시 (Observation = 팔린 아이스크림의 개수)
Q = 모든 State의 집합 = {HOT, COLD}
A = Transition probability matrix
=
.6 .4
.5 .5
O = Observation sequence
→ 그림에는 표현 안됨
B = Observation likelihoods =
.2 .5
.4 .4
.4 .1
π = Initial probability distribution
= .8 .2
팔린 아이스크림의 개수
𝑞1
𝑞2
17. HMM – Three Problems
1. Training: HMM 𝜆를 학습
2. Likelihood: Observation sequence O의 Likelihood를 계산
3. Decoding: 가장 높은 가능성의 Hidden state sequence Q를 찾는 작업
Q = 모든 State의 집합
A = Transition probability matrix
(State 사이의 Transition 확률)
O = Observation sequence
B = Observation likelihood matrix
(State에서 Observation이
발생할 확률)
π = Initial probability
distribution(State 초기 확률)
. 𝜆 = 𝐴, 𝐵 = HMM
→ HMM이 학습할 대상이자,
HMM 자체를 표현하는 기호
18. HMM Training
• Training의 목표
• HMM 𝜆를 최적화하는 것
즉, 𝝀 = (𝑨, 𝑩)이기 때문에 A, B를 최적화하는 것
• Transition probability matrix A 학습 방법
• 𝑎 𝑖𝑗 =
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 𝑆𝑡𝑎𝑡𝑒 𝑞 𝑗로의 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 시작한 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수
• Observation Likelihood Matrix B 학습 방법
• 𝛽𝑗(𝑣 𝑘) =
𝑆𝑡𝑎𝑡𝑒 𝑞 𝑖일 때 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛 𝑣 𝑘가 등장한 횟수
𝑆𝑡𝑎𝑡𝑒 𝑞 𝑖 등장 횟수
• 각 시간에서의
확률 또는 횟수를 측정하여
합계를 하여 산출
V: Observation의 Vocabulary
확률인 경우, Joint probability
Q = 모든 State의 집합
A = Transition probability matrix
(State 사이의 Transition 확률)
O = Observation sequence
B = Observation likelihood matrix
(State에서 Observation이
발생할 확률)
π = Initial probability
distribution(State 초기 확률)
. 𝜆 = 𝐴, 𝐵 = HMM
→ HMM이 학습할 대상이자,
HMM 자체를 표현하는 기호
19. HMM Training
학습 데이터에 따른 진행 과정
1. Observation sequence, State vocabulary
+ State sequence를 알고 있을 때
• 쉬움, 학습 데이터에서 Observation과
State의 등장빈도를 통해 A, B를 추정
• 예시. 세종 형태분석 말뭉치를 사용한 학습
2. Observation sequence, State vocabulary
만 알고 있을 때
• 어려움, 각 시간마다 확률을 계산, 수렴할
때까지 반복하며 A, B를 업데이트
• Real HMM
20. HMM Training
– State Sequence도 알고 있을 때
학습 데이터에서 Observation과 State의 등장빈도를 통해 추정
𝛽𝑗 𝑣 𝑘 =
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖일 때 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛 𝑣 𝑘가 등장한 횟수
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖 등장 횟수
=
𝐶𝑜𝑢𝑛𝑡((𝑞𝑖, 𝑣 𝑘))
𝐶𝑜𝑢𝑛𝑡(𝑞𝑖)
𝑎𝑖𝑗 =
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 𝑆𝑡𝑎𝑡𝑒 𝑞 𝑗로의 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 시작한 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수
=
𝐶𝑜𝑢𝑛𝑡(𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 𝑞𝑖 → 𝑞 𝑗)
𝐶𝑜𝑢𝑛𝑡(𝑞𝑖)
Q = 모든 State의 집합
A = Transition probability matrix
(State 사이의 Transition 확률)
O = Observation sequence
B = Observation likelihood matrix
(State에서 Observation이
발생할 확률)
π = Initial probability
distribution(State 초기 확률)
. 𝜆 = 𝐴, 𝐵 = HMM
→ HMM이 학습할 대상이자,
HMM 자체를 표현하는 기호
21. 𝛽𝑗 𝑣 𝑘 =
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖일 때 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛 𝑣 𝑘가 등장한 횟수
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖 등장 횟수
=
𝐶𝑜𝑢𝑛𝑡((𝑞𝑖, 𝑣 𝑘))
𝐶𝑜𝑢𝑛𝑡(𝑞𝑖)
𝑎𝑖𝑗 =
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 𝑆𝑡𝑎𝑡𝑒 𝑞 𝑗로의 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 시작한 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수
=
𝐶𝑜𝑢𝑛𝑡 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 𝑞𝑖 → 𝑞 𝑗
𝐶𝑜𝑢𝑛𝑡 𝑞𝑖
HMM Training
– State Sequence도 알고 있을 때
학습 방법 예시
(한 문장만 학습,
띄어쓰기 특별처리 없이)
• 세종 형태분석 말뭉치
NNG NNB JKS VCP EF SP SF
<s> 1/1
NNG 4/9 1/9 1/9 1/9 2/9
NNB 1/1
JKS 1/1
VCP 1/1
EF 1/1
SP 2/2
SF
빙수기 , 샤베트기 얼음 물통 등 ... 이 인기 다 .
NNG 1/9 1/9 1/9 1/9 1/9
NNB 1/1
JKS 1/1
VCP 1/1
EF 1/1
SP 2/2
SF 1/1
• 학습 데이터
• Transition probability matrix A
• Observation likelihood matrix B
NNG에서 시작하는 Transition 수 = 9개
NNG → NNG Transition 수 = 4개
NNG 등장 횟수 = 9개
(NNG, 샤베트기) 등장 횟수 = 1개
22. 각 시간마다 확률을 계산, 수렴할 때까지 반복
HMM Training – Real HMM
𝑎𝑖𝑗 =
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 𝑆𝑡𝑎𝑡𝑒 𝑞 𝑗로의 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 시작한 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수
=
𝑡=1
𝑇−1
𝜉𝑡 𝑖, 𝑗
𝑡=1
𝑇−1
𝑘=1
𝑁
𝜉𝑡 𝑖, 𝑘
𝛽𝑗 𝑣 𝑘 =
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖일 때 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛 𝑣 𝑘가 등장한 횟수
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖 등장 횟수
=
𝑡=1 𝑠.𝑡.𝑂𝑡=𝑣 𝑘
𝑇
𝛾𝑡 𝑗
𝑡=1
𝑇
𝛾𝑡 𝑗
𝝃𝒕 𝒊, 𝒋 = 𝑷 𝒒 𝒕 = 𝒊, 𝒒 𝒕+𝟏 = 𝒋 𝑶, 𝝀
𝜸 𝒕 𝒋 = 𝑷(𝒒 𝒕 = 𝒋|𝑶, 𝝀)
• Transition Probability Matrix A
• Observation Likelihood Matrix B
23. HMM Training – Real HMM
각 시간마다 확률을 계산, 수렴할 때까지 반복
𝑎𝑖𝑗 =
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 𝑆𝑡𝑎𝑡𝑒 𝑞 𝑗로의 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖에서 시작한 𝑇𝑟𝑎𝑛𝑠𝑖𝑡𝑖𝑜𝑛 횟수
=
𝑡=1
𝑇−1
𝜉𝑡 𝑖, 𝑗
𝑡=1
𝑇−1
𝑘=1
𝑁
𝜉𝑡 𝑖, 𝑘
𝛽𝑗 𝑣 𝑘 =
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖일 때 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛 𝑣 𝑘가 등장한 횟수
𝑆𝑡𝑎𝑡𝑒 𝑞𝑖 등장 횟수
=
𝑡=1 𝑠.𝑡.𝑂𝑡=𝑣 𝑘
𝑇
𝛾𝑡 𝑗
𝑡=1
𝑇
𝛾𝑡 𝑗
𝝃𝒕 𝒊, 𝒋 = 𝑷 𝒒 𝒕 = 𝒊, 𝒒 𝒕+𝟏 = 𝒋 𝑶, 𝝀
𝜸 𝒕 𝒋 = 𝑷(𝒒 𝒕 = 𝒋|𝑶, 𝝀)
시간 t→t+1로 변화 시,
State 𝒒𝒊→𝒒𝒋로 Transition할 확률
시간 t→t+1로 변화 시,
State 𝑞𝑖에서 시작하는 모든
Transition의 확률 합계
모든 시간에 대해 합계
• Transition Probability Matrix A
• Observation Likelihood Matrix B
모든 시간에 대해 합계
모든 시간 중 Observation 𝑣 𝑘일 때,
(s.t. = such that, 다음과 같은)
시간 t에 State 𝒒𝒋일 확률
24. HMM Training – Real HMM
𝜉𝑡 𝑖, 𝑗 = 𝑃 𝑞𝑡 = 𝑖, 𝑞𝑡+1 = 𝑗 𝑂, 𝜆
𝛾𝑡 𝑗 = 𝑃(𝑞𝑡 = 𝑗|𝑂, 𝜆)
• Q: 아래 식을 어떻게 구하는가? • A
Forward-Backward Algorithm
25. HMM Training
– Real HMM – Forward-Backward Algorithm
• Forward-Backward Algorithm
= Forward Algorithm + Backward Algorithm
• 두 알고리즘 모두 시간 t에 State 𝒒𝒋일 때의 Observation likelihood를 계산
• Forward Algorithm은 시작 시간부터 시간 t까지의 Observation sequence에 대한
Likelihood를 계산
• Backward Algorithm은 시간 t+1부터 종료 시간까지 Observation sequence에 대해
Likelihood를 계산
26. HMM Training
– Real HMM – Forward-Backward Algorithm
Forward-Backward Algorithm 예시
27. HMM Training
– Real HMM – Forward-Backward Algorithm
Forward-Backward Algorithm 예시
Forward Algorithm 𝛼 𝑡 𝑗 = State 𝑠𝑗일 때,
Observation sequence 𝑜1, … , 𝑜𝑡의
Likelihood를 계산
Backward Algorithm 𝛽𝑡 𝑗 = State 𝑠𝑗일 때,
Observation sequence 𝑜𝑡+1, … , 𝑜 𝑇의
Likelihood를 계산
State 𝑠𝑗,
Time 𝑡
35. HMM Likelihood Computation
HMM 𝜆을 사용하여
Observation sequence의 등장 확률.
즉, 𝑷(𝑶|𝝀)를 구하는 것
Forward Algorithm을 사용하여 구해주면 됨
HMM Training 설명에서
이미 포함된 내용이므로 넘어감
36. HMM Decoding
HMM 𝜆와 Observation sequence에 따른
Hidden state sequence를 찾는 과정
Forward Algorithm과 유사한 Viterbi Algorithm을 사용
시간 t일 때 State 𝑞𝑖 확률을
가장 높게 만들어주는 경로를 찾고
기억하는 과정을 반복적으로 수행
37. HMM Decoding
Viterbi algorithm 𝑣 𝑡 𝑗 = max
𝑞1,…,𝑞 𝑡−1
𝑣 𝑡−1 𝑖 𝑎𝑖𝑗 𝑏𝑗(𝑜𝑡) 예시
𝑞2 = 𝑐의
Best path pointer: H
Best path probability: 0.064
39. 정리
• HMM은 Sequence labeling(=classification)을 위한 모델로, Observation sequence를 통해
Hidden state sequence를 찾아낸다.
• HMM은 주요 구성 요소로는 Transition probability matrix와 Observation likelihood
matrix가 있다.
• HMM의 학습은 학습 데이터의 State sequence 여부에 따라 다른 과정으로 진행된다.
• 학습 데이터가 없는 경우 Forward-backward algorithm을 사용하여 시간 별로 Transition,
observation likelihood를 계산, 합계, 반복하는 작업을 통해 모델을 추정해간다.
• Training을 통해 만들어진 HMM을 사용하여 최적의 Hidden state sequence를 찾는 Decoding
작업을 진행한다.
Hinweis der Redaktion
시간 단위에 존재하는 데이터가 Markov Chain에서는 State만 있었는데 HMM에서는 Observation도 존재
시간 단위에 존재하는 데이터가 Markov Chain에서는 State만 있었는데 HMM에서는 Observation도 존재
A, B의 초기값 설정과 Expectation-Maximization(EM) 알고리즘과 유사한 과정을 통해 수렴할 때까지 학습
Count 기반의 Maximum Likelihood Estimation(MLE)을 통해 A, B를 학습