AI/CS224n

Lecture 2 - Neural Classifiers

Nolja놀자 2022. 7. 19. 17:19
반응형


Lecture 2
Word Vectors, Word Senses, and Neural Network Classifier

# Word2vec parameters and computations

### bag of words


각각의 단어 벡터를 구하고, outside 벡터와 center 벡터를 dot product한 다음, softmax로 결정한다.
이것은 bag of words 모델로, 단어의 순서를 고려하지 않는 모델이다.


### Word2vec은 비슷한 단어들을 가까이 둠으로써 목적함수를 최대화할 수 있다.


# Optimization : Gradient Descent
- 비용함수를 최소화해야 한다.
- Gradient Descent는 기울기를 변형함으로써 비용함수를 최소화할 수 있다.
- Update Equation


### 문제 : 모든 windows들에 함수를 적용하기 때문에 굉장히 비용이 크다.
- 해결책 : Stochastic gradient descent
-> 배치로 뽑아서 각각 업데이트하는 방식
- 일반적으로 row가 단어 하나의 벡터이다.


### Word2vec detail
두 가지 모델 방식
1) Skip-gram
2) Continuous Bag of words(CBOW)



Skip gram : center word가 주어지고, other words 예측
Cbow : other words가 주어지고, center word 예측

Skip gram model with Negative sampling
Object function은 center와 others를 dot product
: softmax -> logistic / sigmoid (0-1사이로 만듬)
- 실제 outside words가 나타날 확률을 늘리고
- 랜덤 words가 center word 주위에 나타날 확률을 줄인다
- Unigram 분포에 따라 샘플링한다 -> 적게 나오는 단어가 더 자주 나오게 함 -> 왜?


Co-occurrence vectors
- simple count co-occurrence vectors : 공간낭비, 고차원임 -> skip gram, cbow
- Low-dimensional vectors : 차원을 어떻게 더 줄일까? 고민

차원 줄이기(hw1)
- x = u * £ * vt
- U와 v는 가로세로 동일
- U와 v 사이즈 안 맞는 부분은 무시

Vector 차이로 의미를 인코딩하기
: Co-occurence 확률의 비율이 곧 의미가 될 수 있다

Word vector 구하기
- intrinsic : 단어 하나하나 평가, 빠르게 구함, vector간의 cosine distance로 유사도 구함, 만약 단어들간의 관계가 linear가 아니라면?
- Extrinsic : 실제 태스크에서 평가, 시간이 많이 걸릴 수 있음

성능 semantic > syntactic
Dimensional은 300 개 정도면 된다

동일 단어에 여러 뜻이 있는 경우에는
1)다른 벡터를 가지기도록 할 수 있음
2)linear algebraic하기 합쳐서 한 벡터로 표현할 수 있음


# 샘플을 왜 뽑아요?
# unigram 왜?

반응형