2016년 1월 28일 목요일

알파고(AlphaGo): 머신러닝을 사용하여 고전 게임인 바둑을 마스터하다



바둑은 2,500여 년 전 중국에서 시작된 게임입니다. 공자도 바둑에 대해 글을 쓴 바 있으며, 바둑은 미학적 가치를 인정 받아 진정한 중국 학자라면 갖춰야 할 사예(四藝) 중 하나로 여겨져 왔습니다. 전 세계 4천만 명 이상이 즐기고 있는 바둑의 경기 규칙은 간단합니다. 바둑 기사들은 바둑판 위 흰돌, 혹은 검은돌을 번갈아 놓으며 상대편의 돌을 들어내거나 빈 공간을 둘러싸서 ‘집’을 만드는 것이 목표입니다. 바둑을 둘 때에는 주로 직관과 느낌이 작용하게 되며, 이러한 아름다움, 미묘함, 그리고 지적 깊이로 인해 바둑은 지난 수 백 년 간 인류의 상상력을 사로잡았습니다.

하지만 규칙은 간단할지 몰라도 사실 바둑은 굉장히 복잡한 게임입니다. 돌을 놓는 위치에 있어 무려1,000,000,000,000,000,
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000가지 경우의 수가 존재합니다. 이는 우주에 있는 원자의 수보다 많으며, 체스와 비교할 때 경우의 수가 10의 100제곱 이상 많은 것입니다.

이러한 복잡성은 컴퓨터가 바둑을 두는 것을 아주 어렵게 만들었으며, 따라서 바둑을 인공지능을 연구하는 사람들에게 아주 매력적인 도전과제로 만들었습니다. 이들은 보통 각종 문제들을 사람과 비슷한 방법으로 해결하는 능력이 있는, 보다 더 스마트하고 유연한 알고리즘을 개발하기 위해 게임을 테스트 도구로 사용합니다. 컴퓨터가 마스터한 최초의 게임은 1952년의 ‘삼목놓기’(‘틱택토’라고도 불림)였습니다. 그 후 1994년에는 체커를 마스터했고, 1997년에는 딥 블루 컴퓨터가 체스에서 승리를 거두었습니다. 컴퓨터의 활약은 보드게임에서 그치지 않았습니다. IBM의 왓슨(Watson) 컴퓨터는 2011년 ‘제퍼디(Jeopardy)’에서 우승했고, 2014년에는 딥마인드가 자체 개발한 알고리즘이 픽셀 입력값만으로 아타리(Atari) 사의 여러 게임을 플레이하는 방법을 학습했습니다. 하지만 바둑은 지금까지 인공지능 연구자들을 계속 좌절시켰습니다. 컴퓨터의 바둑 실력은 아마추어 기사 수준에 불과했습니다.

모든 가능한 위치에 탐색 트리(search tree)를 구성하는 전통적 방식의 인공지능은 바둑에서만큼은 빛을 발하지 못했습니다. 그래서 딥마인드는 다른 접근방식을 취했습니다. ‘알파고’(AlphaGo)라는 시스템을 구축했는데, 이는 고급 트리 탐색심층 신경망(deep neural network)을 결합한 것입니다. 이 신경망은 수백만 개의 신경세포와 같은 연결고리를 포함하는 12개의 프로세스 레이어를 통해 바둑판을 분석합니다. ‘정책망’(policy network)이라고 부르는 하나의 신경망이 다음 번 돌을 놓을 위치를 선택합니다. ‘가치망’(value network)이라고 부르는 또 다른 신경망은 승자를 예측합니다.

딥마인드에서는 전문가가 플레이하는 게임으로부터 3천만 개의 움직임에 대해 신경망을 훈련시켰습니다. 이로써 57%의 확률(과거 기록은 44%입니다)로 사람의 움직임을 예측할 수 있게 되었습니다. 이제 다음 목표는 사람을 흉내내는 것이 아닌, 실제 대국에서 사람을 이기는 것입니다. 이를 위해 알파고는 자체 신경망 간에 수천만 회의 바둑을 두고, 강화 학습이라는 시행착오 프로세스를 사용해 연결고리를 조정함으로써 스스로 새로운 전략을 발견하는 법을 학습했습니다. 물론 이를 위해서는 강력한 컴퓨팅 능력이 필요했기 때문에 구글 클라우드 플랫폼을 폭넓게 활용했습니다.

그 후 알파고를 실제 대국에 투입하여 테스트를 시행했습니다. 먼저 인공지능 연구의 선봉에 있는 최고의 바둑 프로그램들과 알파고 사이의 토너먼트를 진행했습니다. 알파고는 총 500회 대국 중 단 한 번을 제외한 모든 대국에서 승리했습니다. 다음으로, 12세에 바둑계에 입문한 후 유럽 바둑대회에서 3회 우승한 천재 바둑 기사 판 후이(Fan Hui)를 딥마인드 런던 본사로 초청해 알파고와 대국을 진행했습니다. 지난 10월 비밀리에 진행된 이 대국에서 알파고는 5회 모두 승리를 거뒀습니다. 컴퓨터 프로그램이 프로 바둑 기사를 최초로 이긴 순간이었습니다. 이 경기에 대한 상세한 내용은 오늘 과학잡지 네이처에 게재된 딥마인드의 논문에서 찾아보실 수 있습니다.


다음 단계는 무엇일까요? 오는 3월 알파고는 궁극적인 도전을 맞이하게 됩니다. 바로 전설적인 바둑 기사 이세돌 9단과의 대국입니다. 이세돌 9단은 지난 10년 동안 세계 최고의 바둑 기사로 인정 받아 왔습니다.

바둑을 마스터함으로써 인공지능의 큰 도전 과제 중 하나를 해결하게 되어 매우 감격스럽습니다. 하지만 이 성과가 큰 의미를 가지는 이유는 알파고가 바둑의 규칙을 하나하나 직접 입력하여 개발된 전문가 시스템(expert system)이 아니라 일반적인 머신러닝 기술을 사용하여 스스로 바둑에서 이기는 법을 파악했다는 것입니다. 게임은 인공지능 알고리즘을 빠르고 효율적으로 개발하고 시험해볼 수 있는 좋은 플랫폼이지만 저희는 궁극적으로  이 기술들을 중요한 현실 세계의 문제에 적용하기를 원합니다. 알파고에 사용된 방법들은 모두 범용성을 갖고 있기 때문에 언젠가 기후 모델링, 복합성 질환 분석 등 오늘날 사회의 어렵고 골치 아픈 난제들을 해결하는 데 쓰이기를 기대해 봅니다. 앞으로 인공지능 기술을 활용해 어떤 문제들을 해결할 수 있을지 정말 기대가 됩니다!


작성자: 데미스 하사비스(Demis Hassabis), 구글 딥마인드