ELF 오픈고

From Hidden Wiki
Jump to navigation Jump to search
* 상위문서: 페이스북, 바둑/인공지능

[include(틀:주요 바둑 인공지능)]

[목차]

개요

페이스북에서 만들어 공개한 오픈 소스 바둑 인공지능.

DarkForest 시절

[[1]]

[youtube(_DBnE2goAu4)]

2016년 개발 중임을 공식화하였다. DarkForest에 관한 자세한 사항은 2015년 11월에 arXiv에 올라온 [[2]]을 참고할 것.

이름의 유래는 중국 작가 류츠신의 소설 암흑의 숲(The Dark Forest). 삼체 시리즈의 2부에 해당하는 작품이다.

페이스북의 발표로는 크레이지스톤이나 과 비슷한 기력이었다고 한다. 딥러닝 시스템은 2016년 개발버전에서는 채택하지는 않았고 추후 적용 예정이라고. 발표하면서 고바야시 고이치 九단과 특별 대국도 한 번 하였다. 하지만 이 컨벤션 이후 2018년까지 아무런 소식이 없으면서 개발이 중단된 것으로 추정되었었다. 다크포레스트 개발 공개와 거의 비슷한 시기에 구글에서 알파고를 공개하면서 완전히 묻히게 된 것도 한몫했다.

ELF OpenGo

[[3]] [v2의 LZ 엔진용 변환 가중치 파일(다운로드 주의)]

페이스북이 개발하던 바둑 인공지능은 2018년 5월 2일에 딥러닝을 적용한 ELF OpenGo로 공개되었다. 여기에서 [[4]]는 페이스북이 자체 딥러닝 프레임워크인 [[5]]를 기반으로 만든 강화학습 플랫폼을 말한다. 학습 프로그램의 소스 코드와, 이걸로 학습과정을 돌려서 얻어진 네트워크 모델(이하 가중치 파일), 이 둘 모두를 공개하였다.[* 엘프고 v2의 학습과정 중에 얻어진 자가대국 기보들과 중간 버전 모델들도 공개하였다. [주의)]] 한국에서는 주로 엘프고로 불리고 있다.

엘프고는 릴라 제로와 마찬가지로 오픈 소스로 공개[* 그렇지만 개발하면서 특허도 낸다는 듯.]되었으며, 알파제로의 재구현을 목적으로 하는 프로젝트를 표방하고 있다.[* 이는 페이스북이 공개한 [논문]의 제목에 "Open Reimplementation of AlphaZero"라는 표현이 쓰인 것으로부터 분명히 알 수 있다. 참고로 또 다른 오픈 소스 바둑 인공지능인 미니고도 이와 비슷한 표현을 사용한 바 있다. 릴라 제로는 GitHub을 통해 스스로를 "For all intents and purposes, it is an open source AlphaGo Zero."라고 소개하였는데, 알파고 제로의 재현과 알파제로의 재현 사이에는 약간의 방식 차이가 있다.] 그러므로 알파제로와 같은 ResNet, 20블록[* 단, 둘 다 20블록이지만 20이 가리키는 범위가 달라서 구성에 약간의 차이가 있다. 알파제로는 convolutional block 1개 + residual block 19개, 엘프고는 convolutional block 1개 + residual block 20개.]의 구성을 가지며, 자가대국을 통해 가중치 파일을 발전시켜나가는 강화학습을 한다. 즉, 바둑의 규칙[* 중국식 룰. 따라서 덤도 7.5집.]만 입력해 주고, 기보 데이터는 일절 주지 않는다.[* 참고로 기보를 이용하여 학습시키는 것은 지도학습이라고 한다. 지도학습은 자가대국을 시행하지 않아도 되므로 강화학습보다 진행이 훨씬 빠르다. 제로 계열의 큰 의의 중 하나는 데이터의 입력이 없이도 뛰어난 퍼포먼스를 얻어낸다는 데에 있다.] 많은 학습을 거친 뒤 페이스북에 의해 공개된 엘프고 가중치 파일은 릴라 제로의 개발자에 의해 릴라 제로 엔진[* LZ 엔진, 혹은 더 줄여서 그냥 LZ라고 표현하기도 한다. 참고로 LZ는 Leela Zero의 이니셜이라서 릴라 제로 가중치 파일을 의미할 때도 있고, 엔진을 의미할 때도 있는 중의적 표현이다.] 위에서 구동이 되게끔 적절히 변환되었는데, 이것이 일반 사용자들에게 널리 이용되고 있는 변환 가중치 파일이다. 이 변환 과정은 꽤 단순한데, 이는 엘프고와 릴라 제로 둘 다 알파고 제로의 논문을 바탕으로 한 재구현 프로젝트로서 프로그램의 내부구조가 비슷하기 때문에 가능한 일이다.

