본 논문은, 이산 입력을 위한 Recurrent Neural work (RNN)을 제안하고, 이를 이용하여 한국어 음절 기반 언어모델을 구현한다.
이를 위해, 딥 러닝 방법을 이용한 한국어 무제한 어휘 연속 음성...
본 논문은, 이산 입력을 위한 Recurrent Neural work (RNN)을 제안하고, 이를 이용하여 한국어 음절 기반 언어모델을 구현한다.
이를 위해, 딥 러닝 방법을 이용한 한국어 무제한 어휘 연속 음성인식 시스템의 확보를 위한 방안을 제시한다. 한국어 연속음성인식 시스템의 주요 요소인 어휘 사전, 음향 모델, 언어모델에 대한 연구 내용을 자세히 기술한다.
한국어 음성인식 시스템의 어휘 사전은 한국어 인식 단위들의 집합으로 구성된다. 일반적인 한국어 음성 인식 시스템에서 사용하는 인식 단위는 주로 full-word인 어절과 sub-word인 형태소 기반 단위로 구분할 수 있다. 이 인식 단위들은, 인식 단위의 조합으로 한국어의 모든 단어를 표현 할 수 없는 Out-Of-Vocabulary (OOV) 문제점이 있다. OOV 문제점을 해결하기 위해서, maximum likelihood 기반의 한국어 sub-word 인식 단위 자동 생성 방법을 제안한다. 한국어로 표현 가능한 모든 음절들로 구성된 sub-word 집합을 초기 어휘 사전으로 구성한다. 학습 자료 내에 등장하는 모든 sub-word쌍의 빈도수를 측정하고, 높은 빈도수를 가진 sub-word 쌍 결합을 새로운 인식 단위로 결정하고, 이를 어휘 사전에 추가한다. 이 과정을 반복하여 한국어 sub-word 인식 단위 기반 어휘 사전을 자동 생성한다.
한국어 음향 모델링의 방법은 기존 가우시안 믹스처 모델링에서 인식율 측면에서 큰 성능 향상을 보인 심층 신경망 모델링을 이용하여 학습한다. 심층 신경망 모델링은 은닉층을 여러개로 구성하는 방법으로, 학습해야할 weight 정보가 기존 가우시안 믹스처 모델링보다 많아, 연산량이 높은 문제점이 있다. 본 논문에서는 대용량의 발성 자료를 Sun Grid Engine (SGE) 기반의 분산 음향 모델 학습 방법을 제시한다.
한국어 언어 모델링은, RNN 구조를 이용한 음절 기반 언어모델링을 생성한다. 언어모델에서 널리 이용되는 모델은 n-gram으로, 다음의 두가지 문제점을 가지고 있다. 1) 학습자료에 나오지 않았던 unseen word sequence에 대한 확률을 back-off 또는 interpolation과 같은 smoothing 방법으로 불안정하게 추정한다는 점과, 2) n의 제약으로 인하여 longer word history에 대한 정보를 표현하지 못한다는 점이다.
첫 번째 문제인 unseen word sequence에 대한 확률을 불안정하게 추정하는 문제에 대한 해결 방안으로, Deep Neural work (DNN) 연구가 수행되어 왔다. DNN 학습이 진행되고 나면, unseen word sequence에 대해서도 output layer에서 언어모델 확률을 제시해 준다. 특히 음성인식의 음향 모델에 적용이 되어서, 연속 입력에 대해 기존의 Gaussian Mixture Model (GMM) 음향 모델보다 높은 성능 결과를 보여주었다. 그러나 언어 모델링에서는, 이산 입력이기 때문에 기존 n-gram 대비 좋은 성능이 보고되지 않았다. 언어 모델에서의 이산 입력 형태를 살펴보면 다음과 같다. 어휘 사전의 단어 개수가 약 60,000개인 경우에, trigram 형태로 구성하게 되면, 입력은 120,000 차원, 출력은 60,000차원으로 표현된다. 언어모델의 입력 차원은 음향 모델 (약 600개 수준) 대비 약 200배 수준이고, 출력 차원은 음향 모델 (약 10,000개 수준) 대비 약 6배 수준이다. 기존의 DNN기반 언어모델에서는, 단어와 같이 index만을 표현하는 discrete space에서의 벡터가 입력으로 사용되고, 차원이 높은 벡터가 입력으로 사용되기에 DNN 적용시 계산량이 많이 요구되는 문제점이 있어, 학습에 많은 시간이 소요되었다. 결과적으로 현재는 많은 양의 학습 자료를 사용하지 못하고 있어, 많은 양의 학습자료를 이용한 n-gram 보다 성능이 좋지 못한 결과를 제시하였다. 그리고, 출력 space의 차원이 높은 경우에는 DNN 적용시 계산량이 많이 요구되며, 학습을 위한 많은 시간이 필요해지는 문제점을 가지고 있다.
두 번째 문제인 longer word history를 표현하기 위하여, Recurrent Neural work (RNN) 구조를 활용한다. RNN 구조는 hidden layer의 출력을 다음 시점에 입력으로 활용하여 longer word history의 누적된 상태를 표현함으로써, word history에 제약이 없는 언어모델 확률을 생성 가능하게 한다. 그러나 이 또한 FFNN 구조와 유사한 입력 및 출력 layer를 가지고 있어, 입력과 출력의 차원이 음향 모델 대비 상당히 높아, 높은 계산량으로 인하여 많은 학습 시간이 필요한 문제점을 가지고 있다.
본 연구의 공헌은 다음의 4가지로 요약된다. 1) Maximum likelihood 기반의 무제한 한국어 어휘 사전 자동 생성 방법 제시했다. 2) 대용량의 발성 자료를 Sun Grid Engine (SGE) 기반의 분산 음향 모델 학습 방법을 제시했다. 3) 입/출력 차원 감소를 이용한 RNN 기반 음절 기반 언어모델 학습 방법 보여주었다. 입력에 대해서는, distributional hypothesis에 기반한 ‘Word2Vec’ 방법을 이용하여 고차원의 이산 입력에 대해 차원을 감소하는 연구를 수행했다. Class 기반 언어모델에 착안한 2단계 hierarchical softmax 방법을 이용하여 출력 차원을 감소하는 연구를 수행했다. 4) 3)를 이용하여 음절 기반 한국어 RNN 언어 모델을 구현하고, N-best resocring을 수행하여 성능 평가를 수행하였다.
본 연구에 대한 실험 결과 및 결론은 다음과 같다. 1) Maximum likelihood 기반의 무제한 한국어 어휘 사전 자동 생성 방법은, Out-Of-Vocabulary (OOV) 문제점을 해결한 전체 20만 sub-word 인식 단위를 자동 생성하였다. 어절 대비 약 5% 절대적 WER 감소를 보여주었으며, 0% OOV를 제시하였다. 2) Data parallelism을 지원하는 Sun Grid Engine을 활용하여 deep neural network 음향 모델을 약 320 시간 학습 자료를 5개 Graphic Processing Units (GPUs)로 분산 학습하여 약 8시간만에 학습을 완료하였다. GPU개수가 2배 증가시, 학습시간은 1/2로 감소하는 결과를 보여주었다. 3) 입력에 대해서는, 기존 입력 차원을 1-of-N coding (N=20,000) 방식에서 제안하는 ‘Word2Vec’ 방법으로 600차원으로 표현이 가능함을 제시하였다. 입력의 차원을 1/33로 줄이는 효과를 주었으며, 약 2배 수준의 학습 속도 개선 결과를 보여주었다. 출력에 대해서는, 기존의 출력 차원은 softmax 방식으로 인하여 약 20,000 수준이었지만, hierarchical softmax 방법을 이용하여 1단계에서는 100 category로 표현하고, 2단계에서는 각 category에 대해서 200개 단어로 표현하였다. 이로 인하여, 약 2배 수준의 학습 속도 개선 결과를 보여주었다. 4) 한국어 Interactive Personal Assistant (IPA) 도메인에서, 한국어 음절 기반 RNN 언어모델을 구현하고, 10-best rescoring을 적용하였다. 877개 테스트 발성에 대해서, 문장 인식율이 57.70%에서 60.37%로, 약 2.67% 절대적 향상을 보여주었다.
참고문헌 (Reference)
|