본문 바로가기

전체 글46

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.
SVD, Singular Value Decomposition 데이터 분석 방법론을 공부하다 보면 빈번하게 특이값분해(SVD, Singular Value decomposition)을 마주치게 됩니다. 이번 포스팅에서는 SVD의 정의는 무엇이고, 어떤 이유로 데이터 분석 방법론에서 차원 축소의 관점으로 자주 이용되는지 살펴보도록 하겠습니다. SVD 정의 SVD는 실수공간과 복소공간에서 정의됩니다. 하지만 여기에서는 실수공간에 국한하여 정의하도록 하겠습니다. $M$은 $m\times n$ 실수 행렬이라고하면, SVD가 다음의 factorization 형태로 존재합니다. $$M=U\Sigma V^{\top},$$ 여기에서 $U$: $m\times m$ orthogonal matrix $\Sigma$: $m \times n$ diagonal matrix $V^{\top}$.. 2019. 7. 8.
CNN 역전파 (Backpropagation for CNN) 이번 포스팅에서는 CNN의 가중치를 학습하기 위한 역전파가 계산이 어떻게 이루어지는지 살펴 보겠습니다. 이번 포스팅에서 이미지 픽셀 좌표는 좌상단에서 0 부터 시작하기로 약속하겠습니다. 예를 들어 3x3 이미지에서는 (0, 0)으로 시작해서 (2, 2)로 끝나는 형태입니다. 역전파를 하려면 그래디언트가 필요합니다. Convolutional layer의 연산을 수식으로 표현해보겠습니다. 보통 CNN 구조는 Convolutional Layer, Activation Function, Pooling의 순으로 분석이 진행됩니다. 이를 도식화 하면 다음과 같습니다. 큰 흐름은 입력($x$)에 필터 가중치($w$)로 convolution하고($z$), 이를 활성화 시킨 뒤($a$), Pooling($x$)하는 절차입.. 2019. 7. 2.
Convolution Neural Networks (합성곱 신경망) CNN 이란? CNN은 Convolutional Neural Networks의 줄임말로 인간의 시신경을 모방하여 만든 딥러닝 구조 중 하나입니다. 특히 convolution 연산을 이용하여 이미지의 공간적인 정보를 유지하고, Fully connected Neural Network 대비 연산량을 획기적으로 줄였으며, 이미지 분류에서 좋은 성능을 보이는 것으로 알려져있습니다. CNN의 간단한 역사 시신경의 구조 David H. Hubel과 Torsten Wiesel은 1959년 시각 피질에 구조에 대한 고양이 실험을 수행했습니다. 실험에서 시각 피질 안의 많은 뉴런들이 작은 local receptive field를 가진다는 사실을 밝혀냈습니다. Local의 의미는 보이는 것 중 일부 범위 안에 있는 시각 자.. 2019. 6. 23.
기울기 강하법 기본 본 포스팅에서는 답러닝 역전파 알고리즘에 적용되는 여러 기울기 강하법을 익히기 위한 기본 개념에 대해서 정리하려고 합니다. 초보적인 내용부터, Batch Gradient Descent, Stochastic Gradient Descent, Mini-Batch Gradient Descent까지 살펴보겠습니다. 기울기 강하법 (Gradient Descent Algorithms) 인공신경망의 가중치를 학습하기 위해서 기울기 강하법을 사용합니다. 기울기 강하법은 국소 최소값(Local Minimum)을 찾기 위한 수치적인 방법(numerical method)으로 기울기의 역방향으로 값을 조금씩 움직여 함수의 출력 값이 수렴할 때까지 반복하는 방법입니다 어떤 함수 $f$의 국소 최소값을 찾기 위한 기울기 강하법은 .. 2019. 6. 1.