4강: Word Vectors & Language Modeling & Recurrent Neural Networks
1. Word Embedding
•
기본 개념
◦
컴퓨터가 자연어를 이해하기 위해 단어를 수치로 표현.
◦
기존 방식: One-hot Encoding
▪
단점: 고차원, 메모리 낭비, 벡터 문제로 단어 간 유사도 표현 부족.
•
Distributional Semantics
◦
단어의 의미는 주변 단어들로부터 정의됨 (J.R. Firth).
◦
단어를 밀집된 벡터로 변환하는 Word Embedding 방식 등장.
•
Word2Vec
◦
단어 벡터 표현들을 가져오기 위한 자연어 처리 기술
▪
더욱 큰 단어들 뭉치 내에서 특정 단어의 등장 확률을 학습해 word vector를 더욱 정교하게 만들어줌
◦
중심 단어(C)와 주변 단어(O)의 관계를 학습하여 단어 벡터 생성.
◦
문제점: 서로 의미가 다른 단어인데, 주변 맥락이 유사하면 가깝게 임베딩됨.
•
GloVe
◦
Window based co-occurrence matrix
◦
동시 발생여부를 matrix로 표현해 단어 간 관계 학습.
◦
문제점: 대규모 코퍼스에서는 계산 부담!
•
Word Embedding
◦
단어의 의미를 반영해 vector space에 embed된다.
2. Language Modeling
•
Statistic Language Model (통계적 언어 모델)
◦
조건부 확률로 주어진 단어 다음에 올 단어 예측.
◦
문제점: 데이터 희소성 문제(Sparsity).
•
N-gram 모델
◦
이전 N-1개의 단어들로, N번째의 단어 예측 (Unigram, Bigram 등).
◦
문제점: Sparsity problem, Storage proplem
•
Neural Language Model
◦
장점: Sparsity problem, Storage problem 해결.
◦
단점: 고정된 input 크기 문제.
3. Recurrent Neural Networks (RNN)
•
개념
◦
순환 구조를 통해 시퀀스 데이터를 다룸.
◦
이전 상태(hidden state)를 다음 단계로 전달.
•
특징
◦
가변 길이 입력 지원.
◦
시계열 정보와 문맥 반영 가능.
◦
단점: 느린 계산 속도, Long-term Dependency 문제, Vanishing/Exploding Gradient 문제.
•
Gradient 문제 해결
◦
Exploding Gradient: Gradient Clipping 사용.
◦
Vanishing Gradient: LSTM, GRU로 개선.
4. LSTM & GRU
•
LSTM (Long Short-Term Memory)
◦
3개의 Gate로 구성: Input, Forget, Output.
◦
이전 정보를 저장하는 Cell State 추가로 장기 의존성 문제 해결.
•
GRU (Gated Recurrent Unit)
◦
LSTM의 간소화 버전.
◦
Reset Gate와 Update Gate만으로 구성.
5. RNN 활용
•
텍스트 데이터 외에도 음성 인식, 감정 분석, 질의응답 등 다양한 시퀀스 데이터 처리 가능.