이 사이트의 급수는 어떻게 정해지나
본인방 바둑에서 20급을 고르면 20급처럼 두고, 9단을 고르면 9단처럼 둡니다. 계산을 줄여 약하게 만든 AI가 아닙니다. 사람의 기보로 학습한 신경망에 「이 급수의 사람이라면」이라는 조건을 넣어 묻는 방식입니다. 이 글은 그 방식이 정확히 무엇이고, 무엇이 아닌지 적습니다.
두 종류의 AI가 있다
대국 화면에서 상대를 고를 때 「KataGo」와 「KataGo 20급~9단」이 나란히 있습니다. 이름은 비슷하지만 하는 일이 다릅니다.
| 항목 | KataGo 모드 | 급수 모드 |
|---|---|---|
| 목표 | 최선의 수 | 그 급수의 사람이 둘 법한 수 |
| 신경망 | KataGo 대국용 신경망 (kata1 b18) | KataGo 사람 기보 신경망 (b18 humanv0) |
| 수읽기 | 탐색 8회~256회, 최대 1초~8초 | 탐색 없음. 신경망이 한 번에 고른 수 |
| 한 수에 걸리는 시간 | 고른 생각 시간만큼 | 기기 안에서 0.2초 안팎 |
| 강하게·약하게 만드는 법 | 탐색 횟수를 바꿈 | 급수 조건을 바꿈 |
KataGo 모드는 흔히 아는 바둑 AI입니다. 수를 앞으로 읽어 보고 가장 좋은 수를 둡니다. 약하게 만들려면 읽는 횟수를 줄이는 수밖에 없는데, 그렇게 약해진 AI는 사람과 다르게 실수합니다. 초반은 프로처럼 두다가 사활에서 사람이 하지 않는 착각을 하는 식입니다.
급수 모드는 그 문제를 다른 길로 풉니다. 수를 읽지 않습니다. 대신 「이 자리에서 이 급수의 사람은 무엇을 두는가」를 신경망에 직접 묻고, 그 답을 그대로 둡니다.
급수 모드가 실제로 하는 일
KataGo 프로젝트는 대국용 신경망과 별도로, 사람의 기보만으로 학습한 신경망을 공개했습니다. 이 신경망은 기보를 배울 때 수순만 배운 것이 아니라 그 판을 둔 사람의 급수도 함께 배웠습니다. 그래서 물을 때 급수를 조건으로 넣으면, 그 급수의 사람이 다음 수로 각 자리를 고를 확률이 판 전체에 대해 나옵니다.
본인방 바둑은 그 확률 가운데 가장 높은 자리를 둡니다. 주사위를 굴리지 않습니다. 같은 판, 같은 급수면 같은 수가 나옵니다. 흑과 백 양쪽에 같은 급수 조건을 넣습니다.
급수 말고도 조건이 몇 가지 더 들어갑니다. 이 신경망은 「어느 대국 서버에서, 언제, 어떤 시간 규칙으로 둔 판인가」도 함께 배웠기 때문에 물을 때 그 값도 채워야 합니다. 본인방 바둑은 이 값을 고정해서 씁니다.
| 조건 | 값 |
|---|---|
| 대국 서버 | KGS |
| 시점 | 2020년 3월 1일 |
| 시간 규칙 | 기본 20분, 초읽기 30초 5회 |
| 양쪽 급수 | 고른 급수와 같음 |
풀어 말하면 이렇습니다. 「2020년 봄 KGS에서 20분 초읽기 바둑을 두는 5급이라면, 이 자리에서 무엇을 두겠는가.」 급수 모드의 한 수는 전부 이 질문의 답입니다.
고를 수 있는 급수는 20급부터 1급까지 20단계, 1단부터 9단까지 9단계, 합쳐 29단계입니다. 처음 들어오면 5급이 기본으로 잡혀 있습니다.
무엇이 아닌가
이 방식은 몇 가지를 하지 않습니다. 오해가 생기기 쉬운 순서로 적습니다.
- 손님의 실력을 재지 않습니다. 회원 가입 때 적는 「내 급수」는 스스로 적는 값입니다. 대국 결과로 급수가 오르내리지 않습니다. 급수 모드의 급수는 상대 AI의 조건이지 손님의 판정이 아닙니다.
- 같은 급수 사람 백 명을 흉내 내지 않습니다. 실제 5급 백 명이 같은 자리를 두면 여러 수로 갈립니다. 급수 모드는 그중 가장 확률 높은 한 수만 둡니다. 그래서 「5급이 두는 다양한 수」가 아니라 「5급이 가장 자주 두는 수」에 가깝습니다.
- 급수마다 승률과 집 계산의 기준이 다릅니다. 급수 모드의 신경망이 내놓는 승률은 「그 급수끼리 이어 두면」이라는 전제 위의 값입니다. 18급 조건의 승률과 9단 조건의 승률을 나란히 놓고 비교하면 안 됩니다. 실험실 글에서 착점과 확신만 쓰고 승률은 쓰지 않는 이유입니다.
- 시간 조건이 바뀌지 않습니다. 손님이 대국 시간을 5분으로 잡아도 신경망에 들어가는 시간 조건은 위 표의 고정값입니다. 급수 모드의 AI는 시간에 쫓겨 실수하지 않습니다.
급수를 고를 때
자기 급수를 알면 그보다 두세 급 약한 상대부터 시작하는 편이 낫습니다. 급수 모드의 AI는 초읽기에 몰리지 않고 늘 같은 조건으로 두기 때문에, 같은 급수라도 사람보다 안정적으로 느껴집니다. 이기기 시작하면 한 급씩 올립니다.
급수 차이가 크면 접바둑을 씁니다. 두 점부터 아홉 점까지 접을 수 있고, 접는 만큼 덤이 사라집니다. 급수 모드는 접바둑에서도 같은 방식으로 둡니다.
직접 확인할 수 있는 곳
복기 화면의 「놓아보기 기력」이 바로 이 조건입니다. 저장된 기보 아무 수에서나 급수를 바꾸고 「이어두기」를 누르면, 그 급수의 AI가 그 자리부터 이어 둡니다. 같은 자리를 여러 급수로 열어 보면 이 글에서 말한 것이 눈에 보입니다.
실험실의 다른 글은 그 일을 프로 기보 15판, 105자리에서 미리 해 둔 기록입니다. 어디를 두느냐보다 얼마나 확신하느냐가 먼저 갈린다는 것이 지금까지의 관찰입니다.
2006년 TV바둑 아시아선수권 이창호 대 이마무라 도시야, 40수 장면을 엽니다. 놓아보기 기력을 18급으로 두고 이어두기를 누른 뒤, 같은 자리를 9단으로 다시 열어 보세요.
복기 화면에서 급수 바꿔 보기출처
사람 기보 신경망은 KataGo 프로젝트가 공개한 b18c384nbt-humanv0 입니다. 조건을 넣는 방식은 KataGo의 SGF 메타데이터 규격을 그대로 따릅니다. 사용한 소프트웨어와 라이선스는 오픈소스 라이선스에 있습니다.
다음 글
같은 자리, 급수별 착점과 확신프로 기보 15판의 105자리를 급수만 바꿔 여덟 번씩 물었습니다. 어디를 두느냐보다 얼마나 확신하느냐가 먼저 갈립니다.