페이스북이 엘프고를 공개하기 전부터 시작한 테스트에 의하면, 릴라 제로[* 이 실험에 쓰인 릴라 제로 가중치 파일은 2018년 4월 25일에 얻어졌던 버전인 128번(15블록)이다. 릴라 제로는 117번부터 157번까지가 15블록이므로 15블록 중에서도 약한 편에 드는 버전이라고 할 수 있다. 비록 엘프고도 지금은 새로운 버전이 출시되기는 했지만, 릴라 제로가 40블록이 되고 200번대 버전에 접어든 현재에는 릴라 제로가 저렇게 일방적으로 깨지던 때와 상황이 완전히 다르다.]를 상대로 980승 18패, 네 명[* 김지석 九단, 신진서 九단, 박영훈 九단, 최철한 九단 (테스트 당시의 랭킹 순) 각자 5판씩. 참고로 이 중에는 [시도된 판도 있었다].]의 한국 프로기사들과 대국을 벌여 총 20승 0패의 성적을 거두었다.[* 엘프고가 처음 공개될 때에는 릴라 제로에게 198승 2패, 프로기사에게 14승 0패를 한 것으로 소개됐었다. 공개한 뒤에도 테스트를 이어서 진행한 듯.] 프로기사와의 대국에서는 엘프고를 80,000 visits으로 설정하고, 프로기사에게는 무제한의 시간을 주었다.[* 대국시간은 평균 3-4시간, 길어질 땐 6시간까지 걸렸다고 한다. 당시 하드웨어는 80,000 visits를 계산하는 데 50초 가량 걸리는 수준으로 주어졌고 상대방의 차례일 때는 계산을 중단하는 noponder 설정이 포함되었다고 하니, 총 대국시간 중에 프로기사 측이 사용한 시간이 어느 정도일지 가늠할 때 참고할 것.]

처음 나온 지 약 3개월 만인 7월 31일에 새로운 버전이 공개되었다. 새로운 버전(v1)은 이전 버전(v0)과의 대국에서 약 64.6%[* 1,600 visits 설정에서 측정된 승률. 410 경기로 측정한 승률이니 2.4% 정도의 표준편차를 갖는 추정량임을 감안하여야 한다.] 승률을 보여 더욱 강해졌다는 것이 확인되었다. [대국 결과]

테스트 대국이 가져다 준 충격 때문이었는지, 공개된 후부터 적어도 2018년 말까지 엘프고는 한국기원 프로 바둑기사들이 인공지능을 활용할 때 [쓰인 인공지능이었다]. 중국 기사들에게만 공개되는 절예 최신판[* 한큐바둑에서 프로들을 털고 있는 절예는 최신버전이 아니라는 이야기다.]을 적극 활용하여 집단연구를 체계적으로 진행하는 중국 국가대표팀에 대항하여 한국 기사들이 국제무대 경쟁력을 갖추는 데에 엘프고가 상당한 도움을 주었다. 2019년 상반기 현재는 릴라 제로가 더욱 더 강해지고 미니고가 새로운 강자로 떠오르면서[* 중국이 거대자본을 이용하여 자기들끼리만 쓸 물건을 개발하는 상황에서, 오픈 소스 진영에서 좋은 물건이 꾸준히 나와준다는 것은 한국 입장에서 매우 고마운 일이다. 바둑계 입장 뿐만 아니라 기술적인 면에서도 훨씬 많은 사람에게 더 유익함은 물론이다.] 여러 가지 인공지능을 참고하는 쪽으로 활용 방향이 바뀌었다.[* 프로들의 AI 활용 현황에 관해 추가로 참고할만한 [링크]]

