구글 워드 임베딩 제국 2부 (SGNS 네거티브 샘플링)

소프트맥스 함수 연산량 때문에 딥러닝 서버가 터져 나가는 것을 막기 위해, 구글이 10만 단어 중 ‘오답’ 몇 개만 억지로 골라와서 거짓말 시험지를 만드는 마법의 트릭, 네거티브 샘플링(Negative Sampling)의 수학적 진실을 공개합니다.


00. 소프트맥스(Softmax) 가중치 미세 조정의 폭발

전 챕터에서 단어망 통과 계산의 마지막 병목은 바로 소프트맥스 함수계단 통과와 역전파였습니다.

기계가 Cat 이라는 주인공을 던져서 옆에 Mat 이라는 경호원을 추론해야 하는 Skip-gram 수식 과정입니다. 기계는 Mat이라는 정답을 한 번 도출해 내기 위해, 출력층에서 도열해 있는 방대한 전 세계 영어 10만 개 단어 사전을 몽땅 조회 해서 엑셀 숫자를 갱신(역전파 Update) 해야 합니다. Mat은 100점, 쓸모없는 Apple 빵점, Chair 빵점… 이 거대한 무식한 연산을 딥러닝 에폭(단계)마다 수천만 번 돌리니 학습이 며칠씩 지연되고 GPU가 과열로 무너졌습니다.

01. 구글의 오답지 조각 꼼수: 네거티브 샘플링 (SGNS)

구글 연구진은 천재적인 꼼수 아이디어를 냅니다. “야!! 10만 개를 왜 다 보고 채점하고 자빠졌냐? 그냥 10만 개 중에 대충 오답 단어 5개만 무작위(Random)로 뽑아서 억지로 시험지에 쑤셔 넣어! 그리고 그거 5개만 가지고 모델이 채점하게 해버려!”

이것이 Word2Vec의 핵심 엔진, SGNS (Skip-Gram with Negative Sampling) 기술입니다.

시험지 쪼개보기 분석

기존 모델이 10만 지선다형 객관식 시험표를 풀어야 했다면, SGNS 모델은 갑자기 초등학생 수준의 OX 바이너리 참/거짓 분류 게임(Binary Classification Binary) 으로 뇌 수술을 당해버립니다.

Word2Vec SGNS Process Structure

  1. 테이블 중앙 (정답 1개): 내가 방금 본 윈도우 스팬 안에 들어있던 실제 경호원 단어 한 쌍 (Cat, Mat) $\to$ 얘네 둘이 세트로 나타났으니까 너희 둘이는 무조건 연결 Label [True (1)] 이야 참!
  2. 거짓말 테이블 (오답 5개 무작위 샘플링): 구글 사전 전체 10만 개 어딘가에서 아무 관련도 없는 똥 같은 단어 5개를 무작위 뺑뺑이로 던져서 끌고 옵니다. (Cat, Apple), (Cat, Pencil) … $\to$ 얘네들은 당연히 문장에 같이 붙어있던 적이 없으니까 무조건 Label [False (0)] 이야 거짓!

02. 연산량의 비약적인 99% 단축 마법

위처럼 O/X 게임으로 문제를 치환해 버린 결과는 수학적으로 엄청났습니다.

  • 과거: 1개의 문제를 풀 때마다 10만 개 종류의 가중치 $W$ 미적분 편미분 수식을 돌려야 했습니다.
  • SGNS 마법: 오답 5개(Negative)와 정답 1개(Positive), 단 6개의 가중치(Weight Matrix) 계산과 미분 연산만 아주 잽싸게 갈겨버리고 끝내면 됩니다! (기존 모델 대비 연산량이 $\frac{1}{16000}$ 로 줄어드는 미친 가성비 최적화 트릭입니다)

03. 네거티브 뺑뺑이 룰렛판의 확률 철학 (Frequency Weighting)

오답 5개를 무작위로 뽑아올 때, 그냥 공평하게 공 던지기를 하는 게 절대 아닙니다.

[!CAUTION]
📖 초심자를 위한 쉬운 해설: 불용어의 패널티 룰렛
오답을 뽑는 확률의 룰렛판 크기는 “단어가 평소에 얼마나 자주 등장했느냐(단어 빈도수, Frequency)”에 비례하여 크기가 조절됩니다. 즉 우주구급 스팸 단어인 The, a, is 같은 놈들은 룰렛판 면적이 어마어마하게 큽니다. 다트(랜덤)를 던질 때마다 얘네가 주로 오답(거짓, False 0)으로 미친 듯이 많이 찍혀서 불려 나옵니다.

끊임없이 0점으로 계속 패널티 매를 맞으며 딥러닝 가중치가 바닥으로 깎이기 때문에, 저절로 이들 불용어 쓰레기 단어들의 Vector 위치 파워는 알아서 자연도태 되어버립니다. TF-IDF를 쓰지도 않았는데 딥러닝 룰렛만으로 불용어를 응징해 버리는 아주 우아한 설계입니다!

이렇게 네거티브 샘플링이라는 천재적 엔진을 무장한 Word2Vec은 전 세계 NLP 학계를 점령했습니다. 하지만 또 다른 라이벌 집단들은 Word2Vec이 잡지 못하는 아주 커다란 구멍 한 가지를 찾아내고 반란을 준비합니다.

서브목차