https://www.youtube.com/watch?v=hjx-zwVdfjc&list=PL1w8k37X_6L_s4ncq-swTBvKDWnRSrinI&index=13

RNN W2L01 : Word Representation

image

위 그림은 특별히 features (각 단어의 특성)이 적용되지 않는 one hot vector의 모습이다.

image

이 강의에서는 300개의 특성을 각 단어마다 부여했다.

image

t-SNE를 사용해서 300개의 특성을 단순화해서 2d 면에서 단어간의 관계를 보여 주고 있다. 


https://www.youtube.com/watch?v=Qu-cvY4HP4g&list=PL1w8k37X_6L_s4ncq-swTBvKDWnRSrinI&index=14

RNN W2L02 : Using Word Embeddings

image

orange 와 apple, durian은 비슷한 featurized 단어이며 farmer, cultivator도 같은 부류의 단어이다. 그러므로 문장 첫 두 단어가 사람이름을 추측할수 있다. 다른 외부 의 수많은 자료를 통해 위와 같은 관계의 일반화된 규칙을 만들어 찾아낼수 있고 이를 다시 작은 프로젝트에 이용할수 있는데 이를 word embeddings이라고 한다.

image
image

face verification에서 사용했던 encoding과 word embedding은 거의 같은 개념이다.


https://www.youtube.com/watch?v=upto_vdrXFI&list=PL1w8k37X_6L_s4ncq-swTBvKDWnRSrinI&index=15

RNN W2L03 : Properties of Word Embeddings

image
image

sim은 두 벡터의 유사성을 계산하는 함수이다. 두 벡터간의 거리를 측정하는 유클리드 기하학을 이용한 거리 측정 방법, 코싸인 유사도를 이용할수 있다.

image

위와 같은 알고리즘으로 word emebedding에 필요한 단어간의 유사성을 찾아낼수 있다. (우측 내용과 같은)


참고자료) cosine similarity

https://www.youtube.com/watch?v=if6tjHAT6iM

image
image
image

money money money…. 의 문장과 money money laundering이 서로 더 유사하다고 볼수 있지만 벡터의 특성상 유클리드 기하학을 이용한 방법은 이를 알아 내지 못한다.  

image
image
image

문장에 각단어의 횟수가 각 dimension에 대응하는 좌표가 되므로 그 값이 음수가 될수 없으며 최소값은 0이다. 


https://www.youtube.com/watch?v=VkjSaOZSZVs&index=16&list=PL1w8k37X_6L_s4ncq-swTBvKDWnRSrinI

RNN W2L04 : Embedding matrix

image

embedding matrix는 vocabulary에 있는 모든 단어에 대한 features값들이 있는 matrix이다. 이를 사용하는데 vector곱을 통해 가져오는 방법을 보여주고 있다. 그러나 실제로는 한단어에 대한 feature 칼럼에 접근해서 칼럼을 쭉 아래로 한 줄 가져오면 된다. 


https://www.youtube.com/watch?v=xtPXjvwCt64&index=17&list=PL1w8k37X_6L_s4ncq-swTBvKDWnRSrinI

RNN W2L05 : Learning word embeddings

이 강의에서는 문장 빈칸에 들어갈 알맞은 단어를 고르는 문제를 다루고 있다.

image

처음부터 끝까지의 모든 단어를 가지고 예측할수도 있지만 간단하게 마지막 4단어를 이용해도 좋은 결과를 낼수 있다.

image

4단어를 이용하기도 하지만 때로는 앞4, 뒤4 단어를 함께 보기도 한다. 마지막 1단어 , 근처의 한단어를 보기도 한다. 


https://www.youtube.com/watch?v=jak0sKPoKu8&list=PL1w8k37X_6L_s4ncq-swTBvKDWnRSrinI&index=18

RNN W2L06 : Word2Vec

Word2Vec skip grams에 대해서 설명한다

image

한 단어를 context 단어로 선정하고 그 단어를 중심으로 일정 크기 window안에서 ( 근처 5단어, 근처 10단어 내에서)  무작위로 단어를 뽑는다. 

image

Oc는 one shot vector이며 E는 embedding matrix이다 이들의 곱으로 ec를 구한다. 그리고 이를 softmax에 넣어 결과를 얻는다. 

image

