미니고
1. 개요
GitHub
Stats
Discord[1]
가중치 파일 전체
구글의 Andrew Jackson에 의한, 알파고 제로/알파제로의 재구현을 목표로 하는 오픈 소스 바둑 인공지능 프로젝트. 따라서 알파고 제로 혹은 알파제로의 다른 재구현 프로젝트들인 릴라 제로, ELF 오픈고 등과 매우 비슷한 내부구조를 갖는 버전들이 많다.[2] 이 사례에 해당하는 v15와 v16의 가중치들은 간단한 변환과정만 거치면 릴라 제로 엔진을 가지고도 사용할 수 있는데, 아래의 버전별 정보에 링크된 파일들이 바로 릴라 제로 엔진에서 사용되도록 변환된 파일들이다. 그러나 프로젝트로서는 엄연히 알파고와 독립으로, '''미니고는 알파고가 아니며, 딥마인드와도 직접적인 연관은 없다'''고 밝히고 있다.
2. 상세
텐서플로우를 기반으로 개발되었다. 강화학습에 TPU를 활용하고 있어 굉장히 빠른 진행을 보이고 있는 것이 특징이다. "played on X00 TPU"라 밝히고 있으므로 수백 개가 쓰이고 있다는 것까지는 알 수 있지만 정확히 몇백 개인지는 알 수 없다. 학습을 위한 자가대국은 800 playouts의 설정으로 이루어지는데, 프로젝트의 진행이 빠를 때는 하루에 백만 판이 넘게 진행된다. 가중치들 간의 기력 비교를 위한 평가대국에서는 TPU가 사용되지 않는다고 한다. 버전의 숫자가 올라갈 때마다 기술적으로 새로운 시도를 하며 가중치 파일을 맨바닥에서부터 다시 학습하기 때문에, 공개되는 것들이 굉장히 의미있는 데이터라고 할 수 있다.
예전에는 구글이 바둑을 또 손댄다는 의미로 주목을 받았었는데, v15에 들어서면서부터는 릴라 제로, ELF 오픈고와 겨룰 만큼의 기력을 갖추면서 강자로 인식되게 되었다. 떠오른 시기가 인공지능 바둑의 관심도가 절정일 때와는 조금 떨어져 있고, 엘프고가 등장할 때 그 당시의 릴라 제로를 압도하며 오픈 소스 최강자라는 인식을 선점하고 화제를 일으킨 바가 이미 한 번 있었기 때문에, 여러 바둑 커뮤니티나 유튜브 등지에서 미니고가 언급되는 경우는 비교적 적었다. 그러다가 2019년 3월부터 v17의 기력이 강하다는 것이 알려지기 시작하면서 커뮤니티에서도 주목을 받게 되었다.
3. 버전별 정보
3.1. v15
v15 - LZ 엔진용 변환 가중치 파일
자체적인 평가에 의하면, v15에서 가장 강한 가중치인 '''000990-cormorant'''는 릴라 제로와 ELF 오픈고에 견줄 만큼 강하다고 한다.[3]
총 2560만 판의 자가대국이 v15의 학습과정에서 치러졌다.
3.2. v16
v16 - LZ 엔진용 변환 가중치 파일
미니고 프로젝트의 첫 40블록인 v16도 진행이 완료되었다. 흑으로 첫 수를 3·3에 두는 것이 특징이다.[4]
v15와 비교했을 때 동일 visits에서 더 강한 기력이 나오는 것 같지 않으며, 따라서 동일 시간 하에서의 성능은 더 나쁜 것 같다고 평가되었다. 좋은 40블록짜리 미니고를 기대한다면 차기 버전을 기약해야 하는 상황이나, 미니고가 40블록의 학습을 다시 시도할 계획을 가지고 있는지는 불명.[5]
3.3. v17
v17에서는 다시 20블록 크기로 돌아왔다. 기존 방식과는 다르게 Squeeze and Excitation이라는 네트워크[6] 를 새로 적용했기 때문에, v17은 릴라 제로 엔진에서 구동하도록 만드는 변환 작업이 쉽지 않다고 한다. 링크
세븐틴님의 '''인공지능 바둑 통합설치팩'''에 미니고 v17을 구동할 수 있는 엔진이 포함되어 있으며, v17 내에서 가장 강한 가중치인 '''000990-pallas'''와 연결되어 있다. 세븐틴님 블로그 바로가기
자체 테스트 결과[7] 에 의하면, v17의 기력은 이전 버전들보다 강하다. 여러 유저들에 의한 테스트 결과들도 각종 커뮤니티를 통해 올라오고 있는데, 릴라 제로와 ELF 오픈고를 상대로도 상당히 선전한다는 보고가 다수여서 새로운 시도를 통해 강한 기력을 얻는 데에 성공한 듯하다.
v17의 학습이 '''001003-leviathan'''을 마지막으로 종료될 것인지 아니면 다시 재개될 것인지가 아직 결정되지 않았다는 뉘앙스의 언급이 디스코드에 있었으나, 학습이 정지된 채로 시간이 여러 달 흐르고 개발자도 v18을 언급하게 되면서 결국 종료되었다.
3.4. v18
2019년 3월에 미니고 디스코드에서 v18에 대한 구상을 밝혔다. 이 곳에 적어둔 아이디어들을 적용해 볼 계획이라고 한다.
2019년 10월에 미니고 깃헙에서 조만간 v18을 시작할 계획이 있음을 밝혔다. lightvector의 카타고가 가진 특징들을 일부 도입할 것이라고 한다.
v17이 종료된 지도 1년이 지났으나, 개발자는 다른 일들 때문에 바쁜 듯하다.
4. 바깥 고리
세븐틴님의 유튜브 채널 - 통합설치팩의 설치나 사용에 어려움을 겪는 경우에 참고하면 좋다.
개발자 Andrew Jackson의 인터뷰 기사
[1] 그럭저럭 활발한 커뮤니티. 개발자들의 토의를 볼 수 있어서 좋다. 들어가서 궁금한 거 물어보면 답변도 해준다.[2] 그러므로 구체적인 작동 원리가 궁금한 경우 미니고 깃헙이나 미니고 디스코드 외에도 다른 제로 계열 인공지능에 관한 자료들을 참고할 수도 있을 것이다.[3] 그러나 제3자에 의한 여러 실험 결과들에서는 미니고가 약간 더 약한 것으로 나오는 경우가 많다. v15의 학습이 끝나고 자체적인 기력 평가가 있은 후로도 시간이 제법 흐르면서 릴라 제로는 버전 업데이트를 여러 번 거쳤고, 엘프고 또한 v2를 공개하였기 때문이기도 하다.[4] 미니고 개발자도 v16이 첫 수 3·3을 두게 된 것에 어떤 의미가 있는지 궁금하다고 디스코드에서 여러 번 말한 바 있다. 똑같은 40블록인 알파고 제로도 안 그랬고, 릴라 제로도 현재 안 그러고 있으니...[5] 개발자 입장에서 40블록이 20블록에 비해 얼마나 매력이 있을지 생각해보자. 확실히, 20블록으로 축 버그나 사활 버그를 비롯한 여러 약점들을 다 해결하는 것은 무리이고, 이들에 관해 40블록은 약간이나마 더 나은 잠재력을 가진다는 장점이 있다. 그러나 개발자에 성향에 따라 강한 기력의 성취보다는 딥러닝 기법의 실험 과정으로서의 의의에 더 중점을 둘 수도 있는데, 이 경우 새로운 기술과 아이디어가 쏟아져 나오고 있는 상황에서 한 번의 학습과정을 오래 붙들고 있어야 하는 40블록을 택할 메리트를 크게 못 느낄지도 모른다.[6] 줄여서 '''SENet'''이라고도 한다.[7] 여기에 링크된 페이지를 볼 때 유의해야 할 점은, 여기서 평가된 미니고의 Elo 레이팅은 프로기사들의 세계랭킹을 매기는 goratings에 기록된 점수와 통일된 스케일을 사용하는 것이 아니라는 점이다. 따라서 수치를 직접 비교해서는 안 된다.