brunch

You can make anything
by writing

C.S.Lewis

by 이정원 Apr 07. 2016

알파고 바둑 정복기

첫 네 수만 167억가지... '꾀'를 부린 알파고

토일과학섹션 펼쳐지는 면에 통으로 실어주셨습니다. 이제 알파고로 제가 할 일도 슬슬 마무리 되는 느낌이네요. ^^


2016. 4. 2. 조선일보 D4-5면

기사와 관련하여 후기도 남겨봅니다.  

이 원고를 마지막으로 검토한 날은 휴가였지만 매우 바빴다. 오후 내내 국립중앙과학관 특별전시 자문을 하고 <KBS 스페셜> 김영선 PD, 윤영수 작가, 김찬우 사범과의 뒤풀이에 늦을세라 여의도로 달려 가는 중이었다. 퇴근길 전철에 서서 왼손은 맥북을 받쳐 들고 오른손으로 콕콕 찍어가며 마지막 원고를 마무리하고, 해물탕집에서 소주를 반병 쯤 비운 뒤에야 테더링으로 겨우 전송할 수 있었다. 그날 술자리는 참으로 유쾌하고 즐거웠다. 나는 다음날 아침 8시에 아산병원 강의가 있었고 김찬우 사범은 시합이 있었지만 우리는 내일이 오지 않을 것처럼 밤을 보냈다. 술기운 덕분인가. 아산병원 강의도 성황리에 끝났고 김찬우 사범도 시합에서 승리를 거뒀다.

박건형 기자는 이번에 인연을 맺은 여러 기자들 중 가장 먼저 연락을 주셨고 가장 마지막까지 함께 작업했다. 역사적인 1국 전날(3/8) 나간 2면 기사를 주말 동안 준비하면서 전화 통화를 열다섯 번 정도 했을 거다. 밤새 검토한 원고를 두고 아침 7시에 통화하기도 했다. 편집 과정에서 나의 의도와 팩트를 최대한 정확히 전달하려고 많이 노력하셨다. 알파고와 관련된 여러 이슈들에 대해서도 의견이 일치하고 통하는 점이 많았다.

그때 보낸 65매 원고를 토대로 오늘의 기획 기사를 준비했다. 에트리에서 만나서 함께 콘셉트를 기획했다. 알파고의 생애를 그려 보자. 초안을 다시 쓰고 여러 번 주고 받으며 다듬어 나갔다. 그래픽팀의 수고는 말할 것도 없고, 글도 거의 공동 작업이라고 봐야 한다. 연구소에서도 흔히 경험하기 어려운 좋은 협업 사례로 기억될 것 같다.

2016. 4. 2.



200만년 전 아프리카의 유인원(類人猿) 사이에서 똑바로 서서 걷는 무리가 등장했다. 후세에 그들은 '곧게 선 사람'이라는 의미에서 '호모 에렉투스'라고 불렸다. 그 후손 중 하나인 호모 사피엔스, 즉 오늘날의 인류(人類)는 지구의 지배자가 됐다. 인류보다 육체적 능력이 뛰어난 동물은 많다. 하지만 두뇌를 쓰는 데서 인류를 넘어서는 존재는 없었다. 인간 지성에 대한 굳은 믿음을 깬 역사적 사건이 지난달 서울에서 일어났다. 인터넷 기업 구글의 인공지능 프로그램 '알파고(AlphaGo)'가 프로 바둑기사 이세돌 9단과의 다섯 차례 대국에서 4승 1패로 압승을 거뒀다. 인간이 만든 게임 중 가장 복잡한 바둑은 인공지능이 넘볼 수 없는 영역이었다. 알파고가 만들어진 것은 지난해 여름. 돌도 지나지 않은 인공지능은 5000년 인간 바둑의 역사를 넘어섰다. 알파고는 어떻게 최강의 바둑기사가 됐을까. 또 어떤 분야에서 인간을 뛰어넘을 계획을 세우고 있을까.



알파고의 탄생… 사람을 흉내 내다

완벽한 계산은 불가능한 일

그래서 사람처럼 직관으로 승부수를 던진다


