# 002 papers

#### 7.1 Word2Vec 주요 연구 논문

**7.1.1 "Distributed Representations of Words and Phrases and their Compositionality" by Tomas Mikolov et al. (2013)**

**핵심 내용**: 이 논문은 Word2Vec의 기본 아이디어와 알고리즘을 처음 제안한 연구이다. Mikolov et al.는 단어의 분산 표현(distributed representation)을 통해 단어 간의 유사성과 의미를 효과적으로 캡처하는 방법을 제시하였다. 이 연구에서는 두 가지 주요 모델, 즉 CBOW(Continuous Bag of Words)와 Skip-gram을 소개한다.

**이론적 배경**:

* **CBOW 모델**: 주변 단어를 이용하여 중심 단어를 예측한다. 주변 단어 벡터의 평균을 통해 중심 단어 벡터를 예측하는 방식이다.

$$
P(w\_t | w\_{t-m}, \ldots, w\_{t-1}, w\_{t+1}, \ldots, w\_{t+m}) = \frac{\exp(\mathbf{w}\_t^T \mathbf{v}*c)}{\sum*{w' \in V} \exp(\mathbf{w'}^T \mathbf{v}\_c)}
$$

여기서 $ \mathbf{w}\_t $는 중심 단어 벡터, $ \mathbf{v}\_c $는 주변 단어 벡터, $ V $는 단어 집합이다.

* **Skip-gram 모델**: 중심 단어를 이용하여 주변 단어를 예측한다. 중심 단어 벡터를 통해 주변 단어 벡터를 예측하는 방식이다.

$$
P(w\_{t+i} | w\_t) = \frac{\exp(\mathbf{w}\_{t+i}^T \mathbf{v}*t)}{\sum*{w' \in V} \exp(\mathbf{w'}^T \mathbf{v}\_t)}
$$

여기서 $ \mathbf{w}\_{t+i} $는 주변 단어 벡터, $ \mathbf{v}\_t $는 중심 단어 벡터이다.

**기여**:

* Word2Vec 모델을 통해 단어의 의미를 벡터 공간에서 효과적으로 표현할 수 있는 방법을 제시하였다.
* CBOW와 Skip-gram 두 가지 모델을 제안하여 다양한 응용 분야에서 활용할 수 있는 기초를 마련하였다.

**7.1.2 "Efficient Estimation of Word Representations in Vector Space" by Tomas Mikolov et al. (2013)**

**핵심 내용**: 이 논문은 Word2Vec의 학습 효율성을 개선하는 방법을 제시한다. 특히, Skip-gram 모델의 학습을 가속화하기 위해 네거티브 샘플링(negative sampling) 기법을 도입하였다.

**이론적 배경**:

* **네거티브 샘플링**: 단어 쌍의 확률 분포를 추정하기 위해, 실제 단어 쌍과 비슷하지 않은 단어 쌍을 샘플링하여 학습한다. 이는 전체 단어 집합을 고려하지 않고도 효율적으로 학습할 수 있게 해준다.

$$
L = - \log \sigma(\mathbf{w}*{o}^T \mathbf{v}*t) - \sum*{i=1}^k \log \sigma(-\mathbf{w}*{i}^T \mathbf{v}\_t)
$$

여기서 $ \sigma $는 시그모이드 함수, $ \mathbf{w}*{o} $는 실제 단어 벡터, $ \mathbf{w}*{i} $는 네거티브 샘플 단어 벡터, $ k $는 네거티브 샘플의 개수이다.

**기여**:

* 네거티브 샘플링을 통해 Word2Vec의 학습 속도를 대폭 향상시킬 수 있음을 보였다.
* 대규모 데이터셋에서도 실용적인 성능을 유지할 수 있는 기법을 제안하였다.

**7.1.3 "GloVe: Global Vectors for Word Representation" by Jeffrey Pennington et al. (2014)**

**핵심 내용**: GloVe(Global Vectors for Word Representation) 모델은 단어의 분산 표현을 학습하는 방법을 제시한다. GloVe는 단어-단어 동시 발생 행렬을 활용하여 단어 벡터를 학습한다.

**이론적 배경**:

* **동시 발생 행렬**: 각 단어 쌍의 동시 발생 빈도를 기록한 행렬을 사용하여 단어 벡터를 학습한다.

