HMM 기반 연속음성인식 베이스라인 시스템 서강대학교 음성언어처리연구실
차 례 개 요 언어 모델 네트워크 인식 네트워크 토큰 전파 방식의 디코딩 실험 결과 결 론 SGU-SLP
개 요 HMM 기반의 연속 음성 인식 시스템 SGU-SLP
개 요 HMM 기반의 연속 음성 인식 시스템 각종 지식원 (knowledge source) 디코더 (decoder) 음향, 어휘, 언어 모델 및 영역 의존 지식 학습 정도에 따라 탐색 공간의 해상도 결정 시스템의 인식률에 결정적인 영향 디코더 (decoder) 탐색 공간(인식 네트워크)의 효율적인 구성 및 운영 탐색 오류의 최소화 및 최적의 단어열 결정 SGU-SLP
개 요 탐색 공간의 효율적인 구성 및 운영 언어 모델 네트워크 (LM network) FSN 형태의 언어 모델 인터페이스 대부분의 언어 모델에 대해 공통된 인터페이스를 제공 언어 모델에 대한 디코더의 의존성 최소화 SGU-SLP
개 요 언어 모델 네트워크 토큰 전파 방식의 Viterbi 디코더 구현 점진적인 인식 네트워크의 생성 FSN 레벨의 이론적인 접근 네트워크 결합을 통해 상황에 따른 언어 모델의 선택 사용 네트워크 최적화(최소화) 알고리듬의 적용 토큰 전파 방식의 Viterbi 디코더 구현 토큰 단위의 동적인 탐색 공간으로 재구성 SGU-SLP
언어 모델 네트워크 언어 모델 네트워크의 정의 단어열 W=w1w2wn 에 대한 확률 값 hi : 언어 모델 히스토리(history) p(wi|hi) : 언어 모델에서 제공 SGU-SLP
언어 모델 네트워크 언어 모델 p(wi|hi) 히스토리는 동치 관계(equivalence relation)에 따라 동치 부류(class)로 분할(partition) 단어 trigram 최근 두개의 단어가 동일하면 동치 관계 성립 학습 상의 데이터 부족 문제를 보완 동치 관계에 따라 다양한 언어 모델 설계 가능 디코더가 언어 모델을 효율적으로 사용할 수 있는 방법(인터페이스) 필요 SGU-SLP
언어 모델 네트워크 언어 모델 컨텍스트 (LM context) 히스토리 h와 입력 단어 w의 쌍 (h, w) 연속된 단어 입력에 따라 다음 컨텍스트로 전이 유한 개의 컨텍스트 입력 단어에 따른 결정적 전이 모든 언어 모델에 내재 유한상태네트워크 언어모델 컨텍스트 SGU-SLP
언어 모델 네트워크 언어 모델 네트워크의 구성 노드(node) 아크(arc) 단어열 W의 확률값 언어 모델 컨텍스트 네트워크 시작 및 종료 노드 아크(arc) 컨텍스트의 히스토리와 입력 단어에 따른 확률 모든 노드는 네트워크 종료 노드로의 전이 포함 단어열 W의 확률값 각 단어에 해당하는 아크의 가중치를 누적 SGU-SLP
언어 모델 네트워크 Backoff 언어 모델의 사용 학습에 나타나지 않은 단어열의 처리 h’ : h를 backoff한 히스토리 , : 히스토리에 따른 조건부 확률 (h) : 히스토리 h에 대한 backoff 가중치 SGU-SLP
언어 모델 네트워크 상태 최소화 알고리듬 Backoff 확률의 적용 언어 모델 네트워크 완성 후 적용 히스토리 h로부터 backoff된 히스토리 h’으로의 전이 입력 단어 w에 대해 두 번의 전이 Backoff 전이 + 단어에 따른 컨텍스트 전이 Backoff 전이는 입력단어를 사용하지 않는 null arc 상태 최소화 알고리듬 언어 모델 네트워크 완성 후 적용 SGU-SLP
두 단어 {a, b}에 대한 full bigram network SGU-SLP
Backoff된 trigram network p(•) : LM 확률, b(•) : backoff 가중치 점선 : backoff (null) arc SGU-SLP
인식 네트워크 인식 네트워크의 생성 Network instantiation 트리 구조의 인식 네트워크 아크에 포함된 단어를 사전의 HMM 단위 발음열로 대치(substitution) 트리 구조의 인식 네트워크 LM 네트워크의 노드로부터 전이 가능한 단어들을 하나의 트리로 구성 LM 네트워크의 아크를 이용하여 트리와 트리 연결 SGU-SLP
인식 네트워크 LM factorization 기법 언어 모델 값을 아크에 분산 저장 (a) (b) (a) 원본 네트워크 (b) SGU-SLP
토큰 전파 방식의 디코딩 토큰 전파 알고리듬 토큰(Token) 활성화된 HMM state 현재까지의 누적 확률값 및 백트래킹 정보 유지 각 state 마다 최대 확률의 토큰 유지 SGU-SLP
토큰 전파 방식의 디코딩 탐색 공간의 동적 구성 Beam pruning Token ordering property 계산량 감소를 위해 정답과 거리가 먼 토큰 탈락 Viterbi 알고리듬은 pruning에서 살아남은 토큰을 대상으로 진행 2차원의 그리드(grid)대신, 토큰 리스트를 사용한 Viterbi decoder 구현 Token ordering property 리스트 내 토큰의 위치는 전파방향과 일치해야 함 Pruning으로 탈락한 토큰도 전파 과정에서 리스트에 다시 추가 될 수 있다. SGU-SLP
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
Advanced Features Semi-dynamic network decoder 네트워크 및 언어모델을 필요한 부분만 메모리에 유지할 수 있는 방법 전체 인식 네트워크를 subnetwork단위로 분할 후, subnetwork들을 caching기법으로 관리 각 subnetwork는 다른 subnetwork과 독립적인 구조를 가진다. SGU-SLP
Advanced Features Subnetwork 단위의 분할 Partition into subnetwork Original network Write on disk contiguously SGU-SLP
Node, arc, weight들을 각각 node set, arc set, weight set으로 packing Node등은 pointer (physical addr.) 대신 index로 access 노드는 weight여부에 따라 가변적인 길이를 가짐 SGU-SLP
실험 결과 실험 환경 학습 데이터베이스 음향 모델 발음 사전 언어 모델 테스트 : 154 문장 (no OOV) 낭독체 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
실험 결과 인식 결과 및 디코딩 비용 (a) 인식률 (b) 디코딩 비용 SGU-SLP
실험 결과 인식 결과 최대인식률 인식 시간은 최대 HMM 개수와 비례 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
실험 결과 Subnetwork-based Representation 네트워크 크기 비교 Count Size (MB) node arc base sub trigram 1,455,979 5,071,048 77.5 47.7 SGU-SLP
실험 결과 Dynamic Management Cost SGU-SLP
실험 결과 Overall Behavior SGU-SLP
결 론 효율적인 탐색 공간의 구성 및 운영 언어 모델 네트워크 토큰 전파 방식의 디코딩 다양한 언어 모델을 FSN으로 표현 언어 모델과 다른 모델의 통합 용이 통일된 언어 모델 인터페이스 토큰 전파 방식의 디코딩 Pruning에 따른 동적인 탐색 공간 재구성 최대 HMM 개수에 따른 인식 시간 SGU-SLP
결 론 탐색 공간 통합에 따른 메모리 요구량 증가 문제 해결 언어 모델 크기에 기인한 본질적인 문제점 Semi-dynamic network 디코딩 기법 LM 및 네트워크 caching 혹은, 다단계 탐색 방법(multi-pass search) 도입 응답시간(response time)의 최소화가 관건 SGU-SLP