2015년 여름, 영국 런던에 위치한 구글의 자회사 ‘딥마인드’에서 새 인공지능 프로그램이 가동됐다. 십여 차례 업그레이드를 거쳐 완성된 이 프로그램의 이름은 알파고. 구글의 지주회사인 ‘알파벳(Alphabet)’ 또는 최고를 의미하는 ‘알파(α)’와 바둑을 뜻하는 영어 ‘고(Go)’에서 따왔다. 이름처럼 알파고는 세계 최고의 프로 바둑기사를 꺾는 최초의 인공지능이 되고자 했다.


인공지능은 1997년 체스, 2011년 TV 퀴즈쇼에서 인간 챔피언을 넘어섰다. 하지만 바둑은 달랐다. 바둑은 현존하는 최고의 수퍼컴퓨터로도 모든 경우의 수를 계산할 수 없다. 가로·세로 각 19줄인 바둑판에서 돌을 놓을 수 있는 자리(착점)는 361개이다. 두 대국자가 번갈아가며 첫 네 개의 돌을 놓는 경우의 수만 167억271만9120가지이다. 체스에서 인간 챔피언을 이긴 IBM의 수퍼컴퓨터 ‘디퍼블루’는 초당 2억 수를 계산했다. 디퍼블루로 바둑의 첫 네 수를 계산하려면 83초면 된다. 하지만 돌이 여덟 개로 늘어나면 경우의 수가 상상을 초월한다. 두 사람이 주고 받는 첫 여덟 수에서 나오는 경우의 수는 ‘361X360X359X358X357X356X355X354’이다. 디퍼블루로 4만년이 걸려야 계산할 수 있다. 바둑판에 돌을 모두 채우는 가짓수는 10의 150제곱으로 우주 전체에 있는 원자의 수보다 많다. 수퍼컴퓨터가 수십억년을 계산해도 다 파악할 수 없다. 이 때문에 바둑계 관계자들은 물론, 인공지능 전문가들조차 20~30년은 프로 바둑기사를 이기는 인공지능은 불가능하다고 여겼다.


인간만이 갖고 있는 직관(直觀), 수많은 경험을 조합한 판단, 상대방이 두는 낯선 수에 대한 대응에 이르기까지 갓 태어난 알파고 앞에는 미지의 세계가 펼쳐져 있었다. 단지 기존의 인공지능처럼 계산 속도를 빠르게 하는 것만으로는 충분하지 않았다. 그래서 알파고는 사람처럼 바둑을 배우기 시작했다.


3주간 집중훈련

붙이면 젖혀라, 모자는 날일자로 벗어라…
행마·사활·기보를 '정책망'에 입력


인간의 뇌는 신경세포들의 연결체이다. 신경세포들은 전기신호를 주고받는다. 공부를 하거나 경험을 하면 신경세포의 연결망이 재조직되거나 연결 강도가 바뀌면서 기억이나 판단 능력이 생긴다. 알파고의 핵심 능력은 사람의 뇌를 본뜬 인공 신경망에서 나온다. 알파고의 인공 신경망은 크게 ‘정책망(policy network)’과 ‘가치망(value network)’으로 나뉜다. 먼저 세 종류의 정책망이 알파고가 만들어진 뒤 3주 동안의 집중 학습을 통해 형성됐다.


우선 ‘롤아웃(rollout) 정책망’에는 바둑의 기본이 들어 있다. 바둑에는 격언처럼 전해오는 일종의 규칙이 있다. ‘붙이면 젖혀라’, ‘젖히면 뻗어라’, ‘모자는 날일자로 벗어라’ 등 바둑을 배운 사람이라면 누구나 별다른 생각없이 가장 좋은 수로 여기는 규칙들이 롤아웃 정책망으로 학습된다. 이어 딥마인드는 알파고에게 아마추어 고수들이 인터넷에서 둔 바둑 기보(棋譜) 16만건을 공부시켰다. 특정한 상황을 보여주고 다음에 사람이 어디에 두었는지 맞히는 문제를 3000만개 풀었다. 이를 통해 얻은 경험은 ‘지도학습 정책망(supervised learning)’에 업데이트됐다.


