본문 바로가기

Deep Learning/Word Embedding3

Word2vec 학습 개요 이전 포스팅에서 Word2vec에 대해서 다루었습니다. CBOW와 Skip-Gram 모두 학습할 목적함수의 계산 복잡도가 높았습니다. CBOW의 목적함수는 $$\mathcal{L}_{CBOW}=-u_{c}^{\top}\hat{v}+\log{\sum_{j=1}^{|V|}exp(u_{j}^{\top}\hat{v})}$$와 같으며, Skip-Gram의 경우 $$\mathcal{L}_{skip-gram}=-\sum_{j=0,j\ne m}^{2m}u_{c-m+j}^{\top}v_{c}+2m\log{\sum_{k=1}^{|V|}exp(u_{k}^{\top}v_{c})}$$였습니다. 계산 복잡도가 높다는 말은 $|V|$와 직접적인 관련이 있습니다. $|V|$는 분석하고자하는 데이터로 부터 구축한 사전의 단어의 .. 2019. 7. 28.
Word2vec 본 포스팅은 스탠포드 대학교 CS244n 강의 자료를 참고하여 작성되었습니다. 이전 포스팅에서는 SVD 기반 word embedding에 대해서 살펴보았습니다. 포스팅 말미에 SVD 기반 방법의 단점 몇 가지를 서술하며 Word2vec을 예고했습니다. 이번 포스팅에서는 Word2vec에 대해서 살펴보겠습니다. Word2vec 개요 SVD 기반 모형에서는 대용량의 데이터를 계산하고 정보를 도출하는 방식을 취했습니다. 이에 따라 단어가 하나만 추가되더라도 많은 계산을 해야되는 단점이 있었습니다. 전체를 계산하는 것 대신, 어떤 계산을 한 번 반복할 때마다 가중치를 학습할 수 있고, 계속 반복하여 주어진 맥락(context)에 따른 단어(word)의 확률을 계산해나가는 방식을 Iteration based me.. 2019. 7. 22.
Word Embedding 개요 본 포스팅은 스탠포드 대학교 CS244n 강의 자료를 참고하여 작성되었습니다. Natural Language Processing (NLP)란 무엇인가? 자연어(Natural Language)란 인간이 실생활에서 사용하는 언어를 말하며, 자연어 처리(Natural Language Processing)이란 자연어의 의미를 분석하여 컴퓨터가 처리 할 수 있도록 하는 일을 말합니다. 인간의 언어는 의미를 전달하기 위한 어떤 구조적인 체계입니다. 예를 들어 "말을 하다." 와 "말이 달린다." 두 문장에서 말은 다른 의미를 지닙니다. 이에 따라 NLP는 다른 머신러닝이나 컴퓨터 비전과는 매우 다른 성격을 지닙니다. NLP는 아주 쉬운 영역부터 어려운 영역까지 다양한 과제가 있습니다. 쉬운 영역으로는 오타 확인, .. 2019. 7. 8.