최근 수정 시각 : 2024-09-30 00:51:14

카타고


파일:baduk_test3.png 주요 바둑 인공지능
{{{#!wiki style="margin:0 -10px -5px"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin:-6px -1px -11px"
파일:alphagologo.png 파일:Zenith_go.png 파일:제목 없음-1 사본.jpg 파일:crazystone logo.png 파일:fbartlogo.png 파일:leelaicon.png
AlphaGo Zen DeepZenGo Crazystone ELF OpenGo[1] Leela 카타고
<colbgcolor=#000> 파일:dolbaram-2.jpg 파일:TAL 사본.png <colbgcolor=#ffffff,#191919> 파일:432211_107868716046526_1605810711_n.jpg <colbgcolor=#b3622d> 파일:fuego.png <colbgcolor=#ffffff,#191919> 파일:handol_logo.jpg
돌바람 절예[2] CGI Fuego 한돌 미니고 골락시
[1] 별도의 로고가 없이 페이스북 로고를 쓴다.
[2] 별도의 로고가 없이 한큐바둑(텐센트) 로고를 쓴다.
}}}}}}}}}


KataGo GitHub 페이지

1. 개요2. 기술적 설명3. 장점4. 역사
4.1. 버그
5. 활용
5.1. 카타구이(폰타고)5.2. 카타고 오프닝 북
6. 외부 링크

1. 개요

David J. Wu(lightvector)가 개발한 오픈 소스 바둑 인공지능.

2. 기술적 설명

KataGo 논문(arXiv)

lightvector는 바둑에 사용할 인공 신경망을 이용해 여러 가지 실험을 하고 있었는데, 실험을 통해 얻은 노하우 및 아이디어를 집대성해 만든 것이 KataGo이다. 서두에 링크한 논문에 세부 사항이 있는데, AlphaZero의 아키텍처는 바둑, 체스, 쇼기 등에 널리 사용할 수 있지만, 바둑에만 사용할 신경망이라면 바둑에 특화된 feature와 target을 추가해서 학습 효율을 높일 수 있다는 것이 개요이다.[1] 예상되는 집 차이나, 주어진 바둑판의 좌표가 누구의 집이 될지 등을 비롯해 다양한 예상을 할 수 있도록 신경망을 제작했다. 이를 통해 릴라 제로엘프고와 같은 기존의 알파고 제로/알파제로 재구현 오픈 소스 프로젝트들에 비해 비약적으로 빠른 학습을 할 수 있게 되었다.

3. 장점

  • 중국식 규칙뿐만 아니라 일본식 규칙 및 AGA, 중국 고대 규칙 등을 지원한다. 패에 관련된 규칙도 여러 가지를 지원한다.
  • 덤을 자유롭게 조절할 수 있다.
  • 승률뿐만 아니라 예상되는 집 차이를 보여주고, 또 어디가 누구 집인지 보여줄 수 있다. 현재 집 차이를 표시 할 수 있는 인공지능 중에서 가장 정확한 집차이를 표시하는 것으로 알려져 있다.
  • 승률만 따지지 않으므로, 어느 정도 승률이 비슷한 상황에서 유리하다면 집 차이를 벌리고 불리하다면 집 차이를 좁히며 두므로 극단적인 상황에서도 최선에 가깝게 둔다.
  • 축(바둑)을 hard coding했기 때문에 축에 관련된 문제가 없다. 릴라 제로 등도 시간을 주면 안 되는 축을 나가거나 하지는 않으나, 축과 관련된 변화를 시간을 들여 연산할 필요가 없으므로 축과 관련된 변화에 대한 판단이 정확하다.[2]
  • 신경망 입력으로 주어진 좌표 주변의 공배 수가 있는데, 이 때문에 수상전에 좀 더 강하다.
  • 학습이 릴라 제로나 ELF 등에 비해 비약적으로 빠르다.
  • 3점 이상 접바둑에서 헤매는 기존 제로 계열 인공지능과는 달리 접바둑도 잘 둘 수 있다. 형세에 따라 공격성을 조절할 수 있다.[3]
  • 19줄 바둑판 뿐만 아니라 9줄부터 19줄까지, 심지어 7x15같은 직사각형 바둑판에서도 둘 수 있다
  • 대칭과 전치를 이용한 방식으로 깔끔하고, 비교적 적은 연산을 한다.
  • 흉내 바둑을 대처하는 기능이 있다. 흉내바둑을 감지하면 흉내바둑을 만드는, 대칭의 수에 주목하여 연산한 후 천원에 붙이는 등의 수를 보인다.

