Introduction
- (2013)이전에는 atomic unit으로 단오를 표현했다. 또한 단어간 유사성을 표현하지 못 했다.
- 데이터 셋의 크기에 따라 모델 성능이 크게 좌우된다.
- 단어의 분산적 표현 이용한 머신러닝 모델 - 성능 good
goal
- 방대한 크기의 데이터 셋으로 word vector 표현
- 다차원에서 단어의 유사성 표현
-> vector offset 연산으로 단어의 유사성 표현
models
- parameter수에 따라 모델의 복잡도 정의

- E : epoch 수
- T : traning set의 word 수
- Q : 모델의 특성에 따른 계수
- SGD, backpropagation으로 훈련
NNLM
- layer
- input - projection - hidden - output
- complexity

- 복잡도 해결
- 훈련 중 un-normalized model 이용
- 계층적 softmax 사용
- Huffman binary Tree 이용 -> Output Layer 수 줄일 수 있다.
- 하지만 Hidden Layer의 복잡성은 해결X
RNNLM
- RNN을 이용한 얕은 신경망 활용
- Projection Layer를 갖지 않는다.
- 시간 딜레이를 통해 Hidden Layer 연결
-> 짧은 시간에 대한 과거 정보 활용하여 현재의 input 정보 update
Parllel Training of NN
- 거대한 data set 학습을 위해, DistBelief 프레임워크를 통해 병렬적 학습 진행
- 동일한 모델의 복제본 여러개 병렬로 실행
- 파라미터를 유지하는 중앙 집중형 서버를 통해 gradient update를 동기화
- mini-batch 비동기 경사하강법 이용
- Adagrad : 적응형 learning rate 이용
New Log-linear Models
- 간단한 모델을 활용한 continuous word vectors 학습
- 분산 표현된 단어들위에 N-gram NNLM 학습
CBOW
- Bag of Word (BoW)
- 모든 word가 projection layer 공유.
- 과거의 데이터 이용 X
- CBOW
- 이전 4개, 이후 4개의 단어를 input에 넣어서 훈련
Continuous Skip-gram Model
- 같은 문장 안의 다른 단어들을 기반으로 단어 분류
- 기반하는 단어 범위가 증가할 수록 결과 향상, 복잡성 증가
: 하이퍼파라미터 설정
- 단어간 거리 증가 할 수록 weight 조절하여 training