로그인|회원가입|고객센터
Top
검색버튼 메뉴버튼

Issue Highlight 1 : 알파고가 우리에게 남긴 것

알파고는 이길 수 있을 때 대결을 신청했다 그러나, 그는 바둑이 뭔지도 모른다

김진호 | 199호 (2016년 4월 lssue 2)

 

Article at a Glance

 구글 딥마인드에서 인공지능 바둑 프로그램 알파고를 내세워 이세돌 9단에게 도전장을 냈을 땐 이미 많은 테스트를 거쳐승리를 확신한 이후였을 것이다. 1000개가 넘는 CPU와 인간이 대결하는 건 불합리하고 불공정하다는 얘기도 나왔지만, 이는 과학자들이 오랜 연구 끝에 찾아낸심층 인공신경망’, 즉 인간 뇌의 복잡한 뉴런 연결망을 흉내내는 기법으로 소프트웨어를 만들어낸 결과를 모르기 때문에 하는 얘기였다. 알파고의 메커니즘은 단순히 바둑만을 위한 것이 아니라 바둑을 통해 성능을 인정받은범용 프로그램이다. 이를인공지능의 지배가 다가왔다는 식으로 생각하며 겁먹을 필요는 없다. 인간은 어차피지능자체에 대해 잘 모른다. 자신이 잘 이해하지 못하고 있는 걸 개발할 수는 없는 노릇이다. 미래학자 케빈 켈리는앞으로 로봇과 얼마나 잘 협력하느냐에 따라 연봉이 달라질 것이라고 말했다. 우리 기업들도 인공지능과 로봇의 발전을 위한 장기투자에 나설 때다.

 

 

 

들어가며: 이세돌 9단이 질 수밖에 없는 이유

 

인공지능 바둑 프로그램인 알파고가 세계 최초로 프로 선수인 판후이 2단을 50으로 제압하고 세계 최강인 이세돌 9단에게 도전장을 내밀었을 때 필자는 경악했다. 기껏해야 아마 5∼6단 수준에 불과했던 인공지능 바둑 프로그램이 갑자기 프로 9단 수준으로 급성장했다는 것을 믿을 수 없었다. 게다가 알파고 측에서는 이세돌과의 대결에서도 정말 자신이 넘쳐 있었다. “알파고가 판후이 2단과 두었을 때보다도 더 늘기는 했을지라도 이번에 이세돌을 이기기는 힘들 것이라는 세간의 평가에 대해서 알파고를 개발한 구글 딥마인드의 하사비스 대표는 이렇게 대답했다. “(그렇게 말하는) 그들은 프로그래머가 아니다.(They are not programmers!)” 이 말은 곧 자신들은 프로그래머라는 말이다. 다시 말하면 프로그래머가 모든 것을 확인하고 검증한 다음에 프로그램을 돌리듯이 자신들은 이번 대결에서 승리한다는 것을 확인하고서 도전한다는 말이다. 알파고는 이세돌 9단과 대결하려고 (겨뤄보려고) 오는 것이 아니라 승리를 확인하기 위해서 서울로 오는 것임이 명백했다. 그들의 이런 믿기 어려운 확신이 도대체 어디서 나온 것인지 확인하기 위해서 그들이 네이처에 발표한 알파고에 관한 논문(그림 1), 제목을바둑 정복이라고 쓴 논문을 꼼꼼히 정독했다. 또한 그 논문에 참여한 스무 명 공저자들의 지난 10여 년의 연구도 추적했다. 그리고는 필자는 결론을 내렸다. 이번 대결에서 알파고가 완승할 것이고 만약 이세돌 9단이 1승이라도 한다면 그것은 그가 천재이기 때문이라고. 하지만 이렇게 공개적으로 예상한 전문가는 필자뿐이었다. 내 예상은 이세돌 9단은 알파고에게 이길 수 없으니까 한 번이라도 이기려면 5국 전체에 대한 전략을 짜서 단단히 준비하라고 하는 경고였지만 누구도 내 말을 진지하게 귀담아 듣지 않았다. 그렇다면 필자는 왜 알파고가 압승할 것이라고 결론을 내렸을까?

 

왜 바둑은 인공지능의 위대한 도전인가

 