기본적으로 절예골락시와 비교했을 때의 장점은 강한 접바둑과,정확한 집차이 계산 능력,그리고 무료로 일반인이 자유롭게 사용할 수 있는 것이다.

4. 역사

2019년 2월에 논문 작성에 필요한 데이터를 얻을 겸하여 proof of concept을 겸한 트레이닝을 시작했다(g65). 35개의 V100 GPU를 이용하여 학습한 결과, 1주만에 릴라 제로 130번 네트워크와 비슷한 기력을 달성했다.

2019년 6월에 신경망 구조와 프로그램을 개선하고 28개의 V100 GPU를 사용하여 19일 동안 학습한 결과(g104), ELF v2와 비슷하거나 살짝 떨어지는 기력을 달성했다. 집 차이를 보여주는 기능은 흥미롭긴 했으나, g104의 가중치들은 대부분의 국면에서 실제보다 훨씬 과장된 값을 보여주었기 때문에 아주 유용했다고 말하기는 어렵다.

2020년 1월에 더욱 개선하고 일본 규칙 지원 및 접바둑 학습 향상 등을 추가하여 새로운 training run(g170)을 시작하였다. 2월부터는 동일 시간[4] 조건 하에서 릴라 제로보다 더 강한 기력을 내는 것 같다는 유저들의 실험 결과가 등장하기 시작했다. 집 차이 계산도 g104 때와는 비교할 수 없이 정확해졌다. 접바둑 성능도 훨씬 향상되었기 때문에 한큐바둑에서 카타고 AI봇들이 9단 계정들을 상대로 3점~5점 접바둑을 두는 광경을 많이 볼 수 있게 되었다.[5]

2월 중에 20블록 가중치의 자가대국을 종료하고 30블록 320필터40블록 256필터의 두 종류의 가중치로 옮겨갔으며, 2020년 2월 28일에는 v1.3.3 엔진과 함께 처음으로 30블록과 40블록 가중치를 공개하였다. 이 두 가중치의 학습을 동시에 진행하는 이유는 기존 규격인 20블록 256필터에서 크기를 더 키우기는 해야겠는데 어느 방향이 옳을지를 잘 모르겠어서라고. 1 visit 당 요구되는 연산량은 블록 수에는 비례 관계가, 필터 수에는 대략 제곱에 비례하는 관계가 있기 때문에 30블록 320필터가 40블록 256필터에 비해 약간 더 무거운 규격이다. 또한 30블록과 40블록 가중치의 학습과정에서 나오는 자가대국 기보로 기존의 20블록 256필터 가중치도 계속해서 학습시켰고, 이후의 가중치 업데이트 시에는 20블록, 30블록, 40블록이 모두 업데이트되었다.

2~3주 간격으로 가중치 업데이트가 계속해서 있어오다가, 5월 7일에 업데이트된 가중치를 끝으로 순수한 자가대국만을 이용한 반-제로 방식의 네트워크 학습은 종료되었다.

6월 6일에 새로운 가중치가 업데이트되었다. 기존처럼 비어 있는 바둑판에서 자가대국을 통해 학습 데이터를 만드는 것에 더해서, 실험적으로 빈 판이 아니라 특정한 국면에서 자가대국을 시작하는 방식 또한 도입하였다. 자가대국에서 잘 나오지 않는 다양한 국면에 대한 학습 또한 진행하기 위함이다. 인간이 둔 바둑의 일부 국면과, 특정 난해한 정석 형태에 대한 추가적 학습으로, 인간이 둔 수는 확실하게 좋을 때 제한적으로만 참고하고 기본적으로는 자가대국을 이용해 학습하였다.