Word2Vec skip grams의 단점은 10,000 vocabulary는 괜찮을지 모르나 그 크기가 커지면 속도에 문제가 생긴다. 시그마 과정때문에 속도가 느려질수 있으므로 전체에 대해 합을 구하지 않고 일부만 하는 방법으로 단점을 극복할수 있다. 오른쪽 참조

context 단어를 선정할때 무작위로 해도 좋지만 자주 등장하는 단어에 너무 자원이 집중되지 않도록 고려해야 한다. 

 참고자료) word2vec https://www.youtube.com/watch?v=64qSgA66P-8


https://www.youtube.com/watch?v=vYTihV-9XWE&list=PL1w8k37X_6L_s4ncq-swTBvKDWnRSrinI&index=19

RNN W2L07 : Negative Sampling

image

이 강의는 문장의 빈칸에 들어갈 알맞은 단어를 찾는 알고리즘에 대해 이야기 한다.

우선 context단어의 바로 인접한 단어에는 1을 배정한다. 그리고 임의의 k 개 만큼의 상관 없는 단어를 뽑아 0을 배정한다. 이때 이 단어가 skip grams의 window에 있는 단어라도 상관없다. 그냥 0을 배정한다. k의 갯수는 vocabulary sample data set이 작은 경우 5 -20 큰경우에는 2-5로 한다. 

image

일반 word2vec 에서 softmax를 이용해서 해당 단어만의 vector (theta weight)을 얻는 것이 목적인데 이는 너무 많은 자원을 소모한다. 그러므로 그 대신에 간단한 sigmoid를 이용한다. 

E는 features 값들이 있는 matrix이다. theta 값들과 햇갈리지 말자.

image

negative sample을 선정하는데 일반문장에 많이 등장하는 단어 감안해서 뽑는 방법에 대한 설명이다. 

glove 에 대해서는 나중에 다시 확인이 필요하다.

https://www.youtube.com/watch?v=yjm19W5QDtA&list=PL1w8k37X_6L_s4ncq-swTBvKDWnRSrinI&index=20

RNN W2L08 : GloVe word vectors

stanfort RNN 강좌에서의 glove 내용 부분

 https://youtu.be/ASn7ExxLZws?t=2294

모두의 연구소에서 설명한 내용 in korean

https://www.youtube.com/watch?v=uZ2GtEe-50E&list=PLWKf9beHi3Tg50UoyTe6rIm20sVQOH1br&index=28


https://www.youtube.com/watch?v=5aNUPwtuL5I&list=PL1w8k37X_6L_s4ncq-swTBvKDWnRSrinI&index=21

RNN W2L09 : Sentiment Classification

데이터를 통해 사람의 감정상태를 예측, 분류하는 작업을 sentiment classification이라고 한다.

image

sentiment classification의 단점은 데이터의 갯수가 대체로 적다는데 있다. 10000 – 100000 단어수 정도로 적으며 때로는 더 적을수도 있다.

image

위위그림에서의 문제를 많은 수의(100 billions 정도) 데이터를 이용해서 만든 words embeddings를 이용해서 해결할수 있다. 위의 그림은 단순히 단어 각각이 가진 features값들을 더하거나 평균내서 예측값을 뽑아내는 간단한 알고리즘이며 이런경우 좋지 않은 의미의 문장 안에서 사용된 좋은 의미의 단어 ( 위의 예시에서는 good ) 사용마저도 사람이 좋게 표현하고 있다고 잘못 판단할수 있다. 이를 해결하게 위해서는 RNN을 사용한다.  

image


https://www.youtube.com/watch?v=fg8ijSPHyx0&index=22&list=PL1w8k37X_6L_s4ncq-swTBvKDWnRSrinI

RNN W2L10 : Debiasing word embeddings

편견이 들어있는 데이터를 통해 학습된 model은 편견을 가지게된다.

이 강의에서 각 단어는 300개의 features를 가지고 있다. 2단계에서는 편견이 들어있는 1 dimension feature를 찾아서 그 부분의 값을 neutralize한다.  

neutralized feature 값이 반영된 특정단어에 대해 다른 단어들을 조정한다. 여기의 예시에서는 grandfather와 grandmother가 babysitter에 대해 같은 거리에 있게 조정 한다. 

Comments are closed.

Post Navigation