인공지능 (1) , 바둑 (1)
선선한 바람 부는 밤하늘엔 반짝이는 별이 수놓아진다. 여러 종류의 무수한 별들이 있겠지만, 맑은 가을 하늘은 항상 가장 아름다운 별, 쌍성을 떠올리게 한다. 각자의 중력에 묶여 서로를 향해 같은 궤도로 끝없이 추락하는 쌍성. 반대편의 블랙홀을 향해 빨려 들어가며 붉게 타는 적색거성의 상상도는, 흑백의 돌들이 서로의 모양을 뽐내다 엉키며 종국엔 진흙탕싸움도 마다않는 한 판의 바둑을 닮았다.
출처 : NASA/CXC/A.Bahramian, M.Weiss
19줄, 19칸으로 이루어진 반상의 361개 착수지점에서 나오는 10의 170승에 달하는 경우의 수는 우주의 원자보다 많아서 바둑은 종종 우주의 무한함에 비유되곤 한다. 두 사람이 흑백의 돌을 판 위 임의의 점 위에 교대로 놓으면서 집을 많이 차지함 을 목적으로 하는 간결함 속에, 슈퍼컴퓨터로도 모든 경우의 수를 따져보며 최상의 수를 택하는 것이 불가능할 정도의 복잡성을 담았다는 점이 바둑의 매력이다.
신기한 것은 이런 무수한 가능성에도 불구하고, 바둑에 필승전략이 있다는 것이다. 좀 더 자세히 말하면, 바둑과 같은 특성을 가진 모든 게임엔 한 쪽에게 필승전략이 있고, 간단한 증명이 가능하다.
이런 특성을 가진 게임은 다양하고, nim게임과 같은 게임의 경우 필승전략 자체가 밝혀졌지만, 바둑에 있어서 이런 필승전략은 그림의 떡이다. 역사상 어느 사람이나 프로그램도 바둑의 필승전략을 알아내지 못했기 때문이다. 필승전략을 알기는커녕, 늦게 두는 백의 불리함을 벌충하기 위한 규칙인 덤의 크기에 따라 게임 시작 시, 흑과 백 중 누가 필승전략을 갖느냐도 알아내지 못했다.
필승전략을 찾아내려는 노력은 항상 자유도의 높은 벽에 부딪혀 실패했지만, 바둑은 가위바위보처럼 오로지 운에 기대는 게임이 아니다. 게임 초반, 승점인 집을 짓기 쉬운 요충지인 귀를 차지하려는 다양한 정석부터, 중반의 변과 중앙까지 나아가며 포석을 지나, 반면의 상황이 어느정도 수습된 후반엔 경계선을 따라 끝내기까지의 각 단계에서 얼마나 상대의 집을 부수고, 내 집을 지키느냐에 따라 실력이 나뉜다. 실력이 출중하여 대회에 출전하며 바둑 두는 것을 업으로 삼는 프로기사들도 있고, 이들 간의 전적을 통해 계산한 Elo rating으로 실력을 수치화하여 역대 기사들의 순위를 매기기도 한다.
Elo 점수의 계산에는 대전 기록외의 정보가 필요 없기 때문에, 과거의 기사 혹은 전성기 시절의 실력을 추정하거나, 사람이 아닌 프로그램의 실력을 측정하는데도 사용할 수 있다. 이렇게 측정한 바둑 프로그램의 실력은 역사적인 2016년 알파고의 등장 전까진 별 볼일 없었다. 2000년대 중반까지도 그래프처럼 아마추어 초심자와 비슷했는데, 체스에선 일찍이 1997년에 딥블루가 챔피언을 가볍게 뛰어넘었다는 점을 생각하면 이상할 정도이다. 하지만, 이는 체스가 바둑보다 경우의 수가 적어 수읽기에서 컴퓨터가 강점을 보이기 때문이다.
조잡한 수준이었던 바둑 프로그램들은 2000년대 후반부터 아마추어 고수들과 어깨를 나란히하더니, 2016년엔 결국 Elo 역대 최고기록 3572점의 이세돌 九단을 4승1패로 꺾고, 그 후에는 최정상급의 프로기사도 훌쩍 넘겨 Elo 5000점대에 진입했다. 여기엔 컴퓨터 하드웨어의 눈부신 발전도 관여했지만, 아래에 설명할 몬테카를로 탐색기법과 컨볼루션 신경망을 통한 딥러닝, 판세를 읽는 가치망과 같이 프로그램의 변화된 작동방식의 공을 높이 사고 싶다.
먼저 몬테카를로 탐색기법은, 2000년대 중반, 아마추어 하수 수준에 머물러있던 바둑 프로그램의 성능을 아마추어 고수까지 끌어올린 주역이다. 딥블루와 같이, 이전의 프로그램들은 컴퓨터의 압도적인 계산능력을 기반으로 가능한 수들을 일일이 탐색하는 무차별 탐색 기법을 택했는데, 앞서 설명한 것처럼, 바둑의 방대한 경우의 수에 맥을 못 췄다. 그래서 몬테카를로 탐색기법은, 표본추출을 의미하는 단어인 ‘몬테카를로’라는 이름처럼, 가능한 전개들 중 일부만을 뽑아 종국까지 시뮬레이션 함으로써. 계산능력의 효율상승을 꾀했다. 모든 경우의 수를 조사하진 않기 때문에, 항상 최선의 수만을 둔다거나 사람처럼 상대의 반격에 대응을 미리 준비하진 못했지만, 시뮬레이션 결과 승률의 높고 낮음을 통해 묘수와 악수를 구분할 수 있었다.
물론 이전의 실력에 비하면 괄목할만한 성장이 있었지만, 여전히 아마추어 고수에 불과한 실력의 프로그램을 프로기사마저 훌쩍 뛰어넘는 현재의 알파고 제로로 만들어준 일등공신은 딥러닝이다. 딥러닝을 가능케하는 컨볼루션 신경망은, 노드(node)들로 이루어진 판이 유동적인 함수들을 사이에 두고 층층이 겹쳐진 형태로, 절전뉴런에서 절후뉴런으로 신호가 이동하길 반복하면서 외부의 입력에 따른 출력을 만들어내는 뇌신경망을 닮았다. 신경망을 통한 딥러닝은 함수를 조정한 신경망 사이의 대국을 통해 혹은 기보를 통해 이루어지는데, 높은 승률의 신경망이 가진 함수를 채택하는 방식으로 조금씩 전체 신경망을 변화시켜나가는 방법이다.
이런 방식으로 발전하는 딥러닝의 단점은, 착수 의도를 설명할 수 없다는 점이다. 인간의 바둑에선 매 수가 견제, 실리, 세력, 생존등과 같은 의도와 함께 반격에 대응할 방법을 생각한 후 이루어지는데, 딥러닝 기반 프로그램들은 착수지점 외엔 출력이 없기 때문에 왜 좋은 수인지 알기 어렵다. 하지만, 입력 또한 판 위의 상황밖에 없기 때문에, 바둑이론에 얽매이지 않음으로써 한없이 기계다운 창의적인 수를 둘 수 있다는 장점이 있고, 장점을 살려 인간 최고수를 가볍게 뛰어넘는 실력을 얻을 수 있었다.
이제 알파고의 학습에 사람의 기보는 수준이 낮아 사용되지 않는다. 어느 시점부터 알파고 간의 대국만을 학습했고, 이를 통해 알파고 Lee에서 Master로, 마지막엔 Zero로 거듭났다. 구글은 여러 버전의 알파고들 간의 대국 기보를 공개했고, 개중엔 알파고 Zero간의 대국도 있다. 이들은 현대 바둑이론의 정수인 여느 정석과 전혀 다른 수들로 진행된다는 것 외에도 신기한 구석이 있는데, 총 50판의 대국 중 38판(76%)이 백의 승리로 끝났다는 점이다.
엄청난 차이를 보이는 승률은 Elo 점수 200점 차이에 해당하는 승률로, 같은 버전의 알파고 간의 대국이라고 믿을 수 없을 정도지만, 앞서 잠시 언급한 덤을 통해 이해할 수 있다. 대국 규칙상의 덤이 백에게 유리했던 것이다. Zero간의 대국은 현행 중국식인 7.5집 덤 속에서 이루어졌는데, 이는 중국 규칙의 특수성을 감안해도, 일본의 5.5집이나 한국의 6.5집보다 백에 유리한 상황이다. 이런 흑백의 불공정성은 중국식 규칙에서 대부분의 기사의 백 승률이 높다는 점에서도 드러난다.
하지만, 이런 문제를 해결하기란 일견 요원하다. 기사나 규칙, 시기에 따라 같은 덤에서도 승률의 변동이 심하기 때문이기도 하고, 앞서 설명한 필승전략과 반집 덤에 의해 무승부가 없다는 점을 고려하면, 근본적으로 바둑은 칼로 자른 듯 공평할 수 없는 게임이기 때문이다.
체스에선 늦게 시작하는 흑의 불리함을 벌충하기 위해 흑백을 번갈아가며 여러 판을 둬서 승점으로 승자를 정한다. 하지만 이는 상대의 킹을 잡는 것을 목표로 하기 때문에 바둑의 덤같은 시스템을 도입하기 어려워서 택한 궁여지책이고, 집으로 승자를 따지는 바둑에선 한 판을 두면서도 게임을 공정하게 만들 수 있는 방법은 없을까?
방법을 궁리하다 떠올린 것이 5줄 바둑이다. 5줄 바둑의 덤 설정은 간단하다. 흑이 첫 수를 천원(3,3)에 두는 순간 백은 어떤 수를 둬도 두 집을 내고 살 수 없기 때문이다. 그래서 흑의 최선은 천원이고, 공정한 덤은 흑과 백 모두에게 무승부라는 필승전략을 가능케 하는 24집의 정수집 덤이 될 것이다. 현행처럼 반집을 포함한 23.5 혹은 24.5집 덤은 5줄 바둑을 상대의 실수 없이는 한쪽이 질 수밖에 없는 불공평한 게임으로 전락시키기 때문이다. 6줄 바둑부터는 너무 복잡해져서 어렵지만, 같은 원리로 19줄 바둑에서도 서로 최선의 수를 둔다고 가정할 때, 게임 시작에서 흑백 모두 무승부를 낼 수 있게 하는 정수 덤이 있을 것이다.
남은 문제는 “무승부를 낼 수 있게 하는 정수 덤을 어떻게 찾는가?”인데, 아쉽지만, 5줄 바둑처럼 모든 경우를 고려하여 찾는 방법은 현재로서는 불가능하고, 대안으로 현존하는 최강자이며, 상황에 따른 기복이 없고, 각종 이해관계로부터 자유로운 Zero를 사용하는 방법이 있다. 여러 크기의 덤을 설정한 후, Zero간의 대국에서 흑과 백의 승률차이가 가장 적은 덤을 고르는 방법이 최선이다.
핀 조명을 받아 빛나는 전시회의 작품들은 벽에 걸린 채로 그려지지 않는다. 캔버스 크기에 맞춰 조정한 높이의 벽에 못이나 압정을 박고, 그 위에 거는 방식으로 전시하는데, 이 과정에서 가장 번거로운 일 중 하나가 수평을 맞추는 일이다. 두 압정을 같은 높이의 벽에 수직으로 정확히 박기가 꽤나 어렵기 때문이다. 그렇다고 수평을 대강 맞출 수 없는 것이, 이를 게을리하면 조금만 거리를 두고 봐도 비뚤어진 작품이 거슬려 감상을 방해하기 일쑤기 때문이다.
덤의 설정도 이와 같아, 국가별 규칙마다 덤의 크기를 찾아 기울어진 반상을 조정하기는 어렵고 번거롭다. 하지만, 이를 등한시하면 한 판의 바둑을 망치게 되니, 부지런히 노력하여 수평을 맞출 일이다.