[논문 리뷰] Efficient Estimation of Word Representations in Vector Space

김민주·2025년 5월 7일

대규모 데이터 셋에서 단어의 연속적인 벡터 표현을 하기 위해 CBOW와 skip-gram 방법 제시하는 논문입니다
현재는 skip-gram이 많이 쓰이지만, 처음 제안 됐을때의 두가지 방법의 특징 위주로 보려한다.


word similarity task로 벡터 표현 품질을 측정했고, 기존의 신경망들과 비교한 논문

구문(syntactic) 및 의미론적(semantic) 단어 유사도를 측정하는 테스트에서 훨씬 더 좋은 최고 수준의 성능

•	단어를 연속 벡터로 표현
•	기존 신경망보다 훨씬 빠르고 효율적인 학습
•	syntactic/semantic 유사도 평가에서 최고의 성능

1. Introduction

이미 n-gram 모델이 나온 상태에서 n-gram의 특징을 위주로 보면
단어를 고유 ID로만 다루어서 단어간의 유사성은 반영 되지 않았음

one-hot encoding 같은 경우 관계성 없이 ID를 encoding하였다.
이런 경우 간단하고 데이터가 충분하다면 좋은 성능을 기대할 수 있다.

하지만, 실제 데이터는 그렇지 않은 경우가 많다.

해당 논문에서는 음성 데이터의 예시를 들고 있다. 도메인 내에 고품질의 데이터가 없을 경우엔 아무리 데이터 양을 늘리더라도 성능 향상을 시키는 것은 어렵다.

1.1 Goals of the Paper

따라서 해당 논문의 목표는
큰 말뭉치(수십억 단어)와
더 큰 어휘 수(수백만 단어)에도 견딜 수 있는 모델 구조 제안
단어 간 유사성을 수치화하여 평가 (word similarity task)

1.2 Previous Work

단어를 연속 벡터로 표현하는 시도를 계속해서 해왔으나, 계산량이 많거나 학습이 느렸다.
벡터 차원이나 데이터 규모에 한계가 있어서 단어 벡터를 먼저 학습 한 후에 모델에 적용하는 방법이 제안됐음 (NNLM)
하지만 이번 논문에서 간단하고 효율적으로 벡터 학습 방법을 개발. 고안 하여 단어 간 관계 포착함

2. model architectures

단어를 연속 벡터로 표현하는 기존 신경망 기반 모델들

O=E×T×QO = E \times T \times Q

O: 모델 학습의 전체적인 계산 복잡성 (Overall Computational Complexity)
E: 학습 Epochs의 수 (Number of Training Epochs)
T: 학습 데이터셋에 있는 단어의 수 (Number of Words in the Training Set)
Q: 각 모델 아키텍처에 따라 정의되는 값이며, 하나의 학습 예제(training example)를 처리하는 데 필요한 계산 복잡성 (Computational Complexity per Training Example)

해당 수식을 통해서 Epoch 수와 계산 복잡성, 단어 수가 전체 연산량에 비례함을 알 수 있다.
이 비례 관계는 앞으로 설명할 모든 모델에 적용된다.

2.1 Feedforward Neural Net Language Model (NNLM)

profile
mingdue02

0개의 댓글