스킬캠퍼스
Day 15 · AlphaGo & AlphaZero
강의

오늘 끝나면

AlphaGo & AlphaZero

  • AlphaGo & AlphaZero의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 AlphaGo이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

MCTS + Self-Play의 왕관 (틱택토 AlphaZero 데모) 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

AI · Day 15 / 강화학습

스스로
두는 신

2016년 3월, 기계가 바둑서 인간 이김. 진짜 충격은 1년 뒤였음. AlphaGo는 인간 기보 3천만 수 보고 배움. AlphaZero는 규칙만 알고 자기랑 두며 스스로 신 됨.

P.01AI · Day 15

우주의 원자보다 많은 경우의 수

2016년 3월, 서울. 이세돌 9단 vs DeepMind 서버. 5일 뒤 4 대 1로 기계 이김. 그날부터 AI라는 단어 무게가 달라짐.

체스는 1997년 깨짐(Deep Blue). 바둑은 19년 더 버팀.

바둑판 19×19=361칸 / 한 수 선택지 약 250개 / 가능한 국면 약 10^170. 우주 원자 수(10^80)보다 10^90배 많음.

체스 풀던 brute force(가지치기 + 평가 함수 + 깊이 탐색)가 바둑선 안 통함. 분기가 너무 넓음. "이 국면 얼마나 유리한가"를 사람이 함수로 못 씀.

체스 vs 바둑
log(가능 국면 수)체스10^47바둑10^170원자 10^80

바둑의 경우의 수는 우주의 원자보다 10^90배 더 많다

P.02AI · Day 15

평가 함수를 못 쓰면, 끝까지 둬보면 된다

2006년 Rémi Coulom 발상은 단순함. 평가 함수 못 쓰겠으면, 무작위 시뮬레이션 승률로 대체함. 이게 MCTS(Monte Carlo Tree Search)임.

MCTS는 네 단계를 수백만 번 반복함.

  • Selection — 루트부터 유망한 노드로 내려감(UCB 공식).
  • Expansion — 리프 닿으면 자식 노드 펼침.
  • Simulation — 거기서 끝까지 둬봄. 이게 Monte Carlo 심장.
  • Backup — 승패 결과를 경로 따라 위로 올림.

핵심은 탐색 vs 활용 균형. 승률 높은 수(Q 큼)와 덜 가본 수(N 작음)를 같이 저울질함. 1600번 반복 뒤, 가장 많이 방문한 수를 둠.

MCTS 탐색 vs 활용
MCTS 탐색 vs 활용 · 어느 수에 방문(시뮬)을 쓸지 UCB가 고른다
방문 횟수 n (시뮬을 쓴 양)0a1Q=0.420a2Q=0.710a3Q=0.550a4Q=0.600a5Q=0.30

탐색·활용 균형 — UCB 고전값 √2 ≈ 1.41 근처

시뮬레이션 돌리기 (rollout 누적)
총 시뮬 N = 0
MCTS가 둘 수
그 수 방문
0
진짜 최선
??
아직 안 둬봄 — 시뮬을 돌려보자
많이 돌릴수록 방문이 최선 수로 쏠린다 — 1600회 뒤 가장 많이 방문한 수를 둔다
P.03AI · Day 15

AlphaGo의 네 머리, 그리고 정책을 직접 배우기

DeepMind 도박은 이거였음. MCTS 무작위 시뮬레이션을 딥러닝으로 바꾸면? AlphaGo 2016은 머리 네 개로 굴림.

  • SL Policy — 인간 기보 흉내
  • Rollout Policy — 빠른 시뮬레이션용
  • RL Policy — 셀프플레이로 승률 올림
  • Value Network — 국면 승률 예측

여기서 Day 14 DQN과 갈라짐. DQN은 Q(s,a) 배워서 argmax로 행동 골랐음. 근데 바둑은 행동 361개, 로보틱스는 연속 공간이라 argmax 곤란.

그래서 정책 π(a|s) 자체를 직접 파라미터화하고 경사하강함. 가장 단순한 형태가 REINFORCE. 좋은 결과 낸 행동은 로그 확률 올리고, 나쁜 결과는 내림. 누적 보상 G가 가중치 역할 함.

파이썬 코드 보기
# REINFORCE — Policy Gradient의 원형
log_probs, rewards = [], []
for t in range(T):
    a = Categorical(policy(s)).sample()   # 정책에서 샘플
    log_probs.append(log_prob_of(a))
    rewards.append(r)

