CBOW

CBOW(Continuous Bag-of-Words)는 구글(Google) 연구진이 2013년에 제안한 Word2Vec 단어 임베딩 학습 모델의 두 가지 주요 아키텍처 중 하나다.

텍스트 데이터에서 특정 위치에 있는 중심 단어(Target Word)를 예측하기 위해, 그 단어 주변에 위치한 주변 단어(Context Words)들을 입력값으로 사용하는 인공 신경망 모델이다.

핵심 원리 및 구조 (Core Mechanism and Architecture)

  1. 윈도우 크기(Window Size) 설정: 중심 단어를 기준으로 앞뒤로 몇 개의 단어를 문맥으로 참조할지 결정한다. 예를 들어 윈도우 크기가 2인 경우, 중심 단어 앞의 2개 단어와 뒤의 2개 단어, 총 4개의 단어가 모델의 입력값으로 사용된다.
  2. 순서 무시 (Bag-of-Words): 입력된 주변 단어들의 원핫 인코딩(One-hot encoding) 벡터에 가중치 행렬을 곱해 임베딩 벡터를 구한 뒤, 이들의 평균값(또는 합)을 계산하여 하나의 은닉층(Projection Layer) 상태로 투영한다. 단어가 입력된 순서를 무시하고 마치 가방(Bag)에 무작위로 넣은 것처럼 취급하기 때문에 ‘Bag-of-Words’라는 명칭이 사용되었다.
  3. 중심 단어 예측: 통합된 은닉층 벡터는 출력층으로 전달되며, 소프트맥스(Softmax) 연산을 통해 전체 어휘 사전(Vocabulary) 중 어떤 단어가 중심 단어로 등장할 확률이 가장 높은지 계산한다. 실제 중심 단어와의 오차를 추정하여 역전파(Backpropagation) 과정을 통해 가중치 행렬을 업데이트한다.

Word2Vec 아키텍처 비교 (CBOW vs. Skip-gram)

Word2Vec을 구성하는 두 가지 학습 방법론은 입력 및 예측 방향성이 정확히 반대이며, 구체적인 특징 차이는 다음과 같다.

비교 항목CBOW (Continuous Bag-of-Words)Skip-gram
추론 방향 (Inference Direction)다수의 주변 단어를 기반으로 하나의 중심 단어 예측하나의 중심 단어를 기반으로 다수의 주변 단어 예측
데이터 처리 (Input/Output)Multi-Input Single-OutputSingle-Input Multi-Output
연산량 및 학습 속도주변 단어 벡터들을 평균 내어 단일 목표를 예측하므로 연산량이 적고 학습 속도가 빠름단일 벡터로 여러 주변 단어를 개별 예측하므로 연산량이 많고 학습 소요 시간이 김
적합한 데이터 및 강점데이터셋이 상대적으로 작고, 빈번하게 등장하는 자주 쓰이는 단어(Frequent words) 학습에 유리함대규모 데이터셋 훈련 및 빈도가 낮은 희귀 단어(Rare words)의 임베딩 품질 확보에 우수함

출처 (Sources)

Entities