커닝의 미학: 깁스 샘플링(Gibbs Sampling) 통계 역추적 추론

현실 분석에서 기계는 단어 하나 텍스트($W$)를 쳐다본다고 해서 “아, 이거 옛날에 76% 비율 주사위($\theta$)로 던져서 나온 단어네!” 하고 단번에 마법처럼 통신망을 역산정하는 초능력 미적분 함수 같은 건 갖고 있지 않습니다. 대신 무식하게 100만 번 책장을 덮고 스티커를 바꿔 붙이며 커닝을 시전하는 가장 무식하지만 정교한 통계 역추적 스킬, 깁스 샘플링을 파헤칩니다.


00. 깁스 샘플링 (Gibbs Sampling) 의 무식한 첫 시작

방정식 하나로 시원하게 근의 공식을 때려서 한 방에 답을 내는(해석적 해) 일은 이 복잡한 LDA 토픽 모델에서 절대 불가능합니다. 그래서 기계는 MCMC (Markov Chain Monte Carlo) 계열의 아주 뻔뻔한 노가다 훈련 방식을 채택합니다.

Gibbs Sampling Matrix Flow

  1. 처음엔 그냥 난장판 부리기 (Initialization): 기계는 분석이고 뭐고 귀찮으니까, 1만 장의 문서 안에 박힌 모든 단어 수십만 개 위에 그냥 랜덤으로 1번 토픽, 5번 토픽, 3번 토픽 아무 스티커나 미친 듯이 엉망진창으로 다 붙여버립니다.
  2. 이때 붙여진 초기 상태는 정답과 100만 광년 동떨어진 완벽히 틀린 완전한 쓰레기 비율 표찰입니다.

01. 수렴할 때까지 무한 반복 최적화 루프 (MCMC)

엉망진창 스티커가 다 발라지면, 이제 중앙 감찰관(기계 알고리즘)이 단어 하나하나를 순서대로 붙잡고 잔소리를 하며 스티커를 뜯어고치는 길고 긴 고통의 사이클을 1만 번 무한 반복 회전시킵니다. 수렴(더 이상 스티커가 안 바뀔 때)할 때까지 루프는 멈추지 않습니다.

랜덤 스티커가 붙은 어떤 억울한 단어 $w_i$ 하나를 골라서 감찰관이 다그칩니다. “야, 너 임마 진짜 고향 원래 정답 토픽표가 어딘지 까먹었지? 자, 내가 눈 감아줄 테니까 지금 당장 네 주변 좌우 동네 분위기 좀 쭉 훑어보고 눈치껏 확률적으로 토픽 제일 비슷한 거 주워다가 다시 바꿔 달렴.”

02. 눈치 게임의 2가지 절대 커닝 잣대 (업데이트 원리)

기계는 단어 1개의 토픽 스티커를 갈아치울 때, 아무렇게나 고치는 게 아니라 수학적으로 기가 막힌 2가지 커닝 잣대 비율을 미적분으로 짬뽕 시켜서 갈아치웁니다.

Inference Inner Local Example

\[P(z_i = k \mid z_{-i}, w) \propto \left(\text{문서 내 토픽 지분율}\right) \times \left(\text{전체 단어 중 토픽 지분율}\right)\]

기계는 저 무시무시한 조건부 확률 최우도 수식을 통해 단어의 스티커를 교체합니다. 이 공식의 알맹이는 소름 돋게도 아주 단순한 인지상정입니다.

커닝 잣대 1번: 내 문서 안의 형제 놈들은 지금 무슨 표찰표를 차고 있지? (형제 눈치 보기)

내가 살고 있는 [문서 1번] 종이 안에 같이 단칸방을 쓰고 있는 룸메이트 다른 단어 형제들(Basketball, Player)을 쓱 쳐다봅니다. 이놈들을 보니 압도적으로 [Topic 2 (스포츠)] 표찰 스티커를 달고 있습니다!

  • 단어의 생각: “헐.. 내 형제들이 싹 다 스포츠 토픽을 달고 있다고? 그럼 나(Baseball 단어)도 지금 분위기상 뻘쭘하게 나 혼자 [Topic 1 (정치)] 스티커 고집부려 달지 말고, 확률적으로 Topic 2 일 가능성이 압도적으로 높으니 저걸로 재빨리 갈아타야겠다!”

