Loading...
2022. 2. 11. 21:27

text를 embedding시키는 Word2Vec의 성질 이해하기

1. 시각적으로 알아보는 Word2Vec layer의 기본 구성 8개의 단어를 5차원 embedding vector로 만들고 싶다. random하게 초기화시킨 가중치는 여기서 가로 한줄한줄이 단어 세로 한줄한줄은 차원 수백번 학습시키고나서 얻은 가중치는 apple과 orange는 의미상 비슷하다는 것을 알고 있다. 실제 embedding결과도 비슷한 색을 보이고 있다는 것 juice, milk, water도 색이 비슷하다는 것이 보인다. 실제로 이들도 의미상 비슷하다. 고차원의 벡터는 눈으로 확인이 불가능하다. PCA를 통해 2차원으로 축소시켜 시각화한 그림은 의미상 비슷한 벡터들이 모여있긴하다 W1과 W2중 무엇을 embedding vector로 써도 상관없지만 통상적으로는 W1을 embedding v..

2022. 2. 6. 21:55

Word2Vec의 기본 알고리즘

1. idea I study math라는 입력문장을 unique한 단어들의 vocabulary로 변환하면 {‘I’, ‘study’,’math’} 사전의 각 단어는 vocab size만큼 차원을 갖는 one hot vector이다. ‘I’는 [1,0,0] ‘study’는 [0,1,0] ‘math’는 [0,0,1] sliding window라는 기법은 한 단어를 중심으로 앞 뒤로 나타난 단어들과 (중심단어,주변단어) 입출력쌍을 구성하는 기법이다. 이 단어 쌍에서 중심단어를 input으로 두고 주변단어를 output으로 두는 예측 task를 수행하는 2-layer neural network를 구성한다. one hot vector의 차원이 3차원이니 input과 output layer의 차원은 3차원 hidde..

2022. 2. 5. 21:03

Word2Vec의 핵심 아이디어

1. word embedding sequence data의 정보단위인 단어들을 특정한 공간 상의 한 점, 벡터로 표현하는 기법 써야 하는 이유는 위에서도 서술했지만 딥러닝 모델들이 수치를 다루니까, 단어 그대로 넣을 수 없어서 그렇다 word embedding은 그 자체로도 하나의 머신러닝 기술이다. 텍스트 데이터, 공간상 차원 등을 학습 데이터로 주고 학습 후 다른 단어의 최적의 embedding vector를 구한다. 모든 embedding 기법을 관통하는 핵심아이디어는 비슷한 의미를 가지는 단어들은 공간 상에서 비슷한 위치에 두고 그렇지 않은 단어들은 먼 거리에 두어 단어들의 의미 유사도를 반영한 벡터 표현을 제공하는 것이다. ‘cat’ 과 ‘kitty’는 의미상 비슷하므로 서로 비슷한 위치에 두고..

2022. 2. 4. 21:52

naive bayes classifier의 문제점을 보완하는 Laplace smoothing

1. naive bayes classifier의 문제점 만약 test sentence d내에 존재하는 특정 단어 $w_{i}$가 train data에서 특정 class C=c내에 1번도 존재하지 않으면 $P(w_{i}|c)$는 0이므로 test의 sentence d는 다른 단어의 조건부확률과 무관하게 무조건 P(c|d)=0이다. 다른 단어는 다 존재하지만 단 하나의 단어만이라도 이런 경우가 발생하면 무조건 예측확률이 0이라는 사실이 굉장히 억울한 부분이다. 2. laplace smoothing 특정 class C=c에 test내 특정 단어 $w_{i}$가 속할 조건부확률을 laplace smoothing을 이용하여 구하면 그러니까 원래 구하는 식에 smoothing 상수 k를 더해준 것 상수 k는 확률에..

2022. 1. 30. 18:48

Naive bayes classifier의 개념과 핵심 아이디어

1. Naive bayes classifier bag of words로 얻은 sentence나 document를 특정 category로 분류하는 모델링중 가장 간단한 것이 naive bayes classifier d개의 문서(input)가 c개의 class에 분류될 수 있다면 특정한 문서 d는 어떤 클래스로 분류하는 것이 합리적인가? d가 주어질 때 모든 c에 대해 C=c의 조건부확률이 가장 높은 c에 분류하는 것이 합리적이다. 사후확률을 가장 높이는 maximum a posteriori 베이즈 정리를 이용하면 위 식은 아래와 같아진다. 그런데 주목할 점은 우리는 특정한 문서 d에 주목한다는 것이다. 특정한 문서 d가 뽑힐 확률 P(d)는 하나의 상수일 것이다. 상수 값은 최대화하는데 의미가 없으므로 P..

2022. 1. 28. 09:32

transformer은 NLP의 트렌드를 어떻게 바꾸었을까

1. 기계번역의 연구 트렌드 1-1) translation based on rule 기계번역 문제는 연구자들이 수십년간 노력했던 분야로 딥러닝 이전에는 전문가들이 직접 언어간 문장구조를 고려한 rule 기반 번역을 수행했다. I love this movie라는 영어 문장을 나는 이 영화를 사랑한다.로 번역하기 위해서는 먼저 I , love, this, movie 단어별로 번역을 수행했다. 영어와 한글의 문법은 다르기 때문에 한글의 문법을 고려한 어순배열을 수행해야했다. 그러나 다양한 언어의 수많은 변수들을 일일이 고려하기에는 너무나 어렵다. 1-2) translation in RNN RNN이라는 딥러닝 기술의 등장은 이러한 고민을 해결했다. 언어학적 rule없이 단지 (영어 원문, 번역문)의 쌍으로 된 ..