하지만 16만건의 바둑 기보는 바둑을 알기엔 턱없이 부족하다. 이 때문에 알파고는 수없이 가상 대국을 두며 새로운 수를 찾았다. 알파고는 혼자서 하루에 3만번 바둑을 두면서 배운 것들을 하나하나 따져보고 검증했다. 기보에 없는 수를 둘 경우 어떻게 되는지, 어떤 수를 둬야 이길 확률이 높은지 자율학습을 통해 깨달은 것이다. 이 정보는 ‘강화학습(reinforcement learning) 정책망’에 쌓였다.


학생들이 수학을 배우는 과정에 비유하면 롤아웃은 공식, 지도학습은 연습 문제 풀이, 강화학습은 증명에 도전하는 과정이라고 할 수 있다. 어떤 상황에서 어떤 수가 좋다는 것을 알파고가 알게 된 것은 사람의 뇌에서 신경세포들의 연결이 변해 경험이 쌓이는 것과 비슷하다. 프로 바둑기사들은 다음에 둘 곳을 ‘직감’으로 몇 곳 추린 뒤 그 뒤에 벌어질 일을 예상해본다. 알파고는 정책망으로 프로기사처럼 다음 수를 어디에 둬야 좋은지 추릴 수 있게 됐다. 인간의 직관력을 흉내 내게 된 것이다.



이기는 게임엔 무리수 안 둬

정책망을 통해 추려낸 수 후보들의 승률 분석
이 부분을 맡는 신경망이 '가치망'이다


알파고가 착점하는 수에 따른 승률을 계산하는 가상도. /KBS


알파고는 정책망으로 현재 상황에서 어떤 수가 좋다는 것은 비교적 잘 알게 됐지만, 전체적인 바둑이 유리한지 불리한지는 판단할 수 없었다. 형세를 판단할 수 없다는 뜻이다. 프로 바둑기사들은 ‘기분 좋은 형세’라는 말에서 알 수 있듯 감(感)으로 형세를 판단한다. 사람이 논리적으로 설명할 수 없는 것을 알파고에 입력하기는 힘들다. 알파고는 가치망이라는 또 다른 신경망을 이용, 정책망을 통해 추려낸 다음 수 후보들의 승률을 추정한다.

바둑판에서 한 점에 돌을 놓으면 그다음에 돌을 놓을 수 있는 다양한 점들이 나온다. 이 점들도 각각 그다음에 가능한 여러 점들을 쭉 나열할 수 있다. 이는 마치 한 가지에서 여러 가지가 계속 나오는 나무(트리) 모양새가 된다. 가치망에는 이와 같은 가지 중 일부를 선택하는 ‘몬테카를로 트리 서치(MCTS)’라는 방식이 사용된다. 다음 수 후보들을 뒀을 때 생겨나는 경우의 수 중 일부만을 무작위로 시뮬레이션해본 뒤 이를 근거로 승률을 얻어내는 방법이다. 마치 방송국에서 TV 프로그램 시청률을 집계하기 위해 일부 가구만 표본조사하는 것과 비슷하다. 시청률 조사는 많은 가구를 조사할수록 정확하다. 알파고는 후보 수마다 10만번에 이르는 시뮬레이션 결과를 얻어내는 것으로 알려져 있다. 가치망을 통해 알파고는 현재 상황에서 자신의 유불리를 파악할 수 있다. 정책망과 가치망을 활용해 알파고는 아무리 상대방이 최선의 수를 둬도, 그보다 더 승률을 높이는 수를 판단할 수 있게 됐다.


세상 밖으로 나온 '절대자'

유럽 챔피언 꺾고 '네이처' 표지 모델로
"세계 최강 이세돌 9단 나와라!"

 알파고는 지난 1월 23일 국제학술지 ‘네이처’의 표지<사진>를 장식하면서 세상에 존재를 드러냈다. 딥마인드팀이 발표한 논문에는 알파고가 지난해 10월, 유럽 바둑 챔피언인 판후이 2단과의 대국에서 5대0으로 승리했다는 내용이 담겨 있었다. 지난해까지 인공지능 바둑 프로그램은 4~5점을 먼저 놓고 두는 접바둑으로나 프로 바둑 기사를 상대할 수 있었다. 알파고의 탄생 시점을 감안하면 불과 한두 달 만에 프로기사의 벽을 넘어선 것이다.