커닝 잣대 2번: 바깥 옆 동네에 사는 별거 중인 내 호적 스펠링 형제들은 무슨 표찰표를 달았지? (혈통 눈치 보기)

하지만 한 번의 잣대로 확신하긴 불안해서, 이번엔 내 문서 방을 벗어나서 저 옆동네 저기 멀리 [문서 7번][문서 55번]에 흩어져 살고 있는 진짜 나의 스펠링 분신 도플갱어 단어 Baseball 들한테 무전기를 쳐 물어봤습니다. “야 분신들아, 너희들 지금 무슨 토픽 표찰 달고 살아 남았냐?”

  • 분신들의 대답: 저 바깥 동네 스펠링 형제들도 전부 다 [Topic 2 (스포츠)] 스티커를 차고 있다고 무전이 옵니다!
  • 단어의 확신: “아하! 이 Baseball 이란 스펠링 단어의 유전자 혈통 본성은 태생부터 원래 Topic 2 소속인 거구나! 완전 100% 확정 땅땅땅!”

03. 노가다의 승리와 토픽 백과사전 분리의 완성

이렇게 수십만 개의 단어 덩어리들이 수만 번의 에폭(Epoch) 동안, 서로서로 형제 단어 눈치 보고, 외부 친척 스펠링 눈치 보는 윗동네 확률 계산 커닝을 쉬지 않고 돌고 돕니다. 결국 어느 순간 거대한 무리의 단어군이 끼리끼리 완벽하게 결집하여 서로 안정화(수렴)되는 타이밍이 찾아오고, 여기서 더 이상 토픽 스티커가 영원히 바뀌리 않을 때 학습이 쾅 하고 정지됩니다!

  • 이 지옥의 노가다 수렴이 끝났을 때 컴퓨터가 들고 있는 최종 확률 엑셀표 덩어리. 바로 그것이 조물주가 은밀히 과거에 숨겨놨던 전설의 토픽-문서 확률 비율(세타) 이며 단어 주머니 빈도(파이) 인 것입니다!

LSA vs LDA Concept Mapping

04. LSA 와 LDA 패러다임 총평

패러다임 항목 LSA (잠재 의미 분석) LDA (잠재 디리클레 할당)
핵심 뼈대 수학 선형 대수학 행렬 자르기 (Truncated SVD 분해 타격) 통계 분포학 및 사후 확률 역추론 (디리클레 랜덤 분포 + 깁스 샘플링 커닝 루프)
철학적 대전제 “문서랑 단어 엑셀을 거대 프레스기로 강제로 찌그러뜨려서 3차원 축을 뽑으면, 그 축이 잠재 의미(토픽)겠지?” “문서는 어떤 신이나 규칙이 정해진 확률에 의해 뽑기로 쓴 창작물이니, 우린 그 결과물을 훔쳐보고 억지로 시간 역행 추첨 비율 파라미터를 복구하자!”
강약점 평가 벡터 행렬 거리를 째기 때문에 속도는 상대적으로 빠르나 단어 1개 추가 시 전체 시스템 재부팅 필수. 토픽 분포 단어 추정이 압도적으로 예쁘고 정확하며 뉴스 추가에도 유연함. 그러나 깁스 MCMC 등 수천만 회 반복 루프 펌핑으로 컴퓨터 CPU 연산 자원 소모 큼.

이 LDA로 인해 2010년대의 “주제 파악 인공지능(Topic Modeling)” 기법은 정점을 찍게 됩니다. 이후 이 모든 텍스트 병목을 차원 언어 모델 자체의 문맥 능력으로 부숴버리는 어텐션(Attention) 아키텍처, 딥러닝 트랜스포머의 여명이 차분히 밝아오고 있습니다.

서브목차