썸네일 [NLP] Word Embedding 지난 글에서는 one-hot을 이용해서 단어와 문서를 vectorization하고 bow를 만들었습니다. 하지만 이런 희소 표현으로 vectorization을 하게되면 매우 high-demensional feature space를 갖게 되고 overfitting의 위험이 있습니다. 또한 one-hot vector는 단어간의 의미간 유사도를 계산할 수 없습니다. 모든 단어가 다 같은 거리를 같게 됩니다. Word Embedding 이를 극복하기 위해 고안된 방법이 Word Embedding입니다. Word Embedding이란 단어를 주어진 차원의 실수 벡터로 표현하는 dense representation(밀집 표현) 방법입니다. 차원을 제한하기 때문에 단어간의 거리가 서로 달라질 수 밖에 없고, 따라서 ..
썸네일 [NLP] Vectorization - Bag of Word [One-hot Vectorization] 자연어 처리를 위해서는 단어 또는 문서를 Neural Network에 입력해주어야 합니다. 그럼 단어 또는 문서를 NN에 어떤 형태로 입력해주어야 할까요? ASCII 코드로 입력해주는 건 어떨까요? a는 0x61, b는 0x62, c는 0x63 이런 식으로요. 괜찮아 보이지만 실제로는 심각한 bias를 초래합니다. 왜냐하면 알파벳 간 거리가 생겨버리기 때문입니다. 실제로 a와 b, a와 c는 동일한 거리로 표현되어야 하지만 아스키코드로 표현하는 순간 a와 b사이의 거리가 a와 c사이의 거리보다 가까워지는 일이 발생합니다. 이렇게 알파벳 간 거리를 모두 동일하게 만들기 위해 사용하는 것이 one-hot vectorization입니다. one-hot vector는 ..
썸네일 PyTorch에 발 담가보자 (tensor, reshape, autodiff, gradient descent) # PyTorch? PyTorch(파이토치)는 파이썬 기반의 딥러닝 라이브러리입니다. 현재 페이스북의 AI Research lab(Facebook's AI Research lab, FAIR)에 의해 주도적으로 개발되고 있습니다. 최근 PyTorch의 인기는 구글의 Tensorflow에 비해 급격히 많아지고 있습니다. 많은 논문과 모델들이 PyTorch를 사용하고 있습니다. HuggingFace의 모델들의 대부분이 PyTorch를 사용하고, TOP30 모델들은 모두 PyTorch를 사용했다고 합니다. # PyTorch 설치 conda install pytorch torchvision -c pytorch pip3 install torch torchvision PyTorch An open source mach..