학습한 모델로 계획하기 (MuZero)
규칙 없이 스스로 배운 모델 위에서 트리 탐색해 아타리 · 바둑 · 체스 · 쇼기 정복
먼저 알아야 할 것
다루는 내용
MuZero는 표현 · 동역학 · 예측의 세 함수로 된 학습 모델을 만들고, 그 위에서 MCTS로 계획합니다. 모델은 관측을 복원하지 않고 보상 · 정책 · 가치만 맞추도록 학습돼(가치 등가 모델), 계획에 필요한 정보만 담습니다. 아타리 57종에서 R2D2를 넘는 새 최고 기록을 냈고, 게임 규칙 없이 바둑 · 체스 · 쇼기에서 AlphaZero 수준에 도달했습니다.
초록
계획 능력을 갖춘 에이전트를 만드는 일은 오랫동안 인공지능 연구의 핵심 과제 중 하나였습니다. 트리 기반 계획 방법은 완벽한 시뮬레이터가 있는 체스나 바둑 같은 어려운 분야에서 큰 성공을 거두었습니다. 그러나 현실 문제에서는 환경을 지배하는 동역학이 복잡하고 알려져 있지 않은 경우가 많습니다. 이 논문에서는 트리 기반 탐색과 학습된 모델을 결합해, 기저 동역학에 대한 지식 없이도 다양한 어렵고 시각적으로 복잡한 분야에서 초인적 성능을 내는 MuZero 알고리즘을 제시합니다. MuZero는 반복 적용했을 때 계획에 가장 직접적으로 관련된 값들, 즉 보상 · 행동 선택 정책 · 가치 함수를 예측하는 모델을 학습합니다. AI 기법을 시험하는 대표적인 비디오 게임 환경이자 모델 기반 계획 방법이 역사적으로 고전해 온 아타리 게임 57종에서 평가한 결과, 새 알고리즘은 최고 성능을 새로 세웠습니다. 바둑 · 체스 · 쇼기에서 게임 규칙에 대한 지식 없이 평가했을 때, MuZero는 게임 규칙을 제공받은 AlphaZero 알고리즘의 초인적 성능과 같은 수준에 이르렀습니다.
해설
학습한 모델로 계획하기 (MuZero)
게임 규칙을 알려 주지 않아도, 스스로 배운 '속마음 모델' 안에서 트리 탐색을 해 아타리 57종에서 새 최고 기록을 내고 바둑 · 체스 · 쇼기에서는 규칙을 받은 AlphaZero와 같은 수준에 오른 논문입니다. "세상을 똑같이 흉내 낼 필요 없이, 계획에 필요한 것만 예측하면 된다"는 생각을 보여 줬습니다.
| 항목 | 내용 |
|---|---|
| 원제 | Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model |
| 저자 | Julian Schrittwieser 외 11명 (DeepMind · UCL) |
| 발표 | 2019 · arXiv 1911.08265 |
| 트랙 · 수준 | 강화학습 · 심화 |
| 먼저 알면 좋은 것 | 마르코프 결정 과정(MDP), 가치 함수 · 정책, 몬테카를로 트리 탐색(MCTS), AlphaZero, 순환 신경망 · 역전파 |
들어가기 전에
이 해설은 아래 내용을 안다고 보고 씁니다. 처음이라면 먼저 읽고 오면 수식과 손계산을 훨씬 쉽게 따라올 수 있습니다.
- 자기 대국으로 체스 · 쇼기 정복 (AlphaZero) — AlphaGo Zero를 일반화해 체스 · 쇼기 · 바둑을 규칙만으로 24시간 안에 정복한 AlphaZero
한눈에 보기
- 모델 기반 강화학습(model-based RL)이 왜 화면이 복잡한 아타리에서 약했는지 알게 됩니다.
- MuZero의 세 함수 — 표현 , 동역학 , 예측 — 가 각각 무엇을 하는지 설명할 수 있게 됩니다.
- "관측을 복원하지 않는 모델(가치 등가 모델)"이 무슨 뜻이고 왜 유리한지 압니다.
- 학습한 모델 위에서 MCTS가 어떻게 돌고, 손실 함수가 무엇을 맞추는지 손으로 따라가 볼 수 있습니다.
초록 (번역)
계획 능력을 갖춘 에이전트를 만드는 일은 오랫동안 인공지능 연구의 핵심 과제 중 하나였습니다. 트리 기반 계획 방법은 완벽한 시뮬레이터가 있는 체스나 바둑 같은 어려운 분야에서 큰 성공을 거두었습니다. 그러나 현실 문제에서는 환경을 지배하는 동역학이 복잡하고 알려져 있지 않은 경우가 많습니다. 이 논문에서는 트리 기반 탐색과 학습된 모델을 결합해, 기저 동역학에 대한 지식 없이도 다양한 어렵고 시각적으로 복잡한 분야에서 초인적 성능을 내는 MuZero 알고리즘을 제시합니다. MuZero는 반복 적용했을 때 계획에 가장 직접적으로 관련된 값들, 즉 보상 · 행동 선택 정책 · 가치 함수를 예측하는 모델을 학습합니다. AI 기법을 시험하는 대표적인 비디오 게임 환경이자 모델 기반 계획 방법이 역사적으로 고전해 온 아타리 게임 57종에서 평가한 결과, 새 알고리즘은 최고 성능을 새로 세웠습니다. 바둑 · 체스 · 쇼기에서 게임 규칙에 대한 지식 없이 평가했을 때, MuZero는 게임 규칙을 제공받은 AlphaZero 알고리즘의 초인적 성능과 같은 수준에 이르렀습니다.
무엇을 풀었나
AlphaGo · AlphaZero 같은 계획(planning) 알고리즘은 대단했지만 전제가 하나 있었습니다. 게임 규칙, 즉 완벽한 시뮬레이터가 있어야 합니다. "이 수를 두면 판이 어떻게 바뀌는가"를 정확히 계산할 수 있어야 트리 탐색을 할 수 있습니다. 로봇 · 산업 제어 · 비서 같은 현실 문제에는 그런 규칙표가 없습니다.
그래서 나온 것이 모델 기반 강화학습입니다. 먼저 환경의 동역학(다음에 무슨 일이 생기나)을 배우고, 그 모델로 계획합니다. 그런데 기존 방법은 두 갈래로 막혔습니다.
- 관측을 통째로 예측하려는 모델은 아타리 화면의 픽셀 하나하나를 맞추느라 용량을 낭비합니다. 계획에 쓸모없는 배경 무늬까지 예측해야 하고, 픽셀 수준 계획은 계산량도 감당하기 어렵습니다.
- 표현 학습 · 모델 학습 · 계획을 따로 하는 방식은 모델 오차가 계획 중에 쌓이고, 표현을 계획에 맞게 다듬을 수 없습니다.
결과적으로 화면이 복잡한 아타리에서는 모델 기반 방법이 잘 튜닝된 모델 프리(model-free) 방법(R2D2 등)에 크게 뒤졌고, 반대로 모델 프리 방법은 체스 · 바둑처럼 정밀한 수읽기가 필요한 곳에서 계획 방법에 못 미쳤습니다. MuZero는 이 둘을 한 알고리즘으로 묶으려 했습니다.
핵심 아이디어
flowchart LR
O[과거 관측 o1..ot] --> H[표현 함수 h]
H --> S0[숨은 상태 s0]
S0 --> F0[예측 함수 f: 정책 p0 · 가치 v0]
S0 --> G1[동역학 함수 g + 가상 행동 a1]
G1 --> S1[보상 r1 · 숨은 상태 s1]
S1 --> F1[예측 함수 f: p1 · v1]
F0 --> M[MCTS: 방문 횟수로 탐색 정책 π]
F1 --> M
M --> A[실제 행동 선택 → 환경]
A --> B[리플레이 버퍼에 궤적 저장 → K단계 펼쳐 학습]1. 세 개의 함수로 된 '속마음 모델'
직관: 바둑 고수는 판 위 돌의 색과 위치를 사진처럼 외워 두지 않습니다. "여기가 약하다, 이 수가 좋다, 이기고 있다" 같은 판단에 필요한 것만 머릿속에 둡니다. MuZero의 숨은 상태도 그렇게 판단용 요약만 담습니다(해설용 비유).
단계:
- 표현 함수 가 지금까지의 관측(바둑판 · 아타리 화면)을 받아 첫 숨은 상태 를 만듭니다.
- 동역학 함수 가 "이전 숨은 상태 + 가상의 다음 행동"을 받아 그 행동의 즉시 보상 와 다음 숨은 상태 를 냅니다. 이것을 여러 번 반복하면 머릿속에서 미래를 굴려 볼 수 있습니다.
- 예측 함수 가 각 숨은 상태에서 정책 (어떤 수를 둘지)와 가치 (얼마나 유리한지)를 냅니다.
| 기호 | 뜻 |
|---|---|
| 지금까지 본 관측(화면 · 판) | |
| 단계 가상 미래의 숨은 상태(벡터). 진짜 환경 상태와 같을 필요가 없습니다 | |
| 번째 가상 행동 | |
| 그 행동으로 받을 것이라 예측한 즉시 보상 | |
| 그 상태에서의 예측 정책 · 예측 가치 | |
| 세 함수가 함께 쓰는 학습 매개변수 |
왜 이렇게 했나: 숨은 상태에 "원래 관측을 복원할 수 있어야 한다"는 조건을 걸지 않았습니다. 진짜 환경 상태와 맞아야 한다는 조건도 없습니다. 오직 정책 · 가치 · 보상을 잘 맞추는 것만 목표로 합니다. 그래서 픽셀을 다시 그리는 데 용량을 쓰지 않고, 에이전트가 계획에 가장 쓸모 있는 '자기만의 규칙'을 안에서 만들어 낼 수 있습니다. 이런 모델을 논문은 앞선 연구(predictron · 가치 예측 네트워크)를 이어 가치 등가(value equivalent) 모델이라는 흐름 위에 둡니다. 논문은 동역학을 결정적(deterministic)으로 두었고, 확률적 전이로의 확장은 후속 과제로 남겼습니다.
숫자로 해 보기(해설용 예): 숨은 상태가 2차원이라고 합시다. 에서 가상 행동 '왼쪽'을 넣으니 가 , 을 냈고, 은 정책 (왼쪽 0.7, 오른쪽 0.3), 가치 를 냈습니다. 이 숫자들이 "화면이 어떻게 생겼는지"는 전혀 말해 주지 않지만, 계획에는 충분합니다.
2. 학습한 모델 위에서 하는 MCTS
직관: 실제로 두기 전에 머릿속에서 여러 수를 시험해 보고, 자주 들여다본 수일수록 좋은 수라고 판단합니다.
단계(시뮬레이션 1회):
- 선택(Selection): 뿌리 에서 시작해, 각 노드에서 아래 점수가 가장 큰 행동으로 내려갑니다.
- 확장(Expansion): 잎에 닿으면 로 새 보상 · 상태를 만들고 로 정책 · 가치를 붙입니다. 한 번의 시뮬레이션에 와 를 많아야 한 번씩만 부르므로 계산량은 AlphaZero와 같은 수준입니다.
- 되짚기(Backup): 잎의 가치에서 시작해 거쳐 온 길의 보상을 할인해 더한 값으로, 길 위 간선들의 평균값 와 방문 횟수 을 갱신합니다.
선택 규칙(pUCT)은 다음과 같습니다.
| 기호 | 뜻 |
|---|---|
| 그 간선을 지나간 시뮬레이션들의 평균 가치(정규화) | |
| 예측 함수가 준 사전 정책 확률 | |
| 그 간선을 지나간 횟수 | |
| 사전 확률과 가치의 비중을 조절하는 상수. 논문 값은 , |
앞항 는 "지금까지 좋았던 수", 뒤항은 "아직 덜 본, 사전 확률이 높은 수"를 밀어 줍니다. 방문이 늘면 뒤항이 작아져 점점 실제 성적()을 믿게 됩니다.
되짚기에서 쓰는 단계 할인 보상 추정은 다음과 같습니다.
왜 를 정규화하나: 바둑의 가치는 안에 있지만, 아타리 점수는 상한이 없습니다. 게임마다 최대 점수를 사람이 넣어 주는 대신, 탐색 트리에서 지금까지 본 최소 · 최대 로 에 맞춥니다. 사전 지식을 넣지 않기 위한 선택입니다.
숫자로 해 보기(해설용 예): 트리에서 본 값이 최소 2, 최대 10이고 어떤 간선의 가 6이면 입니다. 할인율 , 잎까지 보상 , 잎 가치 라면 뿌리에서 본 추정은 입니다.
탐색이 끝나면 뿌리에서 각 행동의 방문 횟수에 비례하는 탐색 정책 를 만들고, 거기서 실제 행동을 뽑습니다.
3. 무엇을 맞추도록 학습하나
직관: 머릿속 시뮬레이션을 단계 굴렸을 때, 각 단계 예측이 실제로 일어난 일과 맞도록 고칩니다.
단계: 리플레이 버퍼에서 궤적을 하나 꺼냅니다 → 로 시작 상태를 만들고 실제로 둔 행동들을 에 넣어 단계 펼칩니다 → 단계마다 세 가지를 맞춥니다.
| 기호 | 뜻 |
|---|---|
| 실제 관측된 보상 → 예측 보상 의 정답 | |
| 가치 정답. 보드게임은 최종 결과, 아타리는 단계 할인 보상 + 탐색 가치로 부트스트랩 | |
| 그때 MCTS가 낸 탐색 정책 → 예측 정책 의 정답 | |
| L2 정규화 |
가치 정답은 입니다(는 탐색이 낸 가치). 보드게임의 승 · 무 · 패는 마지막 단계의 보상 로 다룹니다.
왜 이렇게 했나: AlphaZero처럼 "탐색이 낸 더 나은 정책을 신경망이 따라 배우는" 정책 반복을 그대로 쓰되, 탐색이 규칙이 아니라 학습한 모델 위에서 돈다는 점만 다릅니다. 또 중간 보상과 할인을 허용해 1인용 · 긴 에피소드 환경(아타리)까지 다룰 수 있게 넓혔습니다. 보드게임은 AlphaZero와 같은 제곱 오차를, 아타리처럼 보상 크기가 들쭉날쭉한 곳에서는 교차 엔트로피가 더 안정적이어서 그것을 썼다고 밝힙니다. 아타리에서는 값을 크기 601의 범주 분포(−300~300 정수)로 바꿔 예측합니다.
숫자로 해 보기(해설용 예): , , 실제 보상 , 2단계 뒤 탐색 가치 이면 입니다. 예측 가치가 8이었다면 제곱 오차는 이고, 이 오차를 줄이는 쪽으로 가 함께 고쳐집니다.
4. 학습 설정 (논문 기준)
- 펼치는 단계 , 미니배치 100만 번(보드게임 배치 2048, 아타리 1024)
- 탐색당 시뮬레이션: 보드게임 800회, 아타리 50회
- 표현 함수는 AlphaZero와 같은 합성곱 · 잔차 구조이지만 잔차 블록 20개 대신 16개, 모든 망은 은닉 평면 256개
- 아타리는 할인율 0.997, 단계 부트스트랩, 우선순위 리플레이 사용
- 펼치는 단계 수와 상관없이 기울기 크기가 비슷하도록 손실을 로, 동역학 함수로 들어가는 기울기를 로 줄입니다
결과
| 설정 | 지표 | 수치 |
|---|---|---|
| 아타리 57종 (대규모 데이터) | 인간 정규화 점수 중앙값 / 평균 | MuZero 2041.1% / 4999.2% (R2D2 1920.6% / 4024.9%, Ape-X 434.1% / 1695.6%) |
| 같은 표 | 환경 프레임 · 학습 시간 | MuZero 200억 프레임 · 12시간 · 100만 단계 (R2D2 375억 프레임 · 5일) |
| 아타리 57종 | 게임별 비교 | R2D2보다 57종 중 42종에서 앞섬, 이전 최고 모델 기반 방법 SimPLe보다는 모든 게임에서 앞섬 |
| MuZero Reanalyze (게임당 2억 프레임) | 중앙값 | 731% (IMPALA 192%, Rainbow 231%, LASER 431%) |
| 바둑 | Elo | AlphaZero를 약간 넘음. 탐색 노드당 계산은 더 적음(잔차 블록 16 대 20) |
| 체스 · 쇼기 | Elo | AlphaZero 수준에 도달 |
모델의 역할을 확인한 실험도 있습니다.
- 바둑, 생각 시간 늘리기: 학습 때는 수당 약 0.1초(800회) 탐색이었는데, 10초까지 늘려도 완벽한 규칙을 쓰는 AlphaZero의 탐색과 비슷하게 성능이 올랐습니다. 학습한 모델이 학습 때보다 두 자릿수 긴 탐색에도 버팁니다.
- 아타리, 시뮬레이션 수 늘리기: 100회까지는 좋아지고 그 뒤로는 거의 그대로입니다. 바둑보다 개선 폭이 작은데, 저자들은 모델이 덜 정확해서일 것이라고 봅니다.
- 모델 프리와 비교(Ms. Pac-Man): 같은 틀에서 목표를 Q-러닝으로 바꾸면 R2D2와 같은 점수에 도달하지만 MuZero보다 훨씬 느리게 배우고 최종 점수도 낮았습니다.
- 학습 중 탐색량: 가능한 행동 8개를 다 덮지 못할 만큼 적은 시뮬레이션으로 학습해도 배웠고, 시뮬레이션을 늘리면 더 빨리 좋아졌습니다.
왜 중요한가 · 이후 영향
- 계획과 모델 프리 학습의 장점을 한 알고리즘에. 그전에는 "정밀 수읽기는 계획, 복잡한 화면은 모델 프리"로 나뉘어 있었습니다. MuZero는 같은 방법으로 두 분야 모두 최고 수준에 올랐습니다.
- '세상을 다 흉내 내지 않는 모델'이라는 관점. 무엇을 예측할지를 계획 목적에서 거꾸로 정하는 방식은 이후 모델 기반 강화학습 연구의 중요한 기준점이 됐습니다.
- 규칙 없는 현실 문제로 가는 다리. 저자들은 완벽한 시뮬레이터가 없는 현실 분야에 강력한 학습 · 계획 방법을 쓸 길을 열 수 있다고 결론에서 밝힙니다.
- LLM과의 연결. "탐색으로 더 나은 답을 만들고 그 답을 다시 학습 목표로 쓴다"는 정책 개선 구조는, 오늘날 추론 모델을 강화학습으로 다듬는 연구를 읽을 때도 바탕이 되는 생각입니다.
한계 · 주의할 점
- 동역학이 결정적입니다. 주사위처럼 확률적인 전이는 다루지 않았고 후속 과제로 남겼습니다.
- 불완전 정보 게임은 직접 다루지 않습니다. 포커 같은 게임은 범위 밖이라고 각주에서 밝힙니다.
- 아타리에서는 계획 효과가 작습니다. 시뮬레이션을 늘려도 개선이 바둑보다 훨씬 적어, 학습한 모델이 정확하지 않은 영역에서는 탐색의 이득이 줄어듭니다.
- 계산량이 큽니다. 탐색 · 대규모 분산 학습이 필요하고, 아타리 대규모 설정은 200억 프레임을 썼습니다. 데이터를 적게 쓰는 Reanalyze 판도 게임당 2억 프레임입니다.
- 숨은 상태는 해석이 어렵습니다. 관측을 복원하지 않으므로, 모델이 무엇을 '믿고' 있는지 사람이 들여다보기 힘듭니다.
이어서 읽을 것
- 앞: AlphaZero (자기 대국으로 체스 · 쇼기 정복) · AlphaGo Zero (Nature, 2017)
- 같은 질문, 다른 답(관측을 복원하는 모델): 월드 모델 · Dreamer
- 비교 기준이 된 아타리 계열: DQN · Rainbow · 우선순위 경험 재생
용어 정리
| 용어 | 쉬운 뜻 |
|---|---|
| 모델 기반 강화학습 | 환경이 어떻게 변하는지 먼저 배우고, 그 모델로 미리 따져 보며 행동하는 방식 |
| 모델 프리 강화학습 | 환경 모델 없이 경험에서 바로 가치 · 정책을 배우는 방식(DQN, R2D2 등) |
| 숨은 상태(hidden state) | 모델 안에서만 쓰는 상태 요약 벡터 |
| 가치 등가 모델 | 진짜 상태를 흉내 내지 않고, 보상 · 가치 예측만 맞도록 만든 모델 |
| MCTS | 여러 번 가상으로 수를 둬 보며 방문 횟수로 좋은 수를 고르는 탐색 |
| pUCT | MCTS에서 "좋았던 수"와 "덜 본 유망한 수" 사이 균형을 잡는 선택 규칙 |
| 부트스트랩 | 끝까지 가지 않고 중간 추정값으로 목표를 채우는 것 |
| 인간 정규화 점수 | (에이전트 점수 − 무작위 점수) ÷ (사람 점수 − 무작위 점수). 100%면 사람 수준 |
| Reanalyze | 예전 궤적을 최신 망으로 다시 탐색해 새 학습 목표를 만드는 변형 |
스스로 점검
- MuZero의 숨은 상태는 왜 화면을 복원하지 않아도 되나?
— 학습 목표가 보상 · 가치 · 정책 예측뿐이기 때문입니다. 계획에 필요한 정보만 담으면 되므로 픽셀을 재현하는 데 용량을 쓰지 않습니다.
- AlphaZero와 MuZero의 탐색은 무엇이 다른가?
— AlphaZero는 진짜 게임 규칙으로 다음 판을 계산하고, MuZero는 학습한 동역학 함수 로 다음 숨은 상태와 보상을 계산합니다. 탐색 절차(선택 · 확장 · 되짚기) 자체는 비슷합니다.
- 아타리에서 를 트리 안 최소 · 최대로 정규화하는 이유는?
— 아타리 점수에는 정해진 상한이 없어서, 사전 확률과 섞는 pUCT 식이 게임마다 흔들리지 않게 하려면 게임별 지식 없이 로 맞춰야 하기 때문입니다.
다음에 볼 것
이 글을 이해했다면 이어서 보면 좋은 항목입니다.
- 월드 모델 — VAE · MDN-RNN · 작은 조종기로 나눈 에이전트, 모델이 만든 꿈속에서 학습해 실제로 옮김
출처
- 원문: arxiv.org/abs/1911.08265 (2019 · Julian Schrittwieser 외)
AI 원리부터 이해하기 · 강화학습 모듈
강화학습 모듈 학습
이 글은 강화학습 모듈의 학습 자료입니다. 전체 31개 자료 중 26번째입니다.
출처·원문
원문 보기요약만