스킬캠퍼스

오늘 끝나면

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단과 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. 승패 결과를 경로를 따라 위로 올린다.

핵심은 탐색과 활용의 균형이다. 승률이 높은 수(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 데모)

모델

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

손실

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