본문으로 건너뛰기

핵심 논문 가이드

이 문서는 바둑 AI 발전사에서 가장 중요한 논문들을 정리하여 빠른 이해를 위한 요약과 기술적 핵심을 제공합니다.

바둑 AI 발전사의 이정표 논문으로는 Coulom의 MCTS(2006), AlphaGo(2016), AlphaGo Zero(2017), 일반화된 AlphaZero(2017), 그리고 David Wu가 여러 효율 개선을 제안한 KataGo(2019)가 있습니다. 기초를 이해하려면 먼저 AlphaGo를 읽고, 구현 참고용으로는 KataGo 논문을 중심으로 보는 것이 좋습니다.


논문 개요

타임라인

2006  Coulom - MCTS 바둑에 최초 적용
2016 Silver et al. - AlphaGo (Nature)
2017 Silver et al. - AlphaGo Zero (Nature)
2017 Silver et al. - AlphaZero
2019 Wu - KataGo
2020+ 다양한 개선 및 응용

읽기 권장

목표권장 논문
기초 이해AlphaGo (2016)
자가 대국 이해AlphaGo Zero (2017)
범용 방법 이해AlphaZero (2017)
구현 참조KataGo (2019)

1. MCTS의 탄생 (2006)

논문 정보

제목: Efficient Selectivity and Backup Operators in Monte-Carlo Tree Search
저자: Rémi Coulom
발표: Computers and Games 2006

핵심 기여

몬테카를로 방법을 바둑에 체계적으로 최초 적용:

이전: 순수 무작위 시뮬레이션, 트리 구조 없음
이후: 탐색 트리 구축 + UCB 선택 + 통계 역전파

핵심 개념

UCB1 공식

선택 점수 = 평균 승률 + C × √(ln(N) / n)

여기서:
- N: 부모 노드 방문 횟수
- n: 자식 노드 방문 횟수
- C: 탐색 상수

MCTS 4단계

1. Selection: UCB로 노드 선택
2. Expansion: 새 노드 확장
3. Simulation: 종국까지 무작위 시뮬레이션
4. Backpropagation: 승패 역전파

영향

  • 바둑 AI가 아마추어 단급 수준에 도달
  • 이후 모든 바둑 AI의 기초가 됨
  • UCB 개념이 PUCT 발전에 영향

2. AlphaGo (2016)

논문 정보

제목: Mastering the game of Go with deep neural networks and tree search
저자: Silver, D., Huang, A., Maddison, C.J., et al.
발표: Nature, 2016
DOI: 10.1038/nature16961

핵심 기여

딥러닝과 MCTS를 최초로 결합, 인간 세계 챔피언 격파.

시스템 아키텍처

기술 요점

1. 지도학습 Policy Network

# 입력 특성 (48개 평면)
- 내 돌 위치
- 상대 돌 위치
- 활로 개수
- 잡은 후 상태
- 합법 착수 위치
- 최근 몇 수 위치
...

2. 강화학습 개선

SL Policy → 자가 대국 → RL Policy

RL Policy가 SL Policy보다 약 80% 승률로 강함

3. Value Network 학습

과적합 방지의 핵심:
- 각 대국에서 하나의 국면만 추출
- 유사 국면 중복 방지

4. MCTS 통합

리프 노드 평가 = 0.5 × Value Network + 0.5 × Rollout

Rollout은 빠른 Policy Network 사용 (정확도 낮지만 속도 빠름)

주요 데이터

항목수치
SL Policy 정확도57%
RL Policy 대 SL Policy 승률80%
학습 GPU176
대국 GPU48 TPU

3. AlphaGo Zero (2017)

논문 정보

제목: Mastering the game of Go without human knowledge
저자: Silver, D., Schrittwieser, J., Simonyan, K., et al.
발표: Nature, 2017
DOI: 10.1038/nature24270

핵심 기여

인간 기보 전혀 필요 없이 처음부터 자가 학습.

AlphaGo와의 차이점

측면AlphaGoAlphaGo Zero
인간 기보필요불필요
네트워크 수4개1개 듀얼 헤드
입력 특성48 평면17 평면
Rollout사용사용 안 함
잔차 네트워크없음있음
학습 시간수 개월3일

핵심 혁신

1. 단일 듀얼 헤드 네트워크

