LanGUAGE Model of Deep learning의 변천사

Part Of Speech(POS) Tagging에서 중요한 부분은 closed class categories와 open class categories에 대한 구분이다. 언어는 생명체와 비슷하게 진화한다. 진화하는 부분은 우리가 쉽게 사용하는 명사, 동사, 형용사, 부사라고 칭하는데 이를 바로 open class categories라고 부른다. 형태소 분석에서 가장 중요한 부분은 바로 class categories에 대한 Life Cycle이다.

입력받은 Part Of Speech(POS) Tagging한 값을 토대로 Sequence Labeling을 수행하여 classification을 하는데 여기서 중요한 부분은 우리가 무언가를 구분하여 분류하기 위해서는 가정이 필요하다는 것이다.

그 가정은 바로 상호 독립적(independently and identically distributed)이라는 부분이다. 하지만 자연어 처리나 기타 다양한 Text 분석에서 이 가정은 성립할 수가 없다.

그래서 우리가 Sequence Labeling을 통해 해야할 일은 바로 상호 독립적이라는 가정하에 Named Entity Recognition(개체명 인식)을 통하여 PLO(People, pLace, Organization) tagging을 하는 것이다.

하지만 이는 주요 명사에 대한 추출에 대한 방법론으로서 언어적 분석의 부족함이 있다. 그렇기에 우리는 의미적 관계에 대한 추론을 위해 Semantic Role Labeling(SRL)을 수행한다. 이를 통해 collectively determine을 하는 것이다. collectively determine이란 전체적인 sequence에서 나타나는 모든 단어들의 품사를 전체적으로 가장 그럴듯하게 구성한 포인트를 찾는 방법으로 사용한다. 이를 collective classification task라고 부른다. 이는 전체 sequence를 maximize할 수 있는 품사 labeling sequence를 찾는 것이다.

이런 기법들을 토대로 Hidden Markov Model을 활용한 확률적 모델 방법론이 태동하게 된다.
1) N개의 상태가 존재한다. (상태는 유한하다)
2) transition probability matrix
3) observations(vocabulary)
4) observation Likelihoods(emission probability)
5) start state, end state

이 Model의 가장 기본적인 가정은 Markov Chain을 구성하는 가장 기본적인 부분이 되는데, 그건 바로 상태는 유한하다(finite state machine)이라는 것과 probabilistic state transitions(확률적 상태 천이)라는 부분이다. HMM은 sequence labeling을 위한 standard generative probabilistic method이다.

이 가정을 통해 최초로 등장한 것이 바로 Bi-gram(N-1) order Markov Model(First-order Markov-Model)이다. 이는 위의 가정을 기반으로 태동하게 되는데 유한한 상태 N개의 상태를 가진다는 것을 근간으로 N-gram의 태동에 기인한다.

이를 토대로 observation sequence에 가장 잘 맞는 최적의 상태(최고의 확률)을 갖는 품사 sequence를 찾는 Viterbi Algorithm의 근간이 된다.

하지만 언어에서는 품사를 근간으로 한다는 건 품사의 개수에 따라 복잡도가 높아지고 다양한 형태의 변화를 근본적으로 추론할 수 없는 한계가 봉착한다. 여기서 파생된 것이 바로 Phrase Chunking이다. 언어는 단순히 품사로만 구성된 것이 아니고 동사구, 명사구, 형용사구 하나의 어절 형태로 분류가 가능하다는 것이다. 이것은 연산의 복잡도를 획기적으로 줄이고 빠르게 전체 문장의 의미를 찾을 수 있는 방법론이었다.

Phrase Chunking(Partial Parsing Name Entity Recognition)은 Sequence Labeling을 근간으로 Phrase를 구분하기 위한 classification을 수행하는 것이다. 여기서 가장 중요한 부분은 Evaluating Chunking이다. Evaluation을 위해 사용하는 방법은 Precision과 Recall을 통합하여 F1 Score로 해당 chunk에 대해 평가하는 것이다. 하지만 구문 분석은 다양하게 판단할 수 있고 한가지로 판단되기 보다는 다양한 Parse Tree형태를 준용하기 때문에 이를 구분해 내기가 쉽지 않다. 그래서 Statistical Parsing으로 각각의 Parse Tree에 확률값을 할당하여 syntactic ambiguity를 줄이자는 생각에 다다르게 된다.

그래서 나온 것이 바로 Probabilistic Context Free Grammar(PCFG)이다. 이는 Production Rule(Rewrite rule) 기반으로 분석된 Parse Tree를 Supervised Training하여 Tree-bank를 만드는 방법이다.

하지만 Production Rule(Rewrite Rule)에서는 실제 단어나 의미적인 제약조건을 전혀 보지 않는다. 이는 syntatic ambiguity를 해결하는데 문제가 있었다.
이런 한계를 극복하고자 PCFG를 만들 때 lexical적인 정보를 활용하자는 연구가 이루어졌고, head-word가 어떤 정보인지를 가진 non-terminal symbol을 사용하는 Lexicalized PCFG가 출현하게 되었다.

이를 기반으로 Local Representation방법의 연구 one-hot vector를 활용한 언어 분석의 연구가 시작되게 된다. 하지만 이는 similarity를 고려하지 않고, 매우 sparse했다. 이를 극복하기 위해서 유사한 것은 유사하게 표현(Dense Vector)할 수 있고, Low Dimensionality한 Distributed Representation방법인 Word2Vec이라고 불리우는 Word Embedding방법론이 나오게 되었고 이는 딥러닝 언어 모델의 근간이 되었다.

Word Embedding 단어를 vector로 표현 가능한 이 방법론의 등장으로 단어의 의미를 학습시키는 것이 가능해졌다. 이를 토대로 continuous Bag-of-words(CBOW) 주변 단어가 주어졌을 때 Center Word 예측,
skip-gram 중심단어가 주어졌을 때 주변 단어 예측과 같은 연구들이 활성화 되었다.

하지만 위의 방법론 모두가 n-gram의 n의 차수가 높아질수록 연산량이 기하급수적으로 증가하는 Gigantic Ram Reqirements라는 태생적 한계를 극복하지는 못했다.

이에 Language Model을 제한된 메모리를 가지고 학습할 수 있는 RNN 모델이 등장하였고, 자연어는 영상과는 달리 Data가 Sequential하게 들어오고 순서가 있다. 이런 순서를 기반으로 단어들에 녹아있는 확률값을 자연스럽게 학습하는 모델이 바로 RNN계열 언어 모델이다.

여기서 더 나아가 의미가 없는 것은 버리고 의미가 있는 건 살리면서 시간적 순서를 가지고 문장을 표현할 수 있는 언어 모델 기법인 LSTM(Long Short Term Memory) 기법이 나오게 된다.

Seq2Seq에서 태동된 Encoder LSTM Cell과 Decoder LSTM Cell을 활용한 방법론을 기반으로 문장의 핵심적인 내용들이 함축적으로 Encoding되어 표현되어 있는 부분들을 활용한 Attention All You Need라는 논문이 등장하면서 Transformer의 등장을 알렸고, 이를 기반으로 Bert와 GPT 언어 모델이 등장하게 되었다.

하지만 이런 대용량 언어 모델의 등장은 Transfer Learning이라는 기법을 활용하여 언어 모델의 확대 및 재생산 그리고 Customizing이 가능한 형태로 서비스를 할 수 있게 된 것이 작금의 시대적 흐름이다.

Tagged , ,

Leave a Reply

Your email address will not be published. Required fields are marked *