v1 기준으로, 엘프고는 굉장히 독특한 형세판단을 지닌 기사다. 덤이 7.5집임에도 불구하고 흑이 유리[* 승률 51.x%.]하게 시작한다고 보는 것은 엘프고의 특징이었다.[* 이는 v2에서는 47.x% 대 52.x%로 백이 더 유리하게 시작한다고 분석되는 것으로 바뀐다. 7.5집은 백에게 유리한 덤이라는 게 중론이므로, 좀 이상했던 점이 바로잡힌 부분이라 할 수 있다. 참고로, 드문 현상이긴 하지만 엘프고 v1만 이랬던 것은 아니다. 릴라 마스터 GXAA도 흑이 약간 유리(50.x%)하게 시작하는 걸로 분석한다.] 실제로 엘프고가 흑을 쥘 경우 흑3으로 상대가 백2로 화점에 두어 점한 귀의 3·3을 파는 등, 흑의 선수를 이용하여 특이하게 작전을 구사한다. 또, 엘프고가 분석한 승률은 릴라 제로의 분석보다 훨씬 극단적이다. 엘프고의 분석 상 한 판의 바둑에서 흑백 중 어느 한 쪽의 승률이 최초로 90%대에 진입하게 되는 순간을 릴라 제로에게도 분석시켜 보면 십중팔구 아직 60%대나 70%대의 승률인 것으로 나올 정도로, 둘이 내놓는 승률은 정도의 차이가 심하다. 이와 같은 승률 판단의 정밀함은 비슷비슷해 보이는 수들 중에서 어느 것이 더 좋은 수인지를 날카롭게 가려내어 대국 초반에서부터 차근차근 우위를 점해나가는 데 중요한 능력이지만, 엘프고의 후보수가 아닌 수가 두어졌을 때 그것에 대한 승률이 지나치게 평가절하되는 안 좋은 특성이 심해지는 원인이 되기도 한다.[* Sabaki 같은 프로그램으로 흑백에 서로 다른 인공지능의 가중치 파일을 세팅하여 대국을 진행시킬 경우, 쌍방이 서로 자기가 더 유리한 것으로 분석하고 있는 상황을 심심찮게 볼 수 있다. 상대가 자기의 계산과는 다른 수를 내놓을 때마다 '자기가 유리해졌다'는 분석이 쌓이기 때문으로, 어찌 보면 매우 자연스러운 현상.] 때문에 엘프고의 승률은 정밀할지는 몰라도 믿을 만하게 정밀한 것은 아닌 것 같다는 의견도 많았다.[* 초반에 포석이 한 수 한 수 진행될 때마다 엘프고가 보여주는 승률의 변동이 [티칭 툴]에서에 비해 훨씬 크다는 점도 이러한 평가에 한몫했다.]

