시즌 2 · 알파폴드편 / PART 8 · PART 8 · MuZero (2019) / Ch 4 · 잠재 공간에서의 MCTS

Backup 단계 — 보상이 트리를 거슬러 올라간다

마지막 네 번째 단계. Backup에서 방금 계산한 가치 v_L을 트리에 반영한다.

📖 Backup의 기본 — AlphaZero 버전

리프 L의 가치 v_L을 루트까지 거꾸로 올라가며 각 노드에 더한다.

value = v_L
for node in reversed(path):  # L → ... → root
    node.visit_count += 1
    node.value_sum += value
    value = -value  # (체스/바둑처럼 zero-sum 게임에서 부호 바꿈)

핵심: 보드 게임에서는 한 노드의 "내 입장 가치"가 다음 노드에서는 "상대 입장 가치"가 되기 때문에 부호를 뒤집어준다.

🎯 MuZero의 Backup — 보상까지 포함

MuZero는 보상 r도 함께 처리한다. 즉 일반적인 강화학습의 누적 보상 공식을 따라간다.

G_t = r_t + γ · G_{t+1}

의사코드로 풀면:

value = v_L  # 리프의 신경망 추정 가치
for node in reversed(path):
    node.visit_count += 1
    node.value_sum += value
    value = node.reward + gamma * value  # 한 단계 위로 올라갈 때 보상 합치고 할인

gamma (보통 0.997 같은 값)는 "먼 미래는 조금 덜 중요"를 표현하는 할인율.

📖 보드 게임 vs 일반 강화학습 — Backup이 보이는 차이
  • 보드 게임 (체스, 바둑): 중간 보상 없음 → r = 0 → G_t = v_L. 부호 뒤집기로 양 플레이어 처리.
  • 아타리 게임: 중간 보상 있음 (점수) → r ≠ 0 → 누적 보상 형태로 backup.

MuZero는 두 경우를 같은 공식으로 다룬다 — 이게 PART 8 Ch 5의 "일반 알고리즘" 주제로 연결된다.

💡 Backup의 효과를 한 줄로

"리프에서 본 미래 가치를, 거기까지 이르는 모든 조상 노드들의 Q값에 반영한다."

그 결과 다음 시뮬레이션에서 Select가 같은 PUCT 공식으로 더 나은 길을 고를 수 있게 된다 — 즉 트리가 점점 똑똑해진다.