$$
J = \sum\_{i,j=1}^V f(X\_{ij}) (\mathbf{w}\_i^T \mathbf{\tilde{w}}\_j + b\_i + \tilde{b}*j - \log X*{ij})^2
$$

여기서 $ X\_{ij} $는 단어 $ i $와 $ j $의 동시 발생 빈도, $ f $는 가중 함수, $ \mathbf{w}\_i $와 $ \tilde{\mathbf{w}}\_j $는 각각 단어 벡터와 컨텍스트 벡터이다.

**기여**:

* 전역적인 통계 정보를 활용하여 단어 벡터를 학습하는 새로운 방법을 제안하였다.
* 동시 발생 행렬을 통해 단어 벡터의 의미를 보다 정확하게 캡처할 수 있음을 보였다.

#### 7.2 참고 자료

**7.2.1 "Deep Learning" by Ian Goodfellow, Yoshua Bengio, and Aaron Courville**

**핵심 내용**: 이 책은 딥러닝의 기초부터 고급 개념까지 포괄적으로 다룬다. Word2Vec을 포함한 다양한 딥러닝 기법을 설명하고, 신경망 모델의 작동 원리를 상세히 설명한다.

**이론적 배경**:

* **딥러닝의 기초**: 신경망의 기본 개념, 학습 방법, 및 여러 가지 딥러닝 모델의 구조를 설명한다.
* **신경망 훈련**: 신경망 모델의 학습 방법과 최적화 기법을 소개한다.

**기여**:

* 딥러닝과 관련된 다양한 주제를 포괄적으로 다루어, Word2Vec과 같은 기술을 이해하는 데 필요한 배경 지식을 제공한다.
* 신경망 모델의 작동 원리를 명확하게 설명하여, 기초부터 고급 개념까지 학습할 수 있도록 돕는다.

**7.2.2 "Speech and Language Processing" by Daniel Jurafsky and James H. Martin**

**핵심 내용**: 이 책은 자연어 처리(NLP)의 이론과 응용을 폭넓게 다루고 있다. Word2Vec을 포함한 다양한 NLP 기술과 알고리즘을 설명하며, 실용적인 응용 방법을 제시한다.

**이론적 배경**:

* **자연어 처리의 기본 개념**: 텍스트 분석, 문서 분류, 감정 분석 등 다양한 NLP 작업을 설명한다.
* **Word2Vec과 관련된 기술**: Word2Vec의 기본 개념과 함께, 다양한 NLP 기술과의 관계를 설명한다.

**기여**:

* 자연어 처리 기술의 이론과 실제 응용을 포괄적으로 다루어, Word2Vec의 실제 적용 사례를 이해하는 데 도움이 된다.
* NLP 기술에 대한 깊은 이해를 제공하여, 관련 기술을 효과적으로 활용할 수 있도록 돕는다.

**7.2.3 "Neural Network Methods for Natural Language Processing" by Yoav Goldberg**

**핵심 내용**: 이 책은 자연어 처리에서 신경망 방법의 적용을 다룬다. Word2Vec과 같은 신경망 기반 모델의 이론과 응용을 자세히 설명한다.

**이론적 배경**:

* **신경망 기반 NLP**: 신경망을 사용하여 자연어 처리 작업을 수행하는 방법을 설명한다.
* **Word2Vec의 이론과 응용**: Word2Vec을 포함한 신경망 모델의 원리와 실제 응용 사례를 제시한다.

**기여**:

* 신경망 기반 자연어 처리 방법의 이론과 실제를 포괄적으로 설명하여, Word2Vec을 포함한 다양한 모델을 이해하는 데 도움이 된다.
* 모델의 작동 원리와 응용 방법을 명확하게 설명하여, 신경망 기반 NLP 기술을 효과적으로 활용할 수 있도록 돕는다.

***

이 장에서는 Word2Vec과 관련된 주요 연구 논문과 참고 자료를 소개하였다. 각 논문의 핵심 내용과 기여를 이해하면, Word2Vec 기술의 발전과 연구 배경을 깊이 있게 파악할 수 있다. 이론적 배경과 실용적인 응용 사례를 통해 Word2Vec의 활용 가능성을 넓히고, 최신 연구 동향에 대한 이해를 높일 수 있다.
