비전공자도 이해할 수 있는 AI지식7 -바둑에 도전한 인공지능-

1. 인공지능, 바둑을 넘보다

 

바둑도 체스처럼 정석이 어느정도 있을테니, 적절히 활용하여 계산해야하는 경우의 수를 줄여나가면 어떨까?

 

바둑은 그렇게 한다해도 체스처럼 계산을 해낼 수 없습니다. 

 

계산해야하는 게임 트리가 지나치게 크기 때문이다. 체스의 게임 트리 크기만해도 우주의 원자 수보다 많은데, 바둑은 이보다도 훨씬 크다.

 

딥 블루가 승리한 직후 1997년 천체물리학자이자 바둑 애호가인 피에트 헛은 "바둑에서 컴퓨터가 사람을 이기려면 100년은 걸릴 것이다. 어쩌면 더 걸릴 수도 있다"라고 언급했다.

 

가로세로 19줄, 총 361개의 점으로 이루어진 바둑판에서 가능한 수를 계산해보는 건 얼핏 상상만 해도 불가능해 보인다.

 

고등학생 때 배운 순열을 이용해 단순하게 계산해볼까?

 

361개의 점에 순서대로 무작위로 바둑을 둔다고 가정하면 그 수는 361!이다. 

 

361!은 근사적으로 $10^{768}$과 같다. 체스가 $10^{120}$이라고 했으니, 상상할 수 없을 정도로 차이가 난다..

 

하지만 실제로는 이렇게까지 큰 수가 나오지는 않는다.

 

왜냐하면 바둑에서는 사방을 막으면 돌을 먹고 더 이상 둘 수 없는 자리도 생기기 때문이다.

 

실제로 유효한 값만 정교하게 계산하면 바둑의 게임 트리는 $10^{360}$이라고 한다.

 

360이 120의 3배이긴 하지만, $10^{360}$은 $10^{120}$에 1조를 20번은 더 곱해야 나오는 어마어마하게 큰 차이를 보이는 수이다.

 

지금의 컴퓨터로는 평생을 탐색해도 불가능하고 적어도 수십년 내로는 절대로 완전 탐색은 불가능할 것이라고 장담할 수도 있다.

 

항목 크기
우주의 원자 수 $10^{80}$
체스의 게임 트리 $10^{120}$
바둑의 게임 트리 $10^{360}$

 

체스보다 경우의 수가 훨씬 더 많은 바둑에서는 도대체 어떤 방식으로 수를 계산할까?

 

잠깐 이세돌 선수에 대해 알아보자. 이세돌 선수는 이창호에 이어 세계 바둑 최강의 계보를 이어온 선수로서 과감하고 창의적인 묘수를 발휘하는 것으로 유명했다.

 

그를 가르친 권갑용 사범은 "100년에 한번 나올까 말까 한 천재"라고 평했다.

 

체스 게임에서도 1956년 보비 피셔는 당시 미국 최고의 체스 마스터 도널드 번과의 경기에서 비숍을 활용하기 위해 퀸을 버린 수를 내던진 엄청난 선수가 있었다.

 

체스에서 퀸은 "퀸을 맞교환하거나 상대의 킹을 외통수로 몰아넣는 게 아니라면 절대로 퀸을 버리지말라"라는 격언이 있을 정도로 퀸을 내던지는 모험을 감행했다.

 

당시 관람객 누구도 이해할 수 없는 수였지만 몇 수 뒤에는 결국 승리를 결정짓는 최고의 묘수였다.

 

누구도 감히 시도할 수 없었던, 오랜 체스 격언을 깨고 퀸을 희생하는 과감한 수를 던질 수 있었던 것은 당시 체스 신동이던 피셔가 고작 열세살이기 때문이었을 거다. 

 

고정관념에 얽매이지 않고 상상력을 발휘할 수 있었기 때문에 그런 놀라운 수를 둘 수 있었다.

 

이처럼 우리 머릿속에 자리 잡은 한계는 대개 우리가 스스로 만들어낸 것이 많다.

 

이런 한계는 나이를 먹으면서 점점 더 많아지게 되는데, 어린 피셔에게는 거리낄 것이 없었다. 

 

이세돌 또한 열일곱살의 어린 나이에 창의적인 묘수로 바둑의 고정관념을 깨뜨려갔다. 32연승이라는 대기록을 세우며 불패소년이라는 명성까지 얻었다.

 

하지만 20년쯤 뒤에 인간도 아닌 알파고라는 기계에게 패배하게 되리라고는 상상도 못했을 것이다.

 

2016년 3월 8일 알파고와의 대국에 앞서 "역시 아직은 인간의 직관력이나 이런 감각들을 컴퓨터인 인공지능이 따라오기는 약간 무리가 있지 않나 생각해서 자신감이 있다."라고 말했다.

 