한국 시간 기준 2019년 2월 13일에 [[6]]과 함께 [v2가 공개되었다]. 블록의 수는 20으로 기존과 동일하나, 필터의 수는 224에서 256으로 늘어났다.[* 알파고 제로, 알파제로도 256필터였다.] 논문에서는 v2의 기력을 '엘프고의 프로토타입 모델(v0)에 비해 150 ELO 정도 더 강하다'라고 밝혔으므로, v1보다는 아주 약간 더 강한 버전[* 1,600 visits 설정일 때 v2가 v1에 대해 약 55%의 승률을 가지는 것으로 추정됨. 또한 논문에 의하면 엘프고끼리 대국을 할 때 한 쪽의 visits 수를 두 배로 주면 많이 받은 쪽이 200 ELO 정도 더 강하다고 하니, 엘프고가 다른 visits 수 설정 하에서 어느 정도 기력을 가질 지 가늠할 때 참고할 것.]인 셈이다. 또한 같은 날에, 엘프고를 이용해서 기보 약 87,000장을 분석하여 16세기 후반부터 현재까지의 시대별 바둑 수준 발전상을 추정해 본 결과도 공개하였다. [[7]]과 [[8]] 참고. 특이사항으로는 대국의 첫 60수에 대한 수 일치율이 인공지능 시대에 해당하는 2년(2017-2018) 동안에 약 4%p나 상승했다는 점[* 단, 2018년의 상승폭을 순수히 실력 상승으로 해석하기는 어려운 것이, 프로기사들이 엘프고를 활용하기 시작하면서 당연히 엘프고와의 수 일치율이 올라갔을 수밖에 없다. 조금 덜 직접적이기는 하지만 똑같은 맥락으로, 2017년의 상승폭에도 알파고 마스터의 자가대국 기보 50개가 공개되어 프로기사들이 이를 분석해볼 수 있었던 것의 영향이 섞여있을 수 있다.]이 있다. ~~1930년대 신포석 혁명은 특이점이 아니었다~~

구글 딥마인드가 낸 [[9]]에 관한 논문에 나온 알파제로의 ELO 레이팅 그래프를 보면, ResNet 구조의 20블록 AI[* 엘프고 외에도 알파고 제로 20블록, 알파제로, 미니고 v15가 여기에 해당된다. 그런데 언급된 셋에 비해서 엘프고가 블록이 하나 더 많다.]가 알파고 마스터의 수준[* 딥마인드 추정, ELO 4858점.]을 넘는 것이 충분히 가능한 일인 듯하다. 엘프고 v2에서는 페이스북의 v0에서부터 이어진 개발 경험, 그리고 막대한 계산력을 동원한 자가대국 2000만 판의 강화학습을 통해 20블록이 가진 잠재력을 충분히 이끌어냈을 가능성이 높다. ~~좋은 40블록 가중치를 얻기 위해서는 대체 몇 판이 필요한 걸까?~~ 따라서 추측의 영역이기는 하지만, 엘프고가 알파고 마스터의 수준에는 이미 도달했을 가능성이 높다.[* 현재 엘프고와 릴라 제로의 기력이 엇비슷하므로, 이것은 릴라 제로 또한 알파고 마스터의 수준을 넘어서 알파고 제로 40블록의 수준을 향해 가고 있다는 추측도 되는 셈이다.] ~~하지만 마스터는 반상에다가 대놓고 축 버그를 터뜨리지는 않지~~

엘프고 v2가 공개된 직후, 엘프고는 절예의 최신형보다는 약간 약한 것으로 추측되지만, 오픈 소스 인공지능 바둑 중에서는 최강의 기력을 가졌다. 1,600 visits 설정 하에서 릴라 제로와 맞붙을 경우 엘프고의 승률이 30%대로 내려가기는 하는데, 이는 엘프고가 20블록이고 릴라 제로는 40블록이므로 visits 수를 똑같게 설정하는 것이 릴라 제로에게 훨씬 유리한 규칙이기 때문에 그렇고, 시간 제한을 동일하게 주고 두게 하면 엘프고 쪽의 승률이 조금 더 높았다. 게다가 릴라 제로는 엘프고의 자가대국 기보를 이용하여 지도학습을 어느 정도 수행한 바 있기 때문에, 기력의 발전에 있어서 엘프고 가중치에게 빚을 진다. 한편, 미니고는 v15를 거치면서 엘프고 v1과 비슷한 수준에 도달하게 되었다고 [평가]를 내렸으나, 얼마 지나지 않아 엘프고 v2가 나왔고 이것이 미니고 v15를 [더 잘 잡는 것으로] [[10]]. 그러나 엘프고 v2가 공개된 지 불과 한 달 만에 릴라 제로는 버전을 7번이나 더 끌어올렸고, 미니고는 v17을 통해 기력을 급격히 향상시켰다. 게다가 이 둘은 지금도 부지런히 진척되고 있기 때문에, 엘프고도 새 버전을 내놓지 않는다면 몇 달 지나지 않아 크게 뒤쳐질 것으로 예상된다.[* 그런데 논문에서 엘프고 v2를 지칭하는 말로 'final model'이라는 표현을 써버렸다. 이것이 엘프고 프로젝트의 마지막이라는 것인지, 아니면 단지 지금과 같은 ResNet 20블록 형태로서의 최종 버전이라는 것인지 의미가 확실치 않다. 엘프고가 40블록으로도 할 것인지 누군가가 [질문을 올렸으나] 아직까지 답변이 없다.]

