2016-03-10 오후 12:58:55 입력 / 2016-03-11 오전 9:27:30 수정
컴퓨터 과학의 아버지로 불리는 앨런 튜링은 1950년에 발표한 논문 "COMPUTING MACHINERY AND INTELLIGENCE"에서 "‘기계는 생각할 수 있는가' 라는 문제를 논의하려고 한다"며 첫 문장을 시작한다.
'인공지능'에 대한 연구는 오래 전부터 끊임없이 지속됐고, 특히 기계와 사람과의 보드게임 대결을 통해 발전해왔다.
엘런 튜링은 체스를 굉장히 좋아했으며 친구와 함께 '튜로챔프(Turochamp)' 라는 체스 프로그램을 개발하기도 했다. 이처럼 서구 과학자들은 자신들에게 친숙한 체스를 통해 인공지능 연구를 해왔고, 1960년대에는 바둑을 연구하는 과학자들도 등장했다.
● 초기 인공지능 바둑, 패턴인식 방식으로 제작
1969년 미국의 과학자 알버트 린지(Albert L. Zobrist) 박사는 "A model of visual organization for the game of GO" 라는 논문을 통해 세계 최초로 컴퓨터 바둑 프로그램을 발표했다. 이 프로그램은 아직 기력이라고 불릴 수준은 아니었지만, 바둑을 배우지 않은 사람과의 대결에서 2승2패를 기록했다.
이후 컴퓨터바둑에 대한 연구는 주로 서구의 학자들에 의해 주도 되었고 학술 포럼 등에서 컴퓨터바둑간의 시합이 벌어졌다.
▲ 알버트 린지 논문 "A model of visual organization for the game of GO" (알버트 린지 제공)
1985년 대만 기업가 잉창치(應昌期)씨는 이색적인 제안을 한다. 컴퓨터바둑 대회를 개최하고 우승하는 프로그램에게 프로기사와 대국할 기회를 주는 것이다. 사람과의 대국에서 이기면 150만 달러의 상금도 준다고 했다. 단 150만 달러의 상금은 2000년 이전까지만 유효하다는 단서가 붙어 있었다. 이를 계기로 많은 개발자들이 컴퓨터바둑에 뛰어들었다.
2000년대 이전의 인공지능바둑은 초, 중, 후반의 정석에 대한 데이터베이스(DB)를 축적한 후 그 DB를 기반으로 다음 착수점을 찾는 방식이다. 네덜란드의 '골리앗(Goliath)', 미국의 '매니 페이스 오브 지오(Many face of Go)', 중국의 '핸드 토크(Hand Talk)'가 이 시기 가장 강한 프로그램이라는 평가를 받았다.
1995년 잉창치배를 우승한 핸드 토크는 아마추어 5단 수준의 초등학생들과 대국에서 12~15점 접바둑으로 2승 1패를 기록했다. 핸드 토크 후속판인 '고메리트'는 2001년 한국의 프로기사인 서봉수 9단과 9점 접바둑을 두어 9~10급의 기력으로 평가 받았다.
이 시기의 프로그램들은 DB에 없는 모양이 나올 경우에 대한 대응이 너무 미숙해 사람과의 경쟁을 논할 수준은 아니였다. 실제로 서봉수 9단은 고메리트와의 대국에서 첫수와 3번째 수를 '2.二'에 착점해 프로그램의 혼란을 유도하기도 하였다.
▲ 서봉수 9단과 '고메리트'와의 기보, 9단은 첫수와 3번째 수를 2,二에 뒀다.(최창현 제공)
● 인공지능 바둑, 핵폭탄 만들던 '몬테카를로 방식' 도입 후 '껑충'
아마추어의 수준도 만족시키지 못했던 컴퓨터바둑은 2006년 프랑스의 에콜 폴리테크닉(Ecole Polytechnique) 재학 중인 실반 젤리(Sylvain Gelly), 아자왕(Yizao Wang) 등의 'TAO프로젝트 (Theme Apprentissage et Optimisation)'에 의해 비약적 발전을 한다.
이들은 이 프로젝트를 통해 최초로 몬테카를로 방식(Monte Carlo method)을 사용한 'MOGO' 라는 프로그램을 개발해 2008년 U.S 바둑 콩그레스에서 한국의 김명완 9단과 9점 접바둑에서 승리했다. 컴퓨터바둑이 프로기사에게 거둔 최초의 승리였다.
▲ 몬테카를로 방식을 도입한 컴퓨터바둑에 대한 논문.(최창현 제공)
한편, Tao프로젝트에 기여한 뒤 '크레이지 스톤(Crazy Stone)'이라는 프로그램을 개발했던 프랑스 개발자 레미 클롱은 2007, 2008년 UEC대회를 우승하며 'MOGO'와 경쟁했으나 프로기사를 이겼다는 'MOGO'에 관심이 집중되자 개발을 포기했다. 이후 2년간 컴퓨터바둑 분야에서 멀어졌던 레미 클롱은 일본의 게임회사인 언발라스의 후원으로 다시 개발에 착수, 크레이지 스톤으로 2012년부터 2015년까지 UEC대회를 우승하는 등 최근까지 가장 강력한 컴퓨터바둑으로 자리잡았다. 현재 'Crazy Stone'의 판권은 일본 언발란스가 가지고 있다.
'MOGO'는 이전부터 존재하던 프로그램은 물론 이 후에 개발되는 모든 인공지능바둑 프로그램을 몬테카를로 방식으로 전환하는 선구적 역할을 했다
몬테카를로 방식이란 미국의 수학자인 스타니스와프 마르친 울람(Stanisław Marcin Ulam)에 의해 고안된 것으로 수 많은 모의실험을 통해 최선의 길을 찾아가는 방식의 알고리즘을 뜻한다. 핵폭탄을 개발하였던 맨하탄 프로젝트에서 사용된 것으로 알려진 이 알고리즘은 모나코의 카지노 이름에서 유래 되었다.
무작위 시뮬레이션이라는 방식은 우주에 존재하는 원자의 수보다 더 방대한 바둑의 수를 탐색하기엔 적합하지 않아 보였으나 탐색할 가지 수를 압축하는 여러 가지 알고리즘과 결합하면서 바둑게임에서 폭발적인 위력을 보이게 된다.
주어진 상황에 맞는 수를 DB검색을 통해 찾는 것이 아니라 1초에 4만번에 달하는 시뮬레이션을 통해 최선의 수를 계산하는 방식으로 프로기사와의 기력을 4점 차이까지 줄이게 된 것이다. 프로기사와 4점 칫수라면 통상 아마5단 정도의 기력을 인정 받는다.
바둑을 모르는 분들을 위해 사람과 비교를 해보자면, 이전의 프로그램들이 바둑인구 중 하위 10% 정도의 실력 이였다면 몬테카를로 방식을 채택하여 강해진 크레이지 스톤이나 '돌바람' 등은 상위 5% 안에 들 정도의 실력으로 향상 된 것이다.
▲ 알파고의 착점을 대신하고 있는 구글 딥마인드 리서치 사이언티스트 아자황.
● 인공지능 알파고, 인간을 뛰어 넘으려면?
컴퓨터바둑이 인간을 뛰어 넘기 위한 조건은 무엇일까? 많은 개발자들이 두 가지 조건 중 하나를 충족해야 가능할 것이라고 보았다. 하나는 1950년에 앨런 튜링이 던졌던 그 화두, 컴퓨터가 생각할 수 있어야 한다는 것이고, 그것이 안 된다면 모든 경우의 수를 계산 할 수 있어야 한다는 것이다.
체스는 컴퓨터가 생각을 하진 못했으나 모든 경우의 수를 계산하여 인간을 이길 수 있었다. 바둑은 어떨까?
지난해 10월 프로기사 판후이를 이기고 3월 9일 이세돌과의 대결을 앞두고 있는 알파고는 그 조건을 충족 시켰을까? 아직은 아니라고 판단된다. (물론 이 판단은 작년 10월에 두어진 알파고의 기보등을 통한 판단이고, 그 이후 비약적인 발전을 했을 가능성도 있다.)
알파고는 기존의 몬테카를로 방식에 딥러닝을 결합하여 기존의 프로그램보다 실력이 향상 된 것은 사실이지만 생각하지 못하고, 모든 경우의 수를 계산 하지도 못한다. 하지만, 이번에 실패하더라도 인간을 이기려는 시도는 계속 될 것이고 언젠가는 그렇게 될 것이다.
정복이니 자존심이니 하는 흥미 차원의 이야기 뿐 아니라, 생각하는 기계, 인간의 능력을 뛰어 넘는 인공지능이 가져올 사회적 영향과 어떻게 부작용을 최소화 시키고, 문명의 진보로 이어지게 할 수 있을 것인가 하는 사고와 논의가 필요한 이유다.
윗글은 동아사이언스 3월9일자에 실린 인공지능바둑 돌바람의 개발사 (주)누리그림 사업팀 최창현 팀장이 쓴 국산바둑SW '돌바람' 개발자가 본 인공지능 바둑의 역사 이세돌과 대국하는 '알파고', 출생의 비밀을 그대로 옮겼습니다.