시즌 1 · 알파고편 / PART 5 · PART 5 · AlphaGo (2016) / Ch 2 · RL Policy Network

강화학습 — 흉내내기에서 이기기로

👋 이 챕터에서 다룰 것

지난 챕터의 SL Policy는 "사람 흉내". 이번 챕터에서 그 위에 강화학습(Reinforcement Learning)을 적용 — "이기기"로 학습 목표 전환.

강화학습이 무엇인가:

📖 강화학습 (RL) 핵심
  • 에이전트(Agent): 행동을 결정 (우리 경우 = policy network)
  • 환경(Environment): 행동에 반응 (바둑 게임)
  • 보상(Reward): 행동 결과의 점수 (이기면 +1, 지면 -1)
  • 목표: 누적 보상을 최대화하는 정책 학습

지도학습(SL)과 결정적 차이: 정답 라벨이 없음. 행동의 결과 보상만 있음. 보상을 최대화하는 방향으로 학습.

🎯 알파고의 RL Pipeline
  1. 초기화: SL Policy의 가중치로 RL Policy 시작
  2. 자가 대국: RL Policy(현재) vs RL Policy(과거 버전 무작위)
  3. 결과 수집: 한 게임 끝나면 모든 수에 결과 라벨 (이긴 쪽 +1, 진 쪽 -1)
  4. Policy Gradient: 이긴 게임의 수의 확률 ↑, 진 게임의 수의 확률 ↓
  5. 반복: 1, 2, ..., 만 번. SL Policy를 점차 강하게 만듦
💡 왜 과거 버전과 대국?

현재 자기 자신과만 대국하면? — 같은 정책이라 항상 비슷한 패턴. 다양성 부족.

해결: "opponent pool" — 학습 중간 저장된 과거 모델들 중 무작위 선택. 다양한 상대 → 다양한 시나리오 학습.

2016 알파고는 500개 정도의 과거 모델을 풀에 보유.

📊 RL 학습 결과 (논문)
  • SL Policy 단독 ELO: 1,917 (시작점)
  • RL Policy 단독 ELO: 2,200 (+283)
  • RL vs SL 직접 승률: 80% (RL 압도)
  • 학습 시간: 50 GPU × 1일 (SL 학습 후 추가)

같은 신경망 구조, 같은 데이터(자가 대국), 다른 학습 목표 → ELO 283 차이.

이 챕터:

  • Policy Gradient — RL의 핵심 알고리즘
  • 자가 대국으로 데이터 생성
  • RL이 발견한 새로운 수 — 사람이 안 두는 강한 수
  • 한계 — value function이 또 필요한 이유