Word Representation
이산 표현 (Discriete Representation)
- One Hot Encoding
- [0, 0, 0, 1, 0, …]
- 대용량의 메모리 필요
분산 표현 (Distributed Representation)
- 분산 표현?
- 문맥에 기반하여 표현
- 공기 행렬 (Co-Cocurrence Matrix)
- 코사인 유사도
- 차원의 저주
- 차원이 증가하면서 학습데이터의 수가 차원의 수보다 적어서 성능이 저하되는 현상
- ⇒ 희소 데이터 문제 (Sparse data problem)
- ⇒ 특이값 분해 (SVD) 로 해결
- SVD의 문제
- 계산이 오래걸림
- (유연성이 떨어짐) 새로운 데이터가 오면 다시 수행
- ⇒ Word2Vec 제안됨
Word2Vec
- 학습?
- 문맥(앞뒤 단어)과 중심단어를 이용
- SoftMax
- CBOW
- Skip-Gram
- Local한 정보만 사용한다는 한
GloVe
- 같이 나타나는 단어들의 확률값을 구한다
- 특징을 잘 구분하는 단어의 비율을 크게하자!
- solid가 주어졌을 때, ice와 steam의 비율이 크도록
- ↔ fastText
- subword로 학습하여 노이즈에 강함
- (신조어나 고유명사에 강함)
Embedding Layer
- General한 상태를 그대로 사용하지 말고 Task에 맞게 Update시키자
Add Contexts
- 위의 방법들은 특정 단어가 하나의 vector로 표현되는 것이 단점