6월 22일에 마지막으로 learning rate을 낮추어 학습시킨 가중치가 올라왔다. 40블록의 경우 이전 네트워크보다 Elo 레이팅이 200 이상 증가하였고, 20블록도 100 이상 증가하였다. 이 때 40블록 384필터짜리 대형 가중치도 공개했는데, 얼마나 강한지 테스트해보지는 않았다고 한다. Jane Street에서 프로젝트에 지원하던 금액이 중단된 이후로도 lightvector가 사비로 GPU를 빌려 학습시키고 있었으나 일단 여기서 잠정적으로 마무리하고, 추후에 릴라 제로처럼 분산시켜 훈련시킬 수 있도록 웹 개발이 더 되면 다시 훈련할 의향을 밝혔다.

12월 말부터 릴라 제로처럼 분산 자가대국을 통한 학습을 제한된 참가자에 한해 시작하였고, 2021년 1월 말부터 제한 없이 기여할 수 있도록 전환하였다. 기존 g170 run의 연장선상이며, 기존보다 강한 새로운 40x256 가중치를 훈련 중이다. 하루에 10만판정도의 자가학습대국과 기존 네트워크와 비교하기 위한 레이팅 대국 3500판 정도가 익명의 기여자들로부터 업로드 된다. 최근엔 대형 기여자들이 기여를 중단하면서 이보다 7~8분의 1로 적은 양의 데이터가 기여된다

2021년 2월 27일 카타고 60블럭이 pre release 됐다. 60블럭 320필터로 굉장히 무거운 네트워크. 참고로 골락시가 50블럭이라고 한다.아직 기존 버전들 보다 약하다.

2021년 3월 26일 카타고 자가대국학습 사이트에 업로드 된 자가학습대국의 판 수가 1000만 판을 돌파했다

2021년 6월 29일 카타고 1.9.0 버전이 출시 됐다. 대칭을 이용한 분석이 가능하며, 몇가지 검색 트리를 개선해 같은 네트워크에서 기존보다 75ELO 정도 강해졌다고 한다.

2021년 7월 6일 자가학습대국의 판 수가 2000만 판을 돌파했다.

2022년 3월 19일 자가학습대국의 판 수가 3000만 판을 돌파했다.

2022년 11월에 열린 14th UEC 인공지능 바둑 대회에서 준우승을 차지 했다. 1위인 SymplectGo가 카타고에서 몇가지 사항을 개선한 일종의 카타고의 클론이라는 점, 그리고 다른 상위권 인공지능들에 비해 하드웨어가 불리 했다는 점을 감안하면 정말 좋은 성적을 거둔 것이다.[6]

2023년 3월 20일 카타고 40b의 마지막 네트워크가 업로드 되었다.
이제 18블럭과, 60블럭만이 업로드 된다.

2023년 3월 29일 60b의 훈련이 중단 되었다.
이제 훈련은 18b으로만 진행되고, 60b은 주기적으로 업로드 된다.

한국시간으로 2023년 5월 10일 카타고 자가학습 대국의 판 수가 4000만 판을 돌파했다.

2023년 6월 13일 새 버전인 optimism policy를 적용한 18블럭 새 네트워크가 업로드 되었다.
이 개선으로 그 전 버전의 엔진 보다 수를 찾는 훨씬 능력이 올라갔다. 유튜브에 올라와 있는 '카타고도 못 본 수'나 '인공지능도 못 본 수'라고 소개 되는 거의 대부분의 묘수들은 수K~수십K의 visits(수천~수만) 안에서 찾아낸다.[7] 따라서 분석을 할 때 달라진게 더 체감이 된다. 가장 강한 이전 버전 18블럭보다 60ELO 이상, 심지어 가장 이전 버전 60블럭 보다도 40ELO 이상을 끌어 올렸다. 카타고가 근 1년간 해온 1000만판에 가까운 자가학습 대국과, 크고 작은 엔진의 개선으로는 30ELO의 성장 밖에 못했다는 것을 보면 굉장할 정도로 오른 것.[8]

현재 18블럭, 60블럭, 40블럭의 가장 강한 네트워크들을 Elo 계산방식을 이용해 비교하면
18블럭 VS 60블럭 약53:47
18블럭 VS 40블럭 약72:28
60블럭 VS 40블럭 약69:31
정도이다. 이는 동일한 visit 수를 기준으로 나타낸 예상 승률이기에 같은 하드웨어 에서 같은 시간을 기준으로 했을 때와는 차이가 있으며. 따라서 18블럭이 60블럭에게 갖는 이점은 이보다 더 크다.