다른 제로 계열과 마찬가지로, 사활 문제와 문제에서 착각을 일으킨다는 문제점이 있다. 엘프고가 여기에 걸려들면 강한 기력이 무색하게 맥없이 무너지는 장면이 연출되기도 한다. v2에 와서도 고쳐지지 않았다. 계산량을 늘려줄수록 점점 나아지기는 하는데, 80,000 visits까지 왕창 늘려주어도 결국 해결이 안 되는 장면들도 존재한다.[* 이는 같은 제로 계열에 해당하는 릴라 제로미니고도 마찬가지다. 페이스북이 v2를 공개하면서 게시한 [[11]]에서는 왜 아직도 축과 같은 개념이 인공지능보다 인간이 훨씬 빨리 그리고 더 잘 이해할 수 있는 부분으로 남아있는가에 대해서 우리가 더 잘 알게 되기를 희망한다고 말했다.] 20블록의 크기 제한 내에서 결국 이 문제점을 많이 해결할 수 있을지 현재로서는 정확하게 알 수는 없는데, 알파고 제로 40블록마저도 [오류][* 해당 장면은 2017년 10월에 공개된 알파고 제로 40블록의 자가대국 기보 20개 중에서 [[12]], 백270수를 둘 차례에 해당된다. 대국자의 ELO 레이팅이 4975로 표시되므로, 40블록의 최종 형태에 의한 대국은 아니지만 학습과정 중에서 꽤 후반부에 나온 대국임을 알 수 있다. 5185점인 최종 버전도 똑같은 결정을 내릴지 궁금해지는 장면.]를 일으켰던 걸 보면 가능성은 매우 낮다. ~~엘프고는 v1 때부터 이미 20블록 치고는 너무 훌륭한 것이다~~

엘프고 v2는 현재 [Go Service)]에서 [[13]]라는 아이디로 활동 중이다. ~~프로필 사진이 재밌다~~ 다른 인공지능들과 기력을 비교해보고 싶으면 [[14]]나 [[15]]도 참고할 수 있다.

[]에서는 엘프고 각 버전을 1,600 playouts와 3,200 playouts의 두 가지 설정으로 운용하여 기력을 측정하고 있다.[* 그런데 흑백을 동일한 빈도로 쥐게 하지도 않고, 풀 안에는 릴라 제로만 지나치게 많으며, 시행한 경기 수 자체가 너무 적기 때문에 신뢰도가 상당히 떨어지는 자료다. 한 번 갱신될 때마다 점수가 몇십 점씩 바뀌어 있는 것만 봐도 알 수 있는 부분. 더군다나 여기서 산출한 ELO 레이팅은 [레이팅]이나 딥마인드가 추정한 알파고의 레이팅과 스케일이 얼추 비슷하게 보이기 때문에 이 값들끼리 비교해서 실력을 비교할 수 있다고 사람들이 오해하는 경우가 많은데, 이 페이지에서는 'Zen7 1단 모드를 1800에 놓는다'는 임의의 기준을 잡고서 낸 값이므로 기사들의 레이팅이나 알파고의 레이팅과 대소를 비교하는 것이 불가능하다.]

바깥 고리

엘프고를 간단히 설치하고 싶다면, 세븐틴 님의 인공지능 바둑 통합설치팩을 이용할 것. [바로가기]

분류:바둑 인공지능