이미 바둑을 제외한 모든 고전게임은 인공지능이 인간을 정복했다. 체스에서는 1997년에 IBM딥블루가 체스 세계챔피언 카스파로프를 꺾었고, 역시 이 회사의 슈퍼컴퓨터왓슨 2011년에 미국의 TV 퀴즈쇼제퍼디에서 인간 챔피언들을 제압했다. 그렇지만 전문가들은 바둑에서는 앞으로도 최소한 10년은 더 있어야 그런 도전이 가능할 (성공이 아니라) 것이라고 예상했다. 바둑이 인공지능에게 어려운 이유는 두 가지 특성 때문이다. 첫째, 바둑에서는 경우의 수가 너무 많다는 점이다. 한 게임에서 평균적으로 바둑판 위에 둘 수 있는 점은 250개이고, 게임이 평균 150수까지 진행된다고 할 때 총 경우의 수는 250150≒10360이 된다. 이 숫자는 우주 내에 존재하는 모든 원자의 개수(1080)보다 많고 체스(10123)와는 비교도 할 수 없을 정도로 엄청나게 복잡하다. 따라서 아무리 슈퍼컴퓨터를 수만 대 동원하더라도 모든 경우의 수를 따져서 승리를 보장하는 최적의 수를 찾는 것은 불가능하다. 둘째, 어떤 대국 상황에서 누가 이길 것인지를 예측하기가 매우 어렵다는 것이다. 체스나 장기의 경우에는 각각의 말들이 변하지 않는 내재적인 가치를 갖는다. 예를 들어 장기에서 차()가 갖는 가치는 시종일관 변하지 않는다. 따라서 어떤 상황에서 양 대국자가 갖고 있는 말들과 그 위치를 안다면 누가 이길 것인지를 예측할 수 있다. 하지만 바둑에서는 돌의 가치가 모두 동일할 뿐만 아니라 상황에 따라서 수시로 변한다.예를 들어 중요한요석1 사석2 작전’에 의해서 쓸모없는 말이 돼 버려지기도 하고 쓸모없는 말이 축머리3 가 돼 중요한 가치를 갖게 되기도 한다. 따라서 어떤 게임의 장면에서 누가 유리한지를 평가하는 것이 매우 어렵다.

 

컴퓨터가 활성화되기 시작한 1960년대 이후에 많은 연구자들이 컴퓨터 바둑 프로그램을 개발했지만 위에서 언급한 두 가지 이유 때문에 5급 정도의 낮은 아마추어 수준에 머물렀다. 그러다가 2008년경에 몬테카를로 트리탐색(Monte Carlo tree search)이라는 시뮬레이션 기법을 적용하면서 그 수준이 아마 5단까지 비약적으로 상승했다. 이 기법은 주어진 한 수를 평가하기 위해서 그로부터 비롯되는 모든 가능성을 탐색하는 것이 아니라 무작위로 선택한 샘플만을 검토하는데(rollout) 샘플 크기를 늘리고 시뮬레이션 횟수를 증가시키면 모든 가능성을 검토한 것과 같은 평가함수가 계산된다. 아마 5단 수준의 인공지능 바둑 프로그램은 한 착수당 200만 번의 시뮬레이션을 실행해 가장 승률이 높은 점을 선택해 착수한다. 이 기법은 빠르게 다음 착수 지점을 찾을 수는 있지만 그 정확성은 아직 프로 수준에 미치지 못하는 단점이 있다. 예를 들어 일본에서 개발된 인공지능 바둑 프로그램 젠(Zen) 2013년에 아마추어 9단에게 3점 접바둑으로 승리를 거뒀지만 프로 수준과는 상당한 격차가 있었다. 그렇다면 최초로 프로 바둑 선수인 판후이 2단을 제압한 알파고는 어떤 구조로 돼 있을까?

 

 

 

 

알파고의 구조

 

알파고가 프로 선수를 이길 수 있는 성능을 발휘하게 된 데는 딥러닝(심화학습)의 대표적인 기법인 심층 인공신경망(인간의 뇌의 복잡한 뉴런 연결망을 흉내내는 기법)을 이용했기 때문이다. 심층 인공신경망(Convolutional Neural Network)은 비교적 새로운 기계학습 이론이지만 각종 패턴인식 대회에서 탁월한 효과를 내고 있다. 사실 이 기법은 2012년 이후에 본격적으로 활용됐지만 전광석화처럼 빠르게 발전하며 성과를 내고 있다. 우선 알파고는 다음의 <그림 2><그림 3>과 같이 중요한 3개의 심층 인공신경망과 몬테카를로 시뮬레이션으로 이뤄져 있다.

 

가입하면 무료

인기기사

질문, 답변, 연관 아티클 확인까지 한번에! 경제〮경영 관련 질문은 AskBiz에게 물어보세요. 오늘은 무엇을 도와드릴까요?

Click!