본문으로 바로가기
인트라위키 용어

카타고

카타고는 자기대국 기반 강화학습과 신경망 탐색을 활용하며 승률·점수·영역 분석 기능을 제공하는 오픈소스 바둑 인공지능이다.

개요

카타고는 바둑을 두고 기보를 분석할 수 있도록 개발된 오픈소스 인공지능 바둑 프로그램이다. 영어 명칭은 KataGo이며, 개발자 데이비드 우를 중심으로 개발됐다. 알파제로와 유사하게 신경망과 몬테카를로 트리 탐색, 자기대국을 이용한 강화학습을 기반으로 하지만 학습 효율과 바둑 분석 기능을 개선하기 위한 여러 기법을 추가한 것이 특징이다.

카타고는 단순히 승리할 가능성이 높은 수를 찾는 데 그치지 않고 예상 집 차이와 영역 분포 등 바둑 분석에 유용한 정보를 함께 계산할 수 있다. 다양한 바둑판 크기와 규칙, 접바둑에도 대응하며 공개된 프로그램과 신경망을 이용해 개인용 컴퓨터에서도 대국이나 기보 분석에 활용할 수 있다. 2026년에도 공개 분산 학습 프로젝트가 계속 진행되고 있다.

개발 배경과 학습 방식

카타고는 알파제로 방식의 자기대국 학습을 더 효율적으로 구현하려는 연구에서 출발했다. 개발자인 데이비드 우는 2019년 공개한 연구에서 기존 자기대국 방식에 여러 개선 기법을 적용해 상대적으로 적은 계산 자원으로도 강한 바둑 인공지능을 학습할 수 있는 방법을 제시했다.

기본적인 학습 과정에서는 사람이 둔 기보를 필수 학습 자료로 사용하지 않고 인공지능이 스스로 반복해서 대국하며 데이터를 생성한다. 신경망은 대국 결과와 국면 정보를 학습하고, 몬테카를로 트리 탐색은 신경망이 예측한 정보를 활용해 후보 수를 탐색한다.

카타고는 승패뿐 아니라 예상 점수와 바둑판 각 지점의 영역 소유 가능성 등 다양한 정보를 학습하도록 설계됐다. 이러한 보조 학습 목표는 학습 효율을 높이는 동시에 실제 기보를 검토할 때 사용자가 국면의 변화를 더 구체적으로 확인할 수 있도록 한다.

바둑 분석 기능과 특징

카타고의 대표적인 특징은 승률 이외에 예상 점수 차이와 영역 정보를 제공할 수 있다는 점이다. 특정 착수 이후 승리 가능성이 얼마나 변하는지뿐 아니라 어느 정도의 집 손실이나 이득이 예상되는지도 분석할 수 있어 대국 검토에 활용된다.

하나의 신경망으로 여러 바둑 규칙과 바둑판 크기를 처리할 수 있으며, 접바둑과 다양한 덤 조건에도 대응하도록 개발됐다. 분석용 인터페이스를 제공하기 때문에 카타고 자체뿐 아니라 별도의 바둑 분석 프로그램과 결합해서 사용하는 것도 가능하다.

프로그램은 오픈소스로 공개돼 있어 사용자가 자신의 컴퓨터 환경에 맞춰 실행하거나 개발 목적에 활용할 수 있다. 그래픽카드와 실행 환경에 따라 CUDA, OpenCL 등을 비롯한 여러 연산 방식을 선택할 수 있으며, 지속적인 업데이트를 통해 새로운 신경망 구조와 하드웨어 지원이 추가되고 있다.

분산 학습과 활용

카타고는 초기 개발 이후 이용자들이 계산 자원을 제공하는 공개 분산 학습 방식으로 발전했다. 참가자들의 컴퓨터가 자기대국 데이터를 생성하고 학습 프로젝트에 기여하며, 그 결과로 만들어진 새로운 신경망이 다시 공개되는 구조다.

이러한 방식은 대규모 기업 연구시설이 없어도 오픈소스 공동체가 강력한 바둑 인공지능의 학습을 지속할 수 있게 한다. 공식 분산 학습 프로젝트에서는 최신 신경망을 내려받을 수 있으며 사용자가 자신의 그래픽카드 계산 능력을 학습에 제공하는 것도 가능하다.

카타고는 현재 바둑 대국 프로그램뿐 아니라 기보 복기, 후보 수 비교, 형세 판단, 예상 집 차이와 영역 분석 등에 폭넓게 사용된다. 알파고가 인공지능 바둑의 가능성을 대중적으로 보여준 대표 사례라면, 카타고는 그 이후 자기대국 기반 기술을 오픈소스 환경에서 발전시키고 실제 분석 도구로 활용할 수 있도록 확장한 대표적인 바둑 인공지능 가운데 하나다.

참고·검토 자료

  1. KataGo Distributed Training
이 문서에 정정 요청