몬테카를로 트리 탐색
쉽게 풀면
바둑이나 체스처럼 한 수마다 가능한 경우의 수가 엄청나게 많은 게임에서는 모든 경우를 끝까지 계산하는 것이 사실상 불가능합니다. 몬테카를로 트리 탐색(MCTS)은 (1) 지금까지 성적이 좋았던 수를 우선 골라보고(선택), (2) 아직 안 가본 새로운 수를 트리에 추가하고(확장), (3) 그 지점부터 게임이 끝날 때까지 무작위로 대충 진행시켜 보고(시뮬레이션), (4) 그 결과(이겼는지 졌는지)를 거슬러 올라가며 각 수의 "성적표"에 반영합니다(역전파). 이 네 단계를 수없이 반복하면, 실제로 승률이 높은 수들이 점점 더 자주 선택되면서 좋은 수를 효율적으로 찾아내게 됩니다.
왜 중요한가
바둑, 체스와 같은 게임뿐 아니라 로봇 경로 계획, 자원 배분, 스케줄링처럼 상태 공간이 방대해 모든 경우를 다 따질 수 없는 순차적 의사결정 문제는 매우 흔합니다. 몬테카를로 트리 탐색은 완전 탐색 없이도 무작위 시뮬레이션을 반복해 통계적으로 유망한 선택지를 좁혀나갈 수 있어, 강화학습과 결합되면서 다양한 계획 수립 문제에 적용할 수 있는 범용 탐색 프레임워크로 주목받았습니다.
논문에서는 이렇게 쓰입니다
이 문장은 "신경망이 유망한 수를 미리 추려주고, 그중에서 몬테카를로 트리 탐색으로 실제 진행 결과를 시뮬레이션해 최종 결정을 내렸다"는 뜻입니다. 알파고와 같은 보드게임 인공지능뿐 아니라, 경우의 수가 방대한 계획 수립·자원 배분 문제 등 순차적 의사결정이 필요한 다양한 연구에서 활용됩니다.
로봇공학에서 매 순간 변화하는 환경 속에서 다음 이동 경로를 빠르게 결정하는 데 이 탐색 방법을 활용했다는 뜻이다.
완전탐색이 불가능한 조합최적화 문제를 트리 구조로 표현하고, 무작위 시뮬레이션을 반복해 실용적인 수준의 해를 찾아냈다는 의미다.
조금 더 깊게 보면
선택 단계에서 어떤 자식 노드를 탐험할지 정할 때는 흔히 UCT(Upper Confidence bound applied to Trees)라는 공식을 사용해, 지금까지 성적이 좋았던 수(활용)와 아직 충분히 시도되지 않은 수(탐험) 사이의 균형을 조절합니다. 알파고 이후에는 무작위 시뮬레이션 대신 신경망이 학습한 가치 추정치로 국면을 평가하는 방식이 널리 쓰이면서, 순수한 몬테카를로 시뮬레이션 없이도 몬테카를로 트리 탐색의 틀만 유지하는 변형들이 등장했습니다.
주의할 점
몬테카를로 트리 탐색은 이름이 비슷한 몬테카를로 시뮬레이션과는 다른 개념입니다. 몬테카를로 시뮬레이션은 무작위 표본을 반복 추출해 확률적 결과를 추정하는 일반적인 통계 기법이고, 몬테카를로 트리 탐색은 그 무작위 시뮬레이션을 "트리 구조의 탐색"에 결합해 다음 행동을 선택하는 의사결정 알고리즘이라는 점에서 목적과 쓰임이 다릅니다.