hmm 기반 연속음성인식 베이스라인 시스템
Post on 01-Feb-2016
137 Views
Preview:
DESCRIPTION
TRANSCRIPT
HMM 기반 연속음성인식베이스라인 시스템
서강대학교음성언어처리연구실
SGU-SLP 2
차 례
개 요언어 모델 네트워크인식 네트워크토큰 전파 방식의 디코딩실험 결과결 론
SGU-SLP 3
개 요
HMM 기반의 연속 음성 인식 시스템
디코더
언어 모델
Other KS
“ 국내 환경 …”안 에 는
음향 모델
음성 패턴
SGU-SLP 4
개 요
HMM 기반의 연속 음성 인식 시스템 각종 지식원 (knowledge source)
음향 , 어휘 , 언어 모델 및 영역 의존 지식 학습 정도에 따라 탐색 공간의 해상도 결정
시스템의 인식률에 결정적인 영향
디코더 (decoder) 탐색 공간 ( 인식 네트워크 ) 의 효율적인 구성 및
운영 탐색 오류의 최소화 및 최적의 단어열 결정
SGU-SLP 5
개 요
탐색 공간의 효율적인 구성 및 운영 언어 모델 네트워크 (LM network)
FSN 형태의 언어 모델 인터페이스 대부분의 언어 모델에 대해 공통된 인터페이스를 제공 언어 모델에 대한 디코더의 의존성 최소화
0
1
2
a/p(a|0)
b/p(b|0)
b/p(b|a) a/p(a|b)
p(a|0)
p(b|0)
p(a|b)p(b|a)
SGU-SLP 6
개 요 언어 모델 네트워크
점진적인 인식 네트워크의 생성 FSN 레벨의 이론적인 접근
네트워크 결합을 통해 상황에 따른 언어 모델의 선택 사용 네트워크 최적화 ( 최소화 ) 알고리듬의 적용
토큰 전파 방식의 Viterbi 디코더 구현 토큰 단위의 동적인 탐색 공간으로 재구성
SGU-SLP 7
언어 모델 네트워크
언어 모델 네트워크의 정의 단어열 W=w1w2wn 에 대한 확률 값
hi : 언어 모델 히스토리 (history)
p(wi|hi) : 언어 모델에서 제공
iii
iii
nn
n
hwpwwwp
wwwpwwpwp
wwwpp
)|()|(
)|()|()(
)((W)
11
11121
21
SGU-SLP 8
언어 모델 네트워크 언어 모델 p(wi|hi)
히스토리는 동치 관계 (equivalence relation) 에 따라 동치 부류 (class) 로 분할 (partition)
단어 trigram 최근 두개의 단어가 동일하면 동치 관계 성립
학습 상의 데이터 부족 문제를 보완
동치 관계에 따라 다양한 언어 모델 설계 가능 디코더가 언어 모델을 효율적으로 사용할 수 있는
방법 ( 인터페이스 ) 필요
SGU-SLP 9
언어 모델 네트워크 언어 모델 컨텍스트 (LM context)
히스토리 h 와 입력 단어 w 의 쌍 (h, w) 연속된 단어 입력에 따라 다음 컨텍스트로 전이
유한 개의 컨텍스트 입력 단어에 따른 결정적 전이
모든 언어 모델에 내재
언어모델 컨텍스트
유한상태네트워크
SGU-SLP 10
언어 모델 네트워크
언어 모델 네트워크의 구성 노드 (node)
언어 모델 컨텍스트 네트워크 시작 및 종료 노드
아크 (arc) 컨텍스트의 히스토리와 입력 단어에 따른 확률 모든 노드는 네트워크 종료 노드로의 전이 포함
단어열 W 의 확률값 각 단어에 해당하는 아크의 가중치를 누적
SGU-SLP 11
언어 모델 네트워크
Backoff 언어 모델의 사용 학습에 나타나지 않은 단어열의 처리
0)(Nif
0)(Nif
)|()(
)|()|(
h,w
h,w
hwh
hwhwp
h’ : h 를 backoff 한 히스토리, : 히스토리에 따른 조건부 확률(h) : 히스토리 h 에 대한 backoff 가중치
SGU-SLP 12
언어 모델 네트워크 Backoff 확률의 적용
Backoff 아크 ( 전이 ) 히스토리 h 로부터 backoff 된 히스토리 h’ 으로의
전이 입력 단어 w 에 대해 두 번의 전이
Backoff 전이 + 단어에 따른 컨텍스트 전이 Backoff 전이는 입력단어를 사용하지 않는 null arc
상태 최소화 알고리듬 언어 모델 네트워크 완성 후 적용
SGU-SLP 13
두 단어 {a, b} 에 대한 full bigram network
(a) (b)
SGU-SLP 14
Backoff 된 trigram network
p(•) : LM 확률 , b(•) : backoff 가중치 점선 : backoff (null) arc
SGU-SLP 15
인식 네트워크
인식 네트워크의 생성 Network instantiation
아크에 포함된 단어를 사전의 HMM 단위 발음열로 대치 (substitution)
트리 구조의 인식 네트워크 LM 네트워크의 노드로부터 전이 가능한
단어들을 하나의 트리로 구성 LM 네트워크의 아크를 이용하여 트리와 트리
연결
SGU-SLP 16
인식 네트워크
LM factorization 기법 언어 모델 값을 아크에
분산 저장(a) 원본 네트워크(b)
(c)
0.6
0.3
0.10.1
0.30.30.3
0.60.60.6
0.6
1.0
1.0
1.00.33
1.01.00.5
1.01.01.0
0.6
0.6
0.3
0.11.0
1.01.01.0
1.01.01.0
1.0
0.6
0.3
0.10.1
0.30.30.3
0.60.60.6
0.6
1.0
1.0
1.00.33
1.01.00.5
1.01.01.0
0.6
0.6
0.3
0.11.0
1.01.01.0
1.01.01.0
1.0
(a)
(b)
(c)
)(max)()child(
xparcparcx
))((
)()(
arcparentp
arcparcp
SGU-SLP 17
토큰 전파 방식의 디코딩
토큰 전파 알고리듬 토큰 (Token)
활성화된 HMM state 현재까지의 누적
확률값 및 백트래킹 정보 유지
각 state 마다 최대 확률의 토큰 유지
si
sj
sk
+aik
+ajk
+akk
+bk(ot)
SGU-SLP 18
토큰 전파 방식의 디코딩
탐색 공간의 동적 구성 Beam pruning
계산량 감소를 위해 정답과 거리가 먼 토큰 탈락 Viterbi 알고리듬은 pruning 에서 살아남은 토큰을
대상으로 진행 2 차원의 그리드 (grid) 대신 , 토큰 리스트를 사용한 Vit
erbi decoder 구현
Token ordering property 리스트 내 토큰의 위치는 전파방향과 일치해야 함
Pruning 으로 탈락한 토큰도 전파 과정에서 리스트에 다시 추가 될 수 있다 .
SGU-SLP 19
Implementation Heuristic
Path reclamation 정기적으로 도달 불가능한 path 들을 회수한 후
나중에 재사용Token recycling 토큰 리스트로부터 탈락되었을때 재사용 리스트에
저장한 후 나중에 재사용Central memory management Porting HTK’s memory manger for efficiency
Cached computation of likelihood 동일 HMM/state 가 한 프레임에서 여러 번 사용될
수 있으므로 처음에만 계산한 후 , 캐쉬에 저장
SGU-SLP 20
Advanced Features
Semi-dynamic network decoder 네트워크 및 언어모델을 필요한 부분만
메모리에 유지할 수 있는 방법 전체 인식 네트워크를 subnetwork 단위로
분할 후 , subnetwork 들을 caching 기법으로 관리
각 subnetwork 는 다른 subnetwork 과 독립적인 구조를 가진다 .
SGU-SLP 21
Advanced Features Subnetwork 단위의 분할
p(a|0)
p(b|0)
p(a|b)p(b|a)
p(a|0)
p(b|0)
p(a|b)p(b|a)
Original network
Partition into subnetwork
Write on disk contiguously
SGU-SLP 22
0
1
7
2
9
13
10
3
5
-3.8
-7.1
-1.3
0.0
0.0
-0.6
-1.4
0.0
4
6
8
12
14
11
0.0
0.0
0.0
0.00.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
arc0
arc1
arc23
arc21
(a)
arc2
arc30
1
7
2
9
13
10
3
5
-3.8
-7.1
-1.3
0.0
0.0
-0.6
-1.4
0.0
4
6
8
12
14
11
0.0
0.0
0.0
0.00.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
arc0
arc1
arc23
arc21
(a)
arc2
arc3
0 1 ... 23
offset to node set
offset to arc set
offset to weight set
0 1 ... 4
arc0's weight
0 ...0
2
0
2
node0
node0's arc index pair
node0's weight index pair
12
2
2
1 14
21
3
4
0
arc23's target tree(subnetwork) index
arc set weight set node set
arc0's targetnode index
(b)
0 1 ... 23
offset to node set
offset to arc set
offset to weight set
0 1 ... 4
arc0's weight
0 ...0
2
0
2
node0
node0's arc index pair
node0's weight index pair
12
2
2
1 14
21
3
4
0
arc23's target tree(subnetwork) index
arc set weight set node set
arc0's targetnode index
(b)
•Node, arc, weight 들을 각각 node set, arc set, weight set 으로 packing•Node 등은 pointer (physical addr.) 대신 index 로 access•노드는 weight 여부에 따라 가변적인 길이를 가짐
SGU-SLP 23
실험 결과실험 환경 학습 데이터베이스
낭독체 15,000 문장 (25 시간 분량 , 평균 20 형태소 /문장당 )
음향 모델 11421 개의 트라이폰 , 4855 개의 tied state 12 Gaussian mixture
발음 사전 22622 단어 , 28243 엔트리 ( 다중 발음열 )
언어 모델 Absolute discounting method
테스트 : 154 문장 (no OOV) Perplexity : 151(bigram), 131(trigram)
SGU-SLP 24
실험 결과
인식 결과 및 디코딩 비용
74
76
78
80
82
84
b300 b250 b200 b175 b150 b125 b100beam size
(acc
urac
y)인
식률
bigram
trigram
74
76
78
80
82
84
b300 b250 b200 b175 b150 b125 b100beam size
(acc
urac
y)인
식률
bigram
trigram
0
50000
100000
150000
200000
250000
300000
b300 b250 b200 b175 b150 b125 b100
beam sizeH
MM
개수
0
5
10
15
20
25
30
RT
F
bigram/최대HMM수 trigram/최대HMM수
bigram/RTF trigram/RTF
0
50000
100000
150000
200000
250000
300000
b300 b250 b200 b175 b150 b125 b100
beam sizeH
MM
개수
0
5
10
15
20
25
30
RT
F
bigram/최대HMM수 trigram/최대HMM수
bigram/RTF trigram/RTF
(a) 인식률 (b) 디코딩 비용
SGU-SLP 25
실험 결과 인식 결과
최대인식률 81.01%/3.22RTF (bigram, beam size 150) 82.57%/5.02RTF (trigram, beam size 175)
인식 시간은 최대 HMM 개수와 비례 빔크기 125 까지는 별다른 인식률의 손실없이
인식 시간이 효과적으로 감소 80.45%/1.90RTF (bigram, 125) 81.61%/1.88RTF (trigram, 125)
실시간 인식 조건이 주어진 경우 75.06%/1.02RTF (bigram, 100) 76.78%/0.96RTF (trigram, 100)
SGU-SLP 26
실험 결과
Subnetwork-based Representation 네트워크 크기 비교
Count Size (MB)
node arc base sub
trigram 1,455,979 5,071,048 77.5 47.7
SGU-SLP 27
실험 결과 Dynamic Management Cost
SGU-SLP 28
실험 결과
Overall Behavior
SGU-SLP 29
결 론
효율적인 탐색 공간의 구성 및 운영 언어 모델 네트워크
다양한 언어 모델을 FSN 으로 표현 언어 모델과 다른 모델의 통합 용이
통일된 언어 모델 인터페이스 토큰 전파 방식의 디코딩
Pruning 에 따른 동적인 탐색 공간 재구성 최대 HMM 개수에 따른 인식 시간
SGU-SLP 30
결 론 탐색 공간 통합에 따른 메모리 요구량 증가
문제 해결 언어 모델 크기에 기인한 본질적인 문제점 Semi-dynamic network 디코딩 기법
LM 및 네트워크 caching
혹은 , 다단계 탐색 방법 (multi-pass search) 도입 응답시간 (response time) 의 최소화가 관건
top related