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