이세돌의 상대, 알파고가 바둑을 터득한 비결
주제 | 정보(전산), 기계 |
---|---|
칼럼 분류 | 일반기사 |
칼럼 작성일 | 2016-03-09 |
원본보기 |
![이세돌의 상대, 알파고가 바둑을 터득한 비결 본문 이미지 1](https://img-api.cboard.net/img_n.php?image_url=https://dbscthumb-phinf.pstatic.net/4484_000_1/20160610140811466_A8BCG3QPK.jpg/ca22_1172_i1.jpg?type=m4500_4500_fst&wm=N)
컴퓨터에 집적회로와 다중프로그램이 적용되기 시작한 1960년대에 이미 일부 전문가들은 10년 이내면 체스에서 컴퓨터가 사람을 이길 것이라고 예상했다. 인공지능 분야에서 사용하는 논리형 고급 프로그래밍 언어인 프롤로그가 1973년에 개발되자 그 같은 예상은 더욱 확산됐다.
하지만 인간의 모든 지식을 데이터베이스에 담을 수 있을 것 같았던 프롤로그로는 체스에서 사람을 결코 이길 수 없었다. 그런데 그로부터 20여 년이 흐른 후인 1997년, 컴퓨터가 마침내 체스에서 사람을 꺾었다. IBM 슈퍼컴퓨터에서 동작하는 체스 프로그램인 ‘딥 블루’가 당시 세계 체스 챔피언인 개리 카스파로프를 물리친 것.
승리의 비결은 예전에는 미처 생각하지 못했던 ‘무식한 방법’에 숨어 있었다. 딥 블루는 체스 게임에서 흑과 백이 결과적으로 가능한 움직임을 나타내는 수백만 개의 데이터를 철저히 탐색한 뒤, 상대방이 이길 가능성이 가장 적은 움직임을 선택했다. 즉, 인공지능의 발전이라기보다는 컴퓨터의 속도가 빨라지고 메모리 용량이 커짐에 따라 얻은 하드웨어의 승리였다.
그런데 딥 블루의 승리 후 뉴욕타임즈는 “바둑에서 컴퓨터가 사람을 이기기 위해서는 100년 이상이 걸릴지 모른다”고 보도했다. 왜 그런 예상을 내놓았을까.
중국에서 약 2500년 전에 발명된 바둑은 두 명의 대국자가 가로와 세로로 그어져 있는 19줄의 361개 교차점에 흑과 백의 돌을 번갈아 가며 놓는 전략 경기다. 빈 교차점을 둘러싸 자신의 집으로 만들면 되는데, 자신이 둘러싼 교차점 하나와 자신이 잡은 상대방의 돌 하나는 각각 1점이 된다.
규칙은 간단하지만 바둑 경기가 전개되는 상황은 엄청나게 복잡하다. 게임 중간에 일부 돌은 죽을 수 있으며, 일부 돌의 경우 죽은 것 같지만 어느 순간에 다시 살 수 있다. 종종 게임이 끝날 때까지 누가 이겼는지 알기 어려울 때도 있다.
경우의 수를 따져 봐도 바둑이 체스보다 훨씬 많다. 64칸 안에서 6종류의 말을 정해진 경로를 따라 움직이는 체스의 경우 특정한 위치에서 가능한 움직임이 약 12개이다. 그에 비해 361곳을 무작위로 둘 수 있는 바둑은 특정한 위치에서 가능한 움직임이 약 200개에 달한다.
체스의 경우 한 경기를 둘 때 고려해야 하는 경우의 수는 보통 10의 120승으로 계산된다. 하지만 바둑에 대한 경우의 수는 아직 명확하지 않다. 구글은 바둑에 대한 경우의 수가 250의 150승이라 했고, 혹자는 10의 360승이라고도 한다. 어떤 경우든 우주 전체의 원자 숫자보다 더 많은 조합과 배열이 가능하다는 의미가 된다. 그렇기 때문에 바둑에서는 체스 챔피언을 이긴 딥 블루처럼 무식한 방법이 통하지 않는다.
그런데 지난 2007년 믿을 수 없는 일이 벌어졌다. 프랑스 파리대학교 연구자들이 개발한 ‘모고(MoGo)’라는 바둑 프로그램이 인간 대국자 몇 명을 이기고 유럽 순위 300등을 기록한 것. 비록 9줄×13줄의 축소된 바둑판에서 실시된 경기였지만, 컴퓨터가 바둑 게임에서도 사람을 이길 수 있다는 가능성을 보여주기에 충분한 사건이었다.
‘모고’의 놀라운 바둑 실력은 ‘몬테카를로 방법(Monte Carlo method)’이라는 통계적 샘플링 알고리즘 덕분이었다. 1940년대 최초의 원자폭탄을 만들기 위한 ‘맨해튼 프로젝트’에서 개발된 이 알고리즘은 임의성에 의존해 수많은 가상의 세계를 시뮬레이션 하는 방식이다.
2013년 2월 일본 도쿄에서 몬테카를로 알고리즘을 적용한 바둑 프로그램 ‘크레이지 스톤’과 프로 바둑기사 이시다 요시오 간의 공식 기전이 최초로 벌어졌다. 결과는 크레이지 스톤이 초반부터 이시다 9단을 몰아붙이며 완승을 거뒀다. 크레이지 스톤이 4점을 먼저 깔고 둔 접바둑이었지만, 이시다는 대국 후 크레이지 스톤을 천재라고 추켜세웠다.
그럼 이세돌 9단과의 대결로 유명한 알파고는 크레이지 스톤보다 얼마나 우수한 바둑 실력을 지녔을까. 구글에 의하면 알파고는 성능을 검증하기 위해 크레이지 스톤과 젠 등 지금까지 나온 가장 우수한 바둑 프로그램과 총 500번의 대국을 치렀다. 결과는 알파고의 499승 1패. 물론 지금의 알파고는 그때보다 훨씬 강해진 상태다.
알파고는 중국계 프로 기사 판 후이 2단과의 접바둑이 아닌 대결에서 인공지능 사상 처음으로 승리했다. 지난 1월 28일 구글 연구팀이 과학잡지 ‘네이처’에 발표한 ‘심층신경망과 트리 검색으로 바둑 게임 정복하기’란 논문 속에 알파고의 바둑 학습 비결이 담겨 있다.
그에 의하면 알파고는 몬테카를로 알고리즘에 더해서 딥러닝(Deep Learning) 알고리즘으로 사람처럼 스스로 바둑을 학습하는 것으로 드러났다. 기계가 스스로 학습하기 위해선 ‘인공신경망’을 가져야 하는데, 알파고는 ‘정책망’과 ‘가치망’이라는 2개의 기본 신경망으로 구성됐다.
정책망이 다음 번 돌을 놓을 여러 경우의 수를 제시하면, 가치망은 그중 가장 적합한 한 가지 예측치를 제시하는 역할을 한다. 구글 연구진은 방대한 바둑 데이터베이스를 활용해 알파고의 정책망에 3천만 개 위치 정보를 입력하는 반복 훈련을 시킴으로써 다음 수 예측률을 크게 높였다.
이 같은 지도학습을 끝낸 후에는 실전을 통해 습득한 데이터를 스스로 가다듬는 강화학습으로 정책망을 더욱 똑똑하게 만든다. 가치망 역시 딥러닝의 강화학습으로 바둑 게임 전체를 읽는 능력을 기를 수 있었다. 딥러닝이 가능한 두 개의 신경망과 몬테카를로 방식을 활용해 알파고는 세계 바둑 챔피언 자리를 노리고 있는 것이다.
구글이 인공지능 스타트업인 딥마인드를 2014년 인수한 후 이처럼 세계적인 바둑 이벤트를 개최하는 데는 이유가 있다. 더 영리한 기계를 설계하기 위해 패턴 인식 및 학습, 계획 등과 같은 주요 요소들을 탐구함에 있어 게임이 가장 이상적인 환경을 제공하기 때문이다. 더구나 그 게임이 그간 난공불락으로 여겨져 왔던 바둑이니 가히 신의 ‘한 수’인 셈이다.
3월 9일, 이세돌 9단과 알파고의 대국이 시작됐다. 대국 일정은 1국 9일, 2국 10일, 3국 12일, 4국 13일, 5국 15일이다. 모든 대국은 유투브를 통해 전 세계에 실시간 생중계된다. 과연 인간과 인공지능의 대결은 어떤 결과를 가져올지, 그 귀추가 주목된다.
글
- 이성규 - 과학칼럼니스트