G = 0; returns = []
for r in reversed(rewards):
    G = r + gamma * G                     # 뒤에서부터 누적
    returns.insert(0, G)

loss = -(stack(log_probs) * returns).sum()  # 좋은 행동 확률 UP
loss.backward(); opt.step()

문제는 G 분산이 커서 학습 불안정함. baseline(Value) 빼는 게 Actor-Critic / 업데이트 폭 clip으로 묶는 게 PPO. PPO는 지금 강화학습 디폴트이자 ChatGPT RLHF 엔진임.

POLICY GRADIENT
π(a|s) — 행동 분포a1a2a3G 큼 → 확률 ↑∇J =Σ ∇log π· GA2C: G−VPPO: clip

좋은 행동의 로그 확률을 올린다 — REINFORCE → A2C → PPO

P.04AI · Day 15

인간을 버리고, 스스로를 끌어올리다

2017년 AlphaGo Zero 논문 첫 문장은 도발이었음. "무작위 플레이서 시작해, 게임 규칙 외엔 아무 지식 없이 초인적 성능 도달." 인간 기보 0개로.

설계가 급진적으로 단순해짐. Policy와 Value를 신경망 하나로 합침. 사람 데이터와 Rollout 다 버림. 자기랑 둠. 한 판 끝나면 (상태 s, MCTS 분포 π, 승패 z) 모아 학습함.

마법의 정체

신경망 raw policy p를 MCTS가 수백 번 시뮬레이션으로 정제한 게 π임. MCTS가 신경망보다 살짝 더 강함. 그 "살짝 더 강함"이 다음 신경망 학습 목표가 됨.

다음 MCTS는 더 좋은 prior서 출발 / 더 강한 π 생성 / 그게 다시 신경망 끌어올림.망이 스스로를 끌어올리는 선순환임.

AlphaGo Zero는 3일 만에 이세돌 이긴 버전 넘어섬. 40일 뒤엔 100 대 0으로 압살함.

SELF-PLAY 선순환
신경망 f_θ(p, v) 출력MCTS살짝 더 강함셀프플레이 데이터(s, π, z)prior pπ 분포 저장p가 π 흉내

MCTS가 망보다 살짝 강하고, 그게 다음 망의 목표가 된다

P.05AI · Day 15

ChatGPT의 DNA에 AlphaZero가 있다

AlphaZero는 게임 AI가 아님. 오늘날 거대 모델의 뿌리임. AlphaZero 보상은 게임 승패 / ChatGPT 보상은 인간 선호 학습한 Reward Model. 근데 둘 다 PPO 기반, 둘 다 자기 출력으로 자기 키우는 구조임.

교훈 하나. 좋은 보상 신호 하나만 정의하면, 사람이 정답 안 줘도 시스템이 스스로 진화함. 물류 최적화, 신소재 발견, 칩 배치 설계가 이미 이 방식으로 SOTA 깸.

교훈 둘. 4국 78수. AlphaGo가 1/10,000 확률로도 고려 안 한 이세돌 한 수에 Value Network 허둥댐. 학습한 분포 안에선 신, 분포 밖에선 아마추어. 오늘날 LLM 환각, 자율주행 edge case에 그대로 적용됨.

Q. AlphaZero 셀프플레이에서 MCTS가 신경망보다 강한 이유는?신경망 raw policy p는 한 번 추론. MCTS는 그 prior서 출발해 수백 번 시뮬레이션하며 실제로 둬보고 결과 누적함(탐색). 그래서 MCTS 방문 분포 π가 신경망보다 항상 살짝 더 정제됨. 이 차이가 다음 학습 목표(증류 대상)가 돼서 선순환 만듦.
계보 1997 → 2025
2006MCTS — Crazy Stone2016AlphaGo — 이세돌 4:12017AlphaGo Zero — 인간 02017AlphaZero — Chess/Go/Shogi2018OpenAI Five — PPO Self-Play2019MuZero — 규칙도 학습2022ChatGPT — PPO RLHF

Self-Play의 계보 — 보드게임에서 거대 모델 RLHF까지

3줄 요약

  1. 1MCTS + Self-Play의 왕관 (틱택토 AlphaZero 데모)
  2. 2AlphaGo & AlphaZero은 준비운동 → 지도학습 → 시퀀스 → 생성모델 → 실무 적용 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

AlphaGo

MCTS + Self-Play의 왕관 (틱택토 AlphaZero 데모)

모델

입력을 받아 예측이나 출력을 만드는 계산 규칙

손실

예측이 정답에서 얼마나 빗나갔는지 재는 숫자