하지만 바둑은 컴퓨터가 절대로 계산해낼 수 없으며 인간을 이길 수 없다라는 고정관념은 이내 깨지고 말았다.

 

 

2. 몬테카를로 방법, 인공지능의 바둑 실력을 확 바꿔놓다.

 

인공지능으로 두는 바둑은 1960년대부터 꾸준히 시도되어왔지만, 몬테카를로 방법을 도입하면서 비로소 본격적으로 가능성이 보이기 시작했다.

 

몬테카를로는 모나코 동북부에 있는 휴양도시로, 지중해 연안에 위치하여 해변이 아름답기로 유명했다.

 

몬테카를로는 관광도시로 인구 3000명에 불과하나 카지노와 도박으로 유명하다. 이 도시의 이름을 빗댄 몬테카를로 방법은 도박처럼 확률적인 방법으로 결과를 유추해내는 방식이다.

 

만약 잭팟이 터질 확률이 0.03%인 슬롯머신이 있다면 1만 번 정도 도전하면 3번은 잭팟이 터질 것이고, 10만번 도전하면 30번쯤은 잭팟이 터질 것이다.

 

이처럼 계속 도전하면 결국은 원래 확률만큼의 결과를 얻을 수 있는데, 이런 식으로 값을 계산하는 알고리즘을 몬테카를로 방법(Monte Carlo Metho)이라고 부른다.

 

 

이러한 이름이 부여된 이유를 따라가면 핵무기 개발 현장으로 들어간다.

 

1940년대 말, 핵무기 개발 프로젝트를 수행 중이던 스타니스와프 울람 박사가 '중성자 확산 같은 복잡한 계산 문제는 차라리 여러 번의 무작위 컴퓨터 실험으로 결과를 관찰하는 편이 훨씬 더 실용적이지 않을까?'

 

라는 생각을 하였고, 비밀을 유지해야 하는 핵무기 개발 프로젝트의 특성상 적절한 암호명이 필요했는데 

 

마침 울람박사는 도박을 좋아하는 자신의 삼촌이 몬테카를로에서 도박을 하기 위해 친척들의 돈을 빌려갔다는 사실을 떠올리고 '몬테카를로'라는 암호명을 붙였다고 한다.

 

------------------------------------------------

 

바둑 인공지능이 가장 풀기 어려운 문제중 하나는 현재 국면이 어떤 상태인지 한눈에 알아내기가 어렵다는 점이다.

 

바둑들의 상태만 보고 누구의 우승으로 끝나게 될지 예측하기란 사람도 힘들정도로 여간 어려운 일이 아니다.

 

체스의 경우, 남아 있는 기물의 점수를 합산하여 누가 우세한지를 판단하곤 하였다.

 

예를 들어 폰은 1점, 비숍은 3점, 퀸은 9점, 이런 식으로 남은 말의 점수를 합산해 예측했는데, 바둑은 이마저도 어렵다

 

왜냐하면 모든 바둑돌이 똑같은 바둑돌이니까..

 

몬테카를로 방법은 이러한 문제를 확률적인 방법으로 해결하고자 한다. 

 

"어차피 어느 한쪽이 유리한 입장에 선다면, 그 다음부터는 무작위로 바둑을 둔다고 하여도 유리한 쪽이 결국 이길 가능성이 높다는 것이다"

 

마치 선거 결과를 예측하기 위해 5000만명 국민의 의사를 모두 묻는 대신에 5만명을 무작위로 임의 추출하여 조사해도 비슷한 결과를 낼 수 있던 것과 마찬가지다.

 

대수의 법칙인가>>??

 

"모든 경우를 조사하지 않더라도 일부만 무작위로 조사해보면 원래의 확률과 비슷한 결과를 얻을 수 있다는 이야기이다."

 

2006년부터 게임 트리 탐색에 몬테카를로 방법을 접목한 몬테카를로 트리 알고리즘이 바둑 게임트리를 탐색하는데 쓰이며 많은 본격적으로 인공지능의 바둑 실력이 급상승해 6단의 수준까지 도달했다고 한다.

 

하지만 여전히 프로기사에게는 4단 이상 접히는 기력에 불과했다.

 

하지만 알파고는 여기에 딥러닝을 적용하면서 실력을 획기적으로 향상시켰다. 

 

두 종류의 인공신경망으로 정책망(policy network)과 가치망(value network)이 있다.

 

알파고에는 정책망을 3가지로 분류하여 정책망 3가지 + 가치망 4가지의 신경망을 사용했다고 알려져있다.

 

 

 

TAGS.

Comments