고사양 동일 하드웨어에서 동일 시간을 기준으로 하면
18블럭 VS 60블럭 약67:33
18블럭 VS 40블럭 약72:28
60블럭 VS 40블럭 약55:45
인데, 60블럭이 18블럭, 40블럭에 비해 약 2배의 무게를 가지고 있기 때문이며, 이 비율은 고사양 컴퓨터(인공지능 대회급 하드웨어)에서의 2배visit=약100 Elo를 적용한 것이고, 수당 수백 k에서의 결과는 2배 visit은 적어도 200 Elo이상의 위력을 가진다고 한다.

한국 시각으로 2023년 7월 22일 각 가중치의 Elo를 비교하기 위한 레이팅 게임의 판 수가 100만판을 돌파했다.

2023년 10월 27일 9줄 바둑 전용 신경망이 pre-release 됐다.
이는 기본 카타고로 9x9를 플레이 하는 것보다 확실히 강하다고 한다. 하지만 이 9줄 전용 신경망은 다른 보드 크기의 바둑에서는 기본 카타고보다 강하지 않으며, 오히려 약하다고 한다.
동시에 카타고 오프닝 북에 9x9 오픈북이 개설되었다. 하지만 이전에 올라온 보드 크기 중 가장 큰 8x8사이즈 보다도 훨씬 경우의 수가 많기 때문에, 다른 오프닝 북 처럼 '어느 정도 풀어냈다'의 수준조차도 안된다고 한다. 아직까진 단순히 많은 연산을 한 카타고의 분석을 모아 놓은 정도이다. 오프닝 북에서 오류를 발견했을 때는 언제든지 알리라고 한다.
한국시간으로 2023년 11월 6일 카타고의 자가대국 판 수가 5000만판을 돌파했다.

4.1. 버그

2023년 1월 사활에 버그가 발견되었다.# 집을 이중으로 둘러싸는 모양을 만들면 집 계산에 오류가 생긴다. 기존 바둑 AI의 약점을 찾는 인공지능인 FAR AI를 통해 발견되었다.[9] 이 프로젝트에 참여한 미국의 아마 강자 켈린 펄린은 바둑 실력은 아마추어 수준이지만 이 방법을 사용해 현 최강급 카타고를 상대로 14승 1패의 결과를 냈다.[10]심지어 카타고를 상대로 9점을 접어주고도 승리하기도 했다.(9점 접바둑 기보) 게다가 세계 최고급의 인공지능인 골락시절예, 그리고 오픈소스 인공지능인 릴라 제로ELF 오픈고 또한 비슷한 버그가 확인되었다. 사실상 알파고제로의 논문을 바탕으로 만들어진 모든 인공지능이 비슷한 오류를 갖고 있고, 전문가들은 알파고제로 또한 이런 약점이 있을 가능성이 매우 높다고 본다. 카타고는 이후 검색트리를 개선하고, 이와 같은 오류를 일으키는 기보들로 학습을 하여 개선되고 있다. 10억 visit으로도 카타고가 인지하지 못하던 기보들은 현재 수십만 visit 정도로 해결되는 등, 굉장히 좋아졌다고 말할 수 있지만, 다시 엄청난 검색으로도 제대로 인지하지 못하는 기보도 가끔 나온다. 정리하자면 비교적 개선은 많이 되었지만, 해결 되었다고 말 할 순 없다.[11]

2019년에 바둑기사 이세돌은 현 바둑 인공지능에도 허점이 있을 것이라고 예언하기도 했다. # 뭐 당연한 말이고 지금 이 시점의 인공지능에도 당연히 헛점이 있을 것이다. 그리고 인공지능의 헛점은 인공지능으로 찾아낸다.

5. 활용

가장 눈에 잘 띄는 것은 역시 바둑 유튜버들의 치수고치기 컨텐츠. 동규의 바둑, 프로연우, 조 앤 탑, 귀수TV, 이현욱TV, 서봉수, 키바바둑TV 등등 여러 유튜브 채널에서 카타고[12]와의 접바둑 컨텐츠를 진행하였다. 대국에 사용되는 카타고의 버전, 컴퓨터의 사양과 시간 설정, 사람의 기력 수준 등의 요인들에 의해 적정 치수가 달라지는데, 프로기사가 4점까지 깔기도 한다. 컴퓨터는 컴퓨터대로 짧은 시간 밖에 못 받고 사람은 사람대로 집중하기 힘든 환경에서 두기 때문에 나름대로 흥미진진한 대결이 된다.

