AlphaGo: 학습된 사전으로 폭을, 학습된 평가로 깊이를 자르다
한 줄 요약
바둑에서 순수 UCT/MCTS가 아마추어 고수에서 멈춘 이유는 둘이다 — 수당 ~250개의 분기(폭)와, 무작위 롤아웃으로는 부정확한 국면 평가(깊이). AlphaGo의 설계는 이 두 병목에 학습된 신경망을 하나씩 꽂은 것이다: 정책망이 “사람이라면 고려할 수”로 폭을 자르고, 가치망이 “이 국면의 승률”로 깊이를 자른다. 학습 파이프라인(지도학습 → self-play 강화학습 → 가치 회귀)과 실행 엔진(비동기 MCTS)의 분업이 이 논문의 정체성이다.
핵심 기여
-
4개의 네트워크, 4개의 역할: (1) SL 정책망 — KGS 기보 3천만 수로 지도학습한 13층 CNN, 착수 예측 정확도 57%. (2) 롤아웃 정책 — 선형 softmax, 정확도는 낮지만 착수당 ~2μs로 수천 배 빠르다(시뮬레이션 전용). (3) RL 정책망 — 에서 출발해 과거 버전들과의 self-play + REINFORCE류 policy gradient로 강화, SL 정책망 상대 80% 승률. (4) 가치망 — 국면 → 승률 회귀. 주목할 배치: 탐색의 사전으로는 RL망이 아니라 SL망을 쓴다(인간의 다양한 수를 남겨두는 쪽이 탐색에 유리했다) — RL망의 역할은 다음 항목의 데이터 생성이다.
-
가치망 학습과 과적합의 교훈: 한 판의 국면들은 강하게 상관되어 있어 기보 데이터로 그대로 회귀하면 판 자체를 외워버린다(train-test MSE 격차가 크다). 해법은 RL 정책망의 self-play로 서로 다른 판에서 하나씩 뽑은 3천만 개 국면을 새로 생성하는 것 — 강화학습이 최종 시스템에 기여하는 경로가 “정책을 직접 쓰는 것”이 아니라 “평가 함수의 학습 데이터를 만드는 것”이라는 점이 이 시스템의 미묘하고 중요한 설계다.
-
APV-MCTS — 조립: 탐색 중 각 노드에서
— UCT의 탐험 보너스에 SL 정책망의 사전 가 곱해진 변형(PUCT 계열)이다: 방문이 적을 때는 사람이 둘 법한 수부터, 방문이 쌓이면 가 지배. 잎 평가는 가치망과 롤아웃의 혼합 (가 어느 한쪽 단독보다 강했다 — 두 평가의 오류가 상보적이라는 증거). CPU 1,202개(시뮬레이션)와 GPU 176개(신경망)를 비동기로 묶은 분산판까지.
- 결과: 다른 바둑 프로그램들에 494승 1패, 그리고 2015년 10월 유럽 챔피언 판 후이에게 공식 대국 5-0 — 프로 기사를 호선으로 이긴 최초의 프로그램이다(논문 발표 후 2016년 3월의 이세돌 4-1 승리는 이 시스템의 개량판). “탐색 공간이 너무 커서 바둑은 10년 이르다”는 통념에 대한 반례가 됐는데, 정확히는 탐색을 줄여서 이겼다 — 딥 블루보다 수천 배 적은 국면을 평가한다는 것이 논문 스스로 강조하는 지점이다.
계보에서의 위치
이 시리즈(계획과 탐색 글)에서 쌓아온 부품 전부가 처음으로 한 시스템에 등장하는 지점이다 — CNN 표현 학습(AlexNet 이후의 유산), policy gradient, 가치 함수 회귀, 그리고 UCT의 결정 시점 계획. 다만 구조적으로는 과도기다: 인간 기보 의존, 네트워크 4개, 수작업 롤아웃 특징 — 이 복잡성 전부를 걷어내고 “MCTS 자체가 정책 개선 연산자”라는 순수한 루프만 남긴 것이 이듬해의 AlphaGo Zero이고, 그 순간 이 논문의 파이프라인은 원리(탐색과 학습의 결합)만 남기고 대체된다. 그 원리는 이후 MuZero(모델까지 학습), 그리고 LLM 시대의 “탐색으로 학습 데이터를 증폭”하는 접근들로 계속 이어진다.