검색 상세

이산 입력을 위한 Recurrent Neural Network 및 이를 이용한 한국어 음절 기반 언어모델 구현

Recurrent Neural Network for Discrete Input and Its Use in the Implementation of Korean Syllable-based Language Model

초록/요약

본 논문은, 이산 입력을 위한 Recurrent Neural Network (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 Network (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 Network (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% 절대적 향상을 보여주었다.

more

초록/요약

The thesis aims to suggest a Recurrent Neural Network (RNN) for discrete input and implement a Korean syllable-based RNN language model. The main components of a continuous speech recognition system are a vocabulary, an acoustic model, and a language model. Deep learning algorithm is investigated for Korean unlimited vocabulary continuous speech recognition system on three components. 1) recognition units in a vocabulary 2) an acoustic modeling using deep neural network based on data parallelism and 3) language modeling using recurrent neural network for discrete input. Recognition units that are used in a conventional Korean speech recognition systems are mainly classified into a full-word and sub-word based on the morphological units. These recognition units have a problem of Out-Of-Vocabulary (OOV). These units can not represent all of the words in Korean by using a combination of the recognition units. In order to solve the OOV problem, a maximum likelihood based on Korean sub-word automatic vocabulary generation method is proposed. The proposed method is based on a Maximum Likelihood (ML) algorithm which does not require any prior knowledge to the language such as morphological analysis and space segmentation. The proposed method is completely automatic. It begins with the initial vocabulary consisting of approximately 3,900 Korean syllables defined in EUC-KR. The vocabulary is expanded by adding the pair of vocabulary words which allows for a maximum increase in likelihood generated by the language model for the corpora. A DNN acoustic model using distributed learning method based on data parallelism is needed to train an acoustic model for large-scale training data. To improve speed of DNN learning for acoustic modeling, some researchers have used multi-core CPU system instead of single-core CPU system to make DNN learning as parallel task learning. However, the number of CPU cores were limited, because, the price of CPU cores and power consumption had high cost. On the other hand, the hardware of GPU can work simultaneously with thousands of threads on the available cores with a few over-head. It makes GPU very suitable for parallel computing especially in iterative and simple computation. For the large-scale amount of speech training data, a distributed DNN acoustic model learning method based on data parallelism is proposed by using Sun Grid Engine (SGE). The conventional language model is an n-gram, which has the following two problems: 1) The probability for an unseen word sequence that does not appear in the training data is unstably estimated by using smoothing methods such as back-off or interpolation, and 2) owing to the limitation of n, the expression of information in a longer word history is limited. The first problem can be solved by learning the model using a Deep Neural Network (DNN) structure. A DNN has the advantage of guaranteeing the corresponding output value at all nodes of the output layer for an input once it has finished learning. The application of a DNN in acoustic models exhibited a higher performance for continuous input than the existing Gaussian Mixture Model (GMM) acoustic model. The representative input dimension of the DNN acoustic model is 600 (40 vector dimensions/frame × 15 frames), and the output dimension is approximately 10,000 (state) levels. The DNN language model guarantees the probability for all words in the lexical dictionary at the output layer once learning with a Feed-Forward Neural Network (FFNN) is completed and a word history is given. Even though the FFNN was applied as a language model using a DNN, good performance compared to n-gram has not been reported. The first problem is that a considerable amount of time is required for learning because of the large number of calculations when a DNN is applied, which is caused by using vectors in a discrete space that only express an index similar to words and high-dimensional vectors as the input. Consequently, because it cannot use a lot of the learning data at present, it produces poorer performance than an n-gram that uses a large amount of learning data. The second problem a large number of calculations is required when the dimension of the output space is high, which requires a considerable amount of time for learning. For a vocabulary that contains 60,000 words, it will be expressed as 120,000 dimension for two words history. The input dimension of a language model is approximately 200 times higher than an acoustic model, and the output dimension is approximately six times higher than an acoustic model. The input and output dimensions of a language model exhibit a large difference from an acoustic model. The contributions of this study are summarized using the following four points: 1) A maximum likelihood-based automatic vocabulary generation method for an Korean unlimited speech recognition was suggested. 2) A Sun Grid Engine (SGE)-based acoustic model learning method based on data parallelism was suggested for a large amount of acoustic training data. 3) RNN-based syllable language model learning method using input and output dimension reduction. Regarding the input, the dimension of high-dimensional discrete input is reduced by using the ‘Word2Vec’ method based on the distributional hypothesis. The dimension of output is reduced by using the 2-stage hierarchical softmax method, which is based on the word-category. 4) Using the points summarized in 3), a syllable-based Korean RNN language model was designed and N-best rescoring was conducted for performance evaluation of the Korean speech recognition system. The results and conclusions of this study are as follows: 1) The unlimited Korean speech recognition system was established as follows. The maximum likelihood-based automatic vocabulary generation method for the unlimited Korean vocabulary automatically created a total of 200,000 recognition units without the Out-Of-Vocabulary (OOV) issue. The performance of a speech recognizer with the vocabulary was shown about 5% absolute WER decrease. 2) The Sun Grid Engine, which supports data parallelism, was used to parallel-learn the deep neural network acoustic model with about 320 hours of learning data in 5 Graphic Processing Units (GPUs) in approximately 8 hours. When the GPU quantity is doubled, the learning time was reduced by about half. 3) Regarding the input, this thesis suggested the possibility of expressing the conventional input dimension in 600 dimensions using the ‘Word2Vec’ method suggested in the 1-of-N coding (N = 20,000) method. It reduced the dimensions of the input by 1/33, and the learning speed improved by about 2 times. Regarding the output, the conventional output dimension was approximately at 20,000 because of the softmax method. However, using the hierarchical softmax method, the output dimensions could be expressed in 100 categories in stage 1 and in 200 words for each category in stage 2. As a result, the learning speed improved by about 2 times. 4) In the Korean Interactive Personal Assistant (IPA) domain, the Korean syllable-based RNN language model was implemented and the 10-best rescoring was applied. For 877 evaluation utterances, the sentence recognition rate increased from 57.70% to 60.37%, showing an absolute improvement by 2.67%.

more