2018년의 엘프고, 2019년의 릴라 제로미니고에 이어, 2020년에 한국의 프로기사들이 바둑 연구에 활용하는 주력 AI가 될 가능성이 매우 높은 후보다. 릴라 제로와 미니고를 9할 이상의 승률로 압도할 만큼 강한 데다가 덤 조절, 한국 규칙 지원, 집 차이 출력 등 다양한 이점이 있어 프로기사들도 많이 사용하고 있다.

K바둑에서 먼저, 그리고 바둑TV에서도 생중계에 활용하고 있다. 중계에 카타고가 활용됨으로써 드디어 덤 6.5집 기준의 정확한 승률과 집 수에 기반한 형세까지 확인할 수 있게 되었다.

타이젬, 한큐, ogs 같은 사이트에서도 카타고와 둘 수 있다.

5.1. 카타구이(폰타고)

katagui
별다른 설치 없이 카타고를 이용할수 있는 사이트[13].일명 폰타고 로그인 없이 카타고 10블럭, 회원가입을 하고 로그인을 하면 20,40블럭을 무료로 이용할수 있다. 40블럭의 경우 최신 네트워크를 주기적으로 업데이트 한다. 사이트 내 설명에 따르면 하드웨어는 NVIDIA RTX 2080 12 threads이다.

5.2. 카타고 오프닝 북

카타고 오프닝 북
개발자가 7x7, 8x8 등의 작은 보드 크기의 바둑에 대해서 카타고로 나름의 해답을 내놓은 사이트이다. 이 보드 크기의 바둑들의 특징들에 대해 정리해 놓았다. 하지만 이러한 보드 크기의 바둑들조차 모든 수가 최선의 수라는 보장은 없다고 설명한다.
2023년 10월 27일 9X9의 오프닝 북도 추가됐다. 하지만 9X9 오프닝 북은 기존의 더 작은 보드 사이즈의 오프닝 북보다 완성도가 낮다고 한다.

6. 외부 링크

카타고가 언급된 기사
Leela Zero 디스코드 서버의 katago 채널
카타고 네트워크
세븐틴님 카타고 통합팩
FAR AI의 카타고 오류 연구 소개 사이트
FAR AI의 카타고 오류 관련 논문
[1] 어찌보면 당연한 말인데, 알파제로 자체가 알파고 제로에서 바둑에 특화된 feature를 제거해서 효율을 좀 낮춘 대신 범용적인 학습을 가능하게 만든 버전이기 때문이다.[2] 아주 낮은 확률로 오류가 나는 모습을 보이기도 한다.[3] 이에 관한 자세한 사항은 여기를 참조.[4] visit의 수가 수백에서 수십만 사이에 놓이도록 하는 범위에서.[5] 기보나 전적을 확인하고 싶다면 2월 현재를 기준으로 활약 중인 神机C, 里拉复盘 등의 닉네임을 한큐바둑에서 검색하면 된다.[6] 이 대회에서 상위 5개중 3개의 인공지능이 순수 카타고 포함 카타고의 클론으로 확인 되었다.[7] 이 이유로는 검색엔진의 개선도 있지만,지금까지 나온 묘수들을 여러 이용자들이 카타고 개발자인 lightvector에게 알려, 학습에 활용하고 있기 때문이기도 하다.[8] 60블럭 기준[9] 자세한 설명은 논문을 읽어보자.https://arxiv.org/pdf/2211.00241.pdf[10] 1패 한 이유는 역설적이게도 대국 중간에 자기도 모르게 죽어야 하는 돌들을 살리는 착수를 했기 때문으로 밝혀졌다. 즉, 중간에 정상적인 움직임을 취해서(...) 패배한 것.[11] 게다가 해당 검색 트리를 넣은 뒤로 어째 다른 인공지능과의 대결에서 이전보다 은근히 약해진 모습을 보여준다. 물론 다른 인공지능들의 성능이 발전했기 때문일 수도 있지만.[12] 인공지능 바둑판으로 대국한 경우들 포함.[13] 또는 이 사이트에서 이용할 수 있는 카타고를 지칭한다