여기서 끝이 아니었다. 딥마인드팀은 알파고의 다음 상대로 지난 10년간 세계 최강으로 군림해온 이세돌 9단을 지목했다. 이 9단 역시 100만달러가 걸린 다섯 차례의 대국을 받아들였다. 당시만 해도 모두들 알파고의 ‘무모한 도전’으로 여겼다. 다만 네이처에 공개된 판후이 2단과의 대국 기보가 인공지능치고는 뛰어난 수준이라는 평가가 앞날에 대한 암시처럼 나왔다.


인간 챔피언을 꺾다

지금 내가 둔 수가 '떡수'라고? 천만에
인간대표가 20수를 내다본다면 난 40수

 3월 9일 서울에서 열린 1국. 알파고의 첫 수는 화점(花點, 바둑판 위에 찍힌 9개의 점)이었다. 빈 바둑판에서는 알파고가 바둑을 두는 방식이 작동하기 힘들다. 시뮬레이션이나 정책망 모두 큰 의미가 없다. 알파고가 학습한 16만건의 기보에 첫 수로 화점이 가장 많았을 수도 있고, 통계적으로 화점에 두는 것이 승률이 높았을 수도 있다. 알파고의 첫 수가 아예 화점으로 정해져 있을 가능성도 있다.

초반 이후 알파고는 사람들의 예상에서 빗나가는 수를 잇따라 뒀다. 24·26·102수가 대표적이었다. 그때마다 지켜보던 프로기사들은 ‘알파고의 실수’라고 확언했다. 하지만 시간이 지나면서 이 수들은 모두 ‘악수(惡手)’가 아닌 ‘묘수(妙手)’가 됐고, 이세돌 9단에게는 ‘비수(匕首)’로 다가왔다. 알파고의 정책망과 가치망이 프로기사보다 훨씬 더 앞을 내다본 수를 구사할 수 있게 해준 것이다. 두시간으로 정해진 제한 시간 동안 알파고는 매 수 1분~1분30초가량을 사용하면서 정책망과 가치망을 충분히 활용했다. 최강의 프로기사도 수읽기를 어려워하는 장면에서 알파고는 최대 40수 앞을 내다본 바둑을 구사했다. 착점 후보를 추린 뒤 그 후에 무슨 일이 일어날지를 미리 다 계산해둔 덕분이다. 이세돌 9단이 다음 수를 예상대로 두면 알파고는 앞으로 일어날 일을 더 많이 시뮬레이션하면서 승률 예측의 정확도를 높일 수 있었다. 압도적인 알파고의 바둑에 이 9단은 세 판을 내리 졌다. 이른바 ‘알파고 쇼크’가 전 세계를 강타했다. 인공지능은 사람들의 예상보다 훨씬 더 빨리 발전하고 있었다.

승률을 예측하는 알파고의 가치망은 딥마인드팀까지 ‘예언자’로 만들었다. 3월 10일 두 번째 대국은 4시간 20분간 진행됐다. 하지만 딥마인드팀은 3시간쯤 지난 시점에 이미 알파고의 승리를 확신했다. 대국을 해설하던 국내 프로기사들이 이세돌 9단의 우세를 점치고 있던 시점이었다. 딥마인드팀은 알파고가 가치망을 통해 얻어내는 승률이 높아지는 것을 보고 알파고의 승리를 확신했던 것이다. 시뮬레이션 결과 이 9단이 어떤 수를 두더라도 자신이 이긴다는 확신이 승률로 나타난 것이다. 다섯 번째 대국에서도 딥마인드팀은 알파고가 승기를 놓쳤던 순간, 판세가 뒤집힌 장면을 모두 미리 알아챘다. 바둑을 숫자로 읽어낸 알파고 덕분이었다.


쓰라린 실패… 더 강해질 거야

어라! 이건 계산에 없던 수인데…
전체 판 신경 쓰느라 눈앞 전투에 허점 보여

1~3국을 내리 이기며, 절대자로 군림하는 듯했던 알파고는 3월 13일 네 번째 대국에서 허점을 보였다. 알파고의 유일한 맹점(盲点)을 이세돌 9단이 파고들었다.