2. 단순화된 입력 특성

# 17개 특성 평면만 필요
features = [
current_player_stones, # 내 돌
opponent_stones, # 상대 돌
history_1_player, # 히스토리 상태 1
history_1_opponent,
... # 히스토리 상태 2-7
color_to_play # 누구 차례
]

3. 순수 Value Network 평가

더 이상 Rollout 사용 안 함
리프 노드 평가 = Value Network 출력

더 간결하고 더 빠름

4. 학습 흐름

학습 곡선

학습 시간    Elo
─────────────────
3시간 초보자
24시간 AlphaGo Lee 초과
72시간 AlphaGo Master 초과

4. AlphaZero (2017)

논문 정보

제목: Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm
저자: Silver, D., Hubert, T., Schrittwieser, J., et al.
발표: arXiv:1712.01815 (이후 Science, 2018 발표)

핵심 기여

범용화: 동일 알고리즘을 바둑, 체스, 장기에 적용.

범용 아키텍처

입력 인코딩 (게임별) → 잔차 네트워크 (범용) → 듀얼 헤드 출력 (범용)

게임간 적응

게임입력 평면행동 공간학습 시간
바둑1736240일
체스11946729시간
장기3621125912시간

MCTS 개선

PUCT 공식

선택 점수 = Q(s,a) + c(s) × P(s,a) × √N(s) / (1 + N(s,a))

c(s) = log((1 + N(s) + c_base) / c_base) + c_init

탐색 노이즈

# 루트 노드에 Dirichlet 노이즈 추가
P(s,a) = (1 - ε) × p_a + ε × η_a

η ~ Dir(α)
α = 0.03 (바둑), 0.3 (체스), 0.15 (장기)

5. KataGo (2019)

논문 정보

제목: Accelerating Self-Play Learning in Go
저자: David J. Wu
발표: arXiv:1902.10565

핵심 기여

50배 효율 향상, 개인 개발자도 강력한 바둑 AI를 학습할 수 있게 함.

핵심 혁신

1. 보조 학습 목표

총 손실 = Policy Loss + Value Loss +
Score Loss + Ownership Loss + ...

보조 목표가 네트워크의 빠른 수렴을 도움

2. 글로벌 특성

# 글로벌 풀링층
global_features = global_avg_pool(conv_features)
# 로컬 특성과 결합
combined = concat(conv_features, broadcast(global_features))

3. Playout Cap 무작위화

전통: 매번 고정 N회 탐색
KataGo: N을 특정 분포에서 무작위 샘플링

네트워크가 다양한 탐색 깊이에서 잘 수행하도록 학습

4. 점진적 바둑판 크기

if training_step < 1000000:
board_size = random.choice([9, 13, 19])
else:
board_size = 19

효율 비교

지표AlphaZeroKataGo
초인 수준 도달 GPU일5000100
효율 향상기준50배

6. 확장 논문

MuZero (2020)

제목: Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model
기여: 환경 동적 모델 학습, 게임 규칙 불필요

EfficientZero (2021)

제목: Mastering Atari Games with Limited Data
기여: 샘플 효율 대폭 향상

Gumbel AlphaZero (2022)

제목: Policy Improvement by Planning with Gumbel
기여: 개선된 정책 개선 방법

논문 읽기 제안

입문 순서

1. AlphaGo (2016) - 기본 아키텍처 이해
2. AlphaGo Zero (2017) - 자가 대국 이해
3. KataGo (2019) - 구현 세부사항 이해

고급 순서

4. AlphaZero (2017) - 범용화
5. MuZero (2020) - 세계 모델 학습
6. MCTS 원본 논문 - 기초 이해

읽기 팁

  1. 먼저 초록과 결론 보기: 핵심 기여 빠르게 파악
  2. 그림과 표 보기: 전체 아키텍처 이해
  3. 방법 섹션 보기: 기술적 세부사항 이해
  4. 부록 보기: 구현 세부사항과 하이퍼파라미터 찾기

리소스 링크

논문 PDF

논문링크
AlphaGoNature
AlphaGo ZeroNature
AlphaZeroScience
KataGoarXiv

오픈소스 구현

프로젝트링크
KataGoGitHub
Leela ZeroGitHub
MiniGoGitHub

추가 읽기