![Transformer 이전의 NLP 역사들](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbDLfXO%2FbtsMeM2sLBC%2FkmuKJ1Wp3KpgCgX2Ys3gC1%2Fimg.jpg)
현재 사내에서 Build a Large Language 책에 대한 스터디를 진행중인데 지난주에 NLP 관련된 질문이 있어서 이를 정리하려고합니다.
또한, NLP 대한 내용 중 Transformer 모델 이전의 내용을 다루고 있습니다.
1. Natural Language Processing (NLP) 란 무엇인가?
NLP는 아래와 같은 두 가지 능력을 포함하는 개념이라고 합니다.
1. Natural Language Understanding
2. Natural Language Generation
또한 NLP의 주요 목적은 컴퓨터를 이용해 human language를 다루는 것입니다.
NLP를 통해 아래와 같은 동작을 할 수 있습니다.
1. human - machine 사이의 communication - 질의 응답, 단락 생성, 코드 생성
2. human - human 사이의 communication - 기계 번역, 스펠링 체크, writing assist
3. 언어에 대한 analyze/understand - 문법 분석, Text 분류 등
2. NLP의 역사 (~ 2022까지)
NLP의 중요한 역사 중에서는 2013년의 Word2Vec, 2017년의 Transformer, 2018년의 GPT 정도를 주목하면 될 것 같습니다.
3. NLP의 Key tasks와 Challenges
Key tasks
- Named entity recognization (NER) (개체, 대명사 인식)
- Part-of-speech (POS) tagging (문법 중 품사 구분)
- machine translation
- text classification
- sentiment analysis (감성 분석)
- question answering
- speech recognition (음성 인식)
- speech synthesis (음성 합성)
Challenges
- Ambiguity (모호성)
- Scalability
- Bias and fairness
- Resource Constraints
- Context Understanding
Scalability
Transformer의 등장 배경이 RNN, LSTM의 Scalability 문제를 해결하기 위함이었습니다.
4. Word Embedding
word embedding이라고 하면 단어를 vector 하자는 개념이고 이는 NLP 역사에서도 중요한 내용입니다.
Text를 Token화 하고 Token화된 값을 vector로 바꿔주는것이 word embedding이라고 합니다.
초기의 embedding은 각 vector의 값에 대해서 사람이 mapping을 해주는 케이스가 많았다고 합니다.
아래와 같이 living being, feline, human, gender, royalty 등등의 특징을 미리 정해두고 학습을 시킨 방식이었죠.
(당연하게도 지금은 기계가 알아서 parameter에 대해서 학습하도록 합니다.)
5. Word2Vec, RNN, LSTM 의 한계
Transformer 이전에 문장 완성 예측에 주로 사용된 모델은 RNN(Recurrent Neural Network), LSTM(Long Short-Term Memory), 그리고 Word2Vec 기반의 통계적 모델이었습니다.
하지만 이러한 방식들은 문맥 이해의 한계와 긴 문장 처리의 어려움으로 인해 여러 문제점을 보였습니다.
주요 문제점
1. 긴 문장에서의 문맥 손실
RNN/LSTM 기반 모델은 시퀀스가 길어질수록 먼 과거의 정보를 잃어버리는 경향이 있었습니다.
특히 문장의 초반부와 후반부 사이의 의미적 연결성이 약해지는 현상이 발생합니다.
입력 | "The professor who taught the history of the French Revolution to hundreds of students retired at the age of..." |
출력 | "21" |
→ "professor retired"라는 핵심 단서를 놓치고 부적절한 상식으로 예측하게 됩니다.
2. 고정된 컨텍스트 윈도우의 한계 (Word2Vec 기반 모델)
Word2Vec은 고정된 윈도우 크기(주변 n개 단어)로만 학습하여 멀리 떨어진 단어들 간의 관계를 파악하지 못합니다.
입력 | "The cat sitting on the mat is playing with a..." |
출력 | "dog" |
→ 문맥상 "toy"가 더 적절하나, Word2Vec은 "cat"과 "dog"의 빈번한 공동 출현으로 인해 부적절한 예측을 합니다.
3. 다의어(Polysemy) 문제
하나의 단어가 여러 의미를 가질 때, RNN이나 Word2Vec은 문맥에 따른 올바른 의미 해석을 하지 못하고 고정된 의미로만 처리합니다.
입력 | "I need to withdraw some cash from the bank." |
출력 | " river " |
→ "bank"가 금융 기관을 의미하는 상황임에도 강둑으로 잘못 해석합니다.
4. 어휘 한계 및 Out-of-Vocabulary (OOV)
Word2Vec은 미리 학습된 어휘 범위 내에서만 작동하므로, 새로운 단어(신조어, 고유명사 등)를 처리할 수 없습니다.
입력 | "Elon Musk recently launched a new..." |
출력 | "unknown" |
→ "Starship"과 같은 최신 단어나 특정 고유명사를 예측하지 못합니다.
5. 문장 구조 복잡성 처리 한계
RNN 기반 모델은 문장 구조가 복잡할수록 오류가 증가합니다.
특히 수식어나 접속사가 많은 문장에서 예측이 불안정해집니다.
입력 | "The dog that the cat chased ran into the house and hid under the..." |
출력 | "tree" |
→ 복잡한 수식 관계를 제대로 이해하지 못해 부적절한 단어를 선택합니다.
'CS 지식 > AI 관련' 카테고리의 다른 글
Effective LLMs and MoE (Mixture of Experts) (0) | 2025.02.12 |
---|---|
Multimodal AI에 대한 여러 의견과 주요 모델들 (2) | 2025.02.09 |
Continual Learning, Knowledge Distilation 이해하기 (0) | 2025.02.02 |
Meta Learning - MAML, Reptile 이해하기 (0) | 2025.01.30 |
Zero-shot learning, Metric Learning Approach 이해하기 (0) | 2025.01.28 |
개발 및 IT 관련 포스팅을 작성 하는 블로그입니다.
IT 기술 및 개인 개발에 대한 내용을 작성하는 블로그입니다. 많은 분들과 소통하며 의견을 나누고 싶습니다.