1. RNN의 기본구조 각 time step에 sequence data Xt와 전 step의 hidden state vector인 ht-1이 함께 입력으로 들어오고 현 step의 출력으로 ht를 구한다. 1-1) Rolled RNN Xt와 RNN에서 이전에 내놓은 ht-1돌면서 함께 들어가서 ht를 내놓는거 1-2) Unrolled RNN 위의 rolled version을 시간 순으로 풀어버리면 서로 다른 time step에서 들어오는 입력 처리할 때 동일한 parameter를 가지는 모듈 A를 반복적으로 사용하는 구조라서 Recurrent Neural Network 매 step마다 재귀적으로 모듈 A가 호출되어 거기서 나온 출력이 다음 step의 입력으로 들어간다 2. RNN의 예측값 그동안 보았던 N..
1. CBOW(continuous bag of words) Word2Vec의 첫번째 방법으로 주변의 단어를 가지고 중심단어를 예측하는 과정이다. ‘I am going to school’이라는 문장에서 window size=2라면 중심단어는 going이고 주변단어는 I,am, to, school CBOW는 주변단어를 모두 써서 중심단어 하나를 예측하는 것 CBOW의 중간에 SUM과정이 있는데 input vector들의 평균을 구하는 과정으로 skip gram과 차이점이다. 근데 논문에서 처음 제시한 모형은 sum을 구하는 것이라고 한다. 그런데 큰 차이는 없는것같다. 그냥 sum보다 평균이 안정적인 느낌이라 변했다고 생각이 든다 -------------------------------------------..
1. 시각적으로 알아보는 Word2Vec layer의 기본 구성 8개의 단어를 5차원 embedding vector로 만들고 싶다. random하게 초기화시킨 가중치는 여기서 가로 한줄한줄이 단어 세로 한줄한줄은 차원 수백번 학습시키고나서 얻은 가중치는 apple과 orange는 의미상 비슷하다는 것을 알고 있다. 실제 embedding결과도 비슷한 색을 보이고 있다는 것 juice, milk, water도 색이 비슷하다는 것이 보인다. 실제로 이들도 의미상 비슷하다. 고차원의 벡터는 눈으로 확인이 불가능하다. PCA를 통해 2차원으로 축소시켜 시각화한 그림은 의미상 비슷한 벡터들이 모여있긴하다 W1과 W2중 무엇을 embedding vector로 써도 상관없지만 통상적으로는 W1을 embedding v..
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..
1. word embedding sequence data의 정보단위인 단어들을 특정한 공간 상의 한 점, 벡터로 표현하는 기법 써야 하는 이유는 위에서도 서술했지만 딥러닝 모델들이 수치를 다루니까, 단어 그대로 넣을 수 없어서 그렇다 word embedding은 그 자체로도 하나의 머신러닝 기술이다. 텍스트 데이터, 공간상 차원 등을 학습 데이터로 주고 학습 후 다른 단어의 최적의 embedding vector를 구한다. 모든 embedding 기법을 관통하는 핵심아이디어는 비슷한 의미를 가지는 단어들은 공간 상에서 비슷한 위치에 두고 그렇지 않은 단어들은 먼 거리에 두어 단어들의 의미 유사도를 반영한 벡터 표현을 제공하는 것이다. ‘cat’ 과 ‘kitty’는 의미상 비슷하므로 서로 비슷한 위치에 두고..
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는 확률에..