embedding(2)
-
RNNLM(RNN Language Model)
이번에는 저번에 했던 RNN과 TimeRNN에 이어 TimeEmbedding,TimeAffine,TimeSoftmaxWithLoss를 만들고 이 모든걸 합쳐 RNNLM을 공부했다. 기본적으로 Time이붙으면 시계열 데이터를 처리하는 계층이라고 보면되는데 TimeRNN의 순차적인 forward로직의 포인트만 알고있으면 나머지 TimeEmbedding,TimeAffine,TimeSoftmaxWithLoss은 이미 저번에 배웠던 것에서 크게 변하는 것없이 구현가능하다. TimeEmbedding Embedding은 저번포스팅에 word2vec로직에서 나왔던 계층이다. 그 때는 단어의 분산표현을 저장할 가중치 행렬에서 단어의 인덱스를 받아 원하는 행을 뽑아오는 로직이였다. 이 TimeEmbedding또한 그 역할..
2021.07.28 -
자연어처리 Word2Vec 개념
이번 포스팅에서는 자연어 처리에서 단어의 분산 처리를 담당 해주는 Word2Vec을 알아보도록 하겠다. 일단 단어의 분산처리의 뜻부터 짚고 넘어가야 하는데 분산처리는 즉 단어를 여러 차원에 분산시켜 처리한다는 것이다. 예를들어 "i see you"라는 3가지의 단어로 이루어진 문장이 있을 때 "i"를 [0,0,1] "see"를[0,1,0] "you"를 [1,0,0]으로 3차원으로 분산시킨 것이다. 이상태만으로도 단어를 벡터화 해줄 수 있지만 이 방법은 여러 문제를 껴안고 있다. 그렇기에 많은 기술들이 나왔는데 이번에 알아볼 기술은 추론 기반 기법인 word2vec 그중에서도 CBOW모델이다. CBOW 초기 모델 위 사진이 기본적인 CBOW모델의 모습이다. CBOW모델에서 단어의 분산처리를 할 때 가장 기..
2021.07.18