구글 워드 임베딩 제국 1부 (CBOW와 Skip-gram)
NNLM의 연산 병목 현상을 천재적인 아이디어로 제거한 구글의 전설적인 모델 Word2Vec 체계의 사상을 파헤칩니다. 은닉층 뇌 구조 전체를 삭제하는 극단적인 다이어트와, 스파이 색출 게임에 비유되는 CBOW, Skip-gram 추론의 수학적 매커니즘을 배웁니다.
00. NNLM 모델의 실패 요인과 구글의 칼질
과거의 NNLM은 다음 단어를 정확하게 맞춘다는 성능 면에서는 훌륭했지만 비효율성의 극치였습니다.
- 과거 집착증: 마르코프 체인 방식처럼 오로지 자기 앞에 뱉어진 단어 몇 개만 바라보고 다음 단어를 겨냥하여 추론하는 일방통행 모델이었습니다. (뒤에 올 맥락을 보지 못함)
- 무거운 비만 은닉층: 활성 함수(Activation Function)가 물려있는 무식하게 큰 비선형 은닉층 연산을 돌렸기 때문에, 학습 속도와 전기 병목이 너무 심각했습니다.
구글은 2013년 이 상황을 보고 아주 과감한 해고(?) 결단을 내립니다. “야, 쓸데없이 계산만 길어지는 안쪽의 은닉층 망 다 갖다 버리고 헐어버려!!”
01. 구글의 Word2Vec 혁신: 은닉층 삭제 (Shallow Network)
입력층과 출력층 사이를 막고 있던 두껍고 복잡한 연산 은닉층을 도려내고, 그저 껍데기뿐인 얇은 투사층 (가중치 연결선) 만 달랑 남겨둔 극단적인 경량화 인공신경망입니다.
뇌 구조를 절반으로 단순화했음에도 불구하고, 앞뒤 이웃 단어(Window 문맥)를 수학적으로 철저하게 반영하는 트릭을 섞어 압도적인 성능과 속도 스펙을 자랑하는 괴물이 되었습니다. 이 Word2Vec은 스파이 숨바꼭질의 방향성에 따라 CBOW와 Skip-gram 2가지 쌍둥이 알고리즘으로 분리되어 작전을 수행합니다.
02. CBOW (Continuous Bag of Words) 란?
“주변의 빈칸 힌트 단어(Context)들을 보여줄 테니, 가운데 뚫린 빵꾸 빈칸 단어(Center word)를 맞춰봐라!”
- 비율: 수십 개의 주변 들러리 입력 노드 $\to$ 딱
1개의 중앙 타겟 단어. 여러 명의 목격자 단서를 종합하여 가운데 범인을 찍어내는 추리 게임입니다. - 윈도우 크기 설정(Window size): 만약 윈도우 스펙 수치를
2로 설정하면, 중앙 단어 기준으로 앞의 문장 2개 단어, 뒤의 문자 2개 단어(총 4개의 범위 감시망)만 스캔해서 연산합니다.

[!TIP]
📖 초심자를 위한 쉬운 해설: 대통령 경호원 맞추기
The fat ( ? ) sat on the mat이라는 거대한 범죄 스크립트가 있습니다.
윈도우(망원경) 스팬을2개로 잡고 돋보기를 들이댔더니!
정체 모를 구멍(?) 앞에The와fat이라는 뚱뚱한 경호원 2명이 서 있고, 뒤에sat과on이라는 경호원 2명이 서 있습니다. 기계는 앞뒤의 4명 경호원 엑셀 데이터를 종합하여 가운데[cat]이라는 주인공 고양이 범인이 서 있을 확률을 단 1번의 미적분 계산으로 띄워 올립니다. 이게 CBOW입니다.
03. CBOW 의 수학적 작동 과정 (평균의 함정)
- 이웃한 주변 단어(경호원 4명)의 원-핫 인코딩 배열이 우르르 입력 고속도로를 타고 투사층으로 들어옵니다.
- 가중치 룩업 테이블 탐색 트릭을 활용해 가중치와 곱연산되어 압축된 사이즈로 쫙 합쳐집니다.
- 💥 가장 중요한 부분: 경호원 4명은 계급이 똑같기 때문에, 투사층에서 이 4명의 단어 벡터 파워 값을 모두 더한 다음 수학적으로 평균 구하기 에버리지(Mean) 연산을 때려버려 하나의 압축 덩어리로 만듭니다.
- 평균 합산된 단일 스탯 파워가 출력층을 시그모이드(Softmax) 계단을 타며 10만 개 종류의 사전 단어 확률들을 계산한 뒤 가장 높은 것을
[cat]으로 출력합니다.
04. Skip-gram (스킵-그램) 의 역발상 마법 작전
이와 달리, CBOW 뇌 구조를 물구나무 세워 완전히 반대 방향으로 연산하는 또 다른 모델이 바로 Skip-gram입니다. “자, 여기 중심 단어(주인공 범인) 하나만 그냥 딱 던져줄 테니까, 너 혼자만의 임베딩 정보만으로 네 앞뒤에 숨어있던 경호원 단어들이 누구누구였는지 싹 다 연산 추론해서 내뱉어!!”

- 비율: 딱
1개의 중앙 타겟 은닉망 투입 단서 $\to$ 수십 개의 주변 들러리 예측 출력 도출. - 특징: CBOW처럼 목격자 4명의 말을 짬뽕(평균 함정)하지 않습니다! 단서 단 1개만을 보고 좌우 4개의 빈칸을 추론해 내기 위해 인공지능이 무진장 혹독한 훈련과 지능 스탯업 역전파를 스스로 겪게 됩니다.
- 평가 결과: 이처럼 혹독하게 강압 훈련된 Skip-gram의 단어 벡터가 CBOW보다 문서 품질, 기하학 맵핑 표현력이 전반적으로 압도적으로 월등하게 훌륭하다고 검증되었으며 현존하는 모든 Word2Vec의 디폴트 기준이 되었습니다.
05. 구글의 심장마비 직전: 계산의 폭발
하지만 찬란한 영광에도 불구하고 치명적인 수학적 심장마비를 겪게 됩니다. 소프트맥스(Softmax) 분수 함수의 치명적 버그입니다.
Skip-gram이 다음 주변 단어를 도출할 때 10만 단어 중 정답을 찾기 위해, 딥러닝 출력 계층에서는 매 연결 예측 스텝마다 전체 10만 개 분류 클래스의 방대한 가중치를 싹 다 미분계산을 돌리며 에너지를 낭비하는 병목 헛삽질이 벌어졌습니다.
이러다간 구글 서버 전기세가 바닥납니다! 결국 구글은 이 계산 폭발을 무마하기 위해 전 세계 NLP를 흔들어놓은 사기성 편법 (Negative Sampling) 을 창조해 냅니다. 다음 챕터에서 이 속임수 수학의 비밀을 다룹니다.