알파고의 기본 틀은 정책망이다. 수많은 대국을 거쳤지만, 알파고 역시 바둑에서 일어나는 모든 경우를 알 수 없다. 정책망에 없는 수가 나오면 가치망도 승률이 50%를 넘어서는 수를 찾아내기 힘들다. 알파고의 가장 강력한 무기가 무용지물이 된 것이다.

이 9단의 78수가 알파고의 허를 찌른 신의 한 수였다. 알파고는 이 9단이 78수의 위치에 돌을 둘 확률을 1만분의 1 이하로 평가했다. 승기를 잃은 알파고는 이후 황당한 수를 연발하다가 결국 돌을 던졌다. 떨어진 승률을 되돌리기 위해 새로운 수를 모색했지만 실패로 돌아간 것이다.

알파고의 약점은 부분적인 전투에서도 드러났다. 사람은 부분적인 전투가 벌어지면 그 부분에만 집중할 수 있다. 하지만 알파고는 부분적인 전투 상황에서도 바둑판의 나머지 부분을 염두에 두고 신경망을 가동한다. 당장 눈앞에 벌어진 싸움을 승리로 이끌 완벽한 수를 찾는 데 오히려 장애가 되는 작동 구조이다. 물론 이 부분이 영원한 약점이 될 가능성은 없다. 하루에 3만번의 대국을 진행할 수 있는 알파고는 앞으로 인간은 꿈꿀 수도 없는 엄청난 경험을 쌓을 수 있다. 시간이 지날수록 더 완벽한 바둑기사가 될 것이다.


이제 바둑만 둘 순 없지

스스로 학습해 실력을 쌓는 능력
의학·금융 등 수많은 영역이 기다린다

지난달 15일 역사적인 바둑 대국이 끝난 뒤 바둑 랭킹 사이트인 ‘고레이팅’에는 큰 변화가 일어났다. 통계적으로 바둑 실력을 측정하는 이 사이트에서 불과 10판의 공개 대국을 한 알파고가 2위에 오른 것이다. 세계 랭킹 1위인 중국 커제 9단의 점수는 3615점, 알파고는 3584점이었다. 알파고 개발자인 데이비스 실버 박사는 지난 24일 영국 런던대 강의에서 “자체 측정한 결과 알파고의 점수는 이미 4500점에 이르렀다”고 주장했다. 알파고의 대국 횟수가 적어 점수가 낮을 뿐, 이미 인간이 범접할 수 없는 수준이라는 뜻이다.

실버 박사에 따르면 현재 알파고는 두 개가 존재한다. 이 9단과 대국한 18번째 업그레이드 버전 알파고와 그 백업 버전이다. 프로그램을 가동하는 컴퓨터는 중앙처리장치(CPU) 1202개와 그래픽처리장치(GPU) 176개로 구성됐다. 하지만 알파고는 일종의 컴퓨터 프로그램이다. 어떤 컴퓨터와 연결하느냐에 따라 무궁무진하게 복제가 가능하고, 다양한 버전이 나올 수 있다.

실제로 딥마인드는 알파고의 현재는 바둑 프로그램이지만, 미래의 알파고는 다르다고 말한다. 알파고 ‘학생’은 16만건의 기보를 통해 배웠지만, 불과 한두 달 만에 교재(기보)를 쓴 선생님(바둑기사)을 넘어섰다. 6개월 뒤에는 세계 최정상에 섰다. 스스로 학습해 일취월장하는 알파고의 능력은 의학, 금융 등 수많은 분야에 활용할 수 있다. 의사가 돼 인터넷의 수많은 의료정보를 바탕으로 가장 정확한 진단을 내리고 치료법을 찾을 수 있고, 투자자로 전 세계 곳곳의 경제 상황을 종합해 가장 수익성이 높은 투자처를 골라낼 수도 있다. 2016년 3월 서울에서 시작된 ‘알파고 쇼크’는 인공지능이 자신의 미래에 첫 발을 디뎠다는 신호탄으로 기록될 것이다.

기사 원문: http://news.chosun.com/site/data/html_dir/2016/04/01/2016040101422.html



작가의 이전글 알파고는 어떻게 바둑을 둘까
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari