컨텐츠 연구소/IT 서비스와 어플리케이션

딥마인드 개발팀의 발자취, 알파고와 딥마인드, 하사비스 대표(1)

스타(star) 2016. 3. 11. 17:13

"이세돌이 선택되었다"

몇 일전 뉴스를 도배하다 시피 한 알파고와 이세돌의 대결은 아마 훗날에도 두고두고 회자될 것이다. 우려 했던 결과가 이제는 현실이 되었다. 이세돌이 2연패를 하면서 어두워졌다. 심지어 남은 경기에 대한 전망도 부정적인 여론이 지배적이다. 3경기를 남겨둔 지금 시점에서 오히려 알파고의 헛점이 과연 있을까 싶을 정도로 완벽한 바둑을 한다. 이제는 오히려 인간이 알파고를 이길 수 있을까로 질문이 바뀐 상태이다. 나는 이세돌은 첫경기 이후 말한 인터뷰의 내용이 기억에 남았다. "개발자 분들은 저를 존경한다고 했는데, 저는 오히려 알파고를 만든 프로그래머들에게 깊은 존경을 표한다"라고 했다. 


곰곰히 생각을 해보자. 아래 딥마인드의 대표 하사비스, 천재바둑기사 이세돌, 구글의 모회사인 알파벳의 에릭 슈밋 회장이 함께하고 있는 사진은 스쳐지나가기 좋은 한장이지만 언뜻 생각해보면 묘하다. 영국의 천재 개발자 출신 CEO와 초 강대국 미국의 산업을 이끌고 있는 기업인이 손을 잡는다. 어떤면에서 이들은 모두 같은 천재들이다. 부러웠다. 그만한 도전을 할 수 있는 회사를 경영하는 것도 부러웠고, 언제 상용화 될지도 모르는 프로젝트를 프로젝트를 진행하더라도 큰 지원을 해줄 수 있는 모습도 부러웠다. 여기까지만 해도 먼 나라에서 일어나는 해외 토픽 정도의 느낌일 것이다. 하지만 그들의 대결하고 싶어하는 사람을 이세돌로 선택하면서 갑자기 우리 주변의 흥미로운 이야기로 한층 더 업그레이드 되었다.




"딥마인드 개발팀의 발자취"

딥마인드는 영국의 개발사이다.  데미스 허사비스 (Demis Hassabis), 셰인 레그(Shane Legg), 무스타파 술레이만(Mustafa Suleyman)의 의해 창립되었다. 구글이 2014년에 인수한 뒤로는 구글 딥마인드라고 불리우고 있다. 



딥마인드는 여러 프로젝트를 하고 있는데, 주로 원시 경험이나 데이터를 통해  컴퓨터가 직접 스스로 학습 할 수 있는 알고리즘을 만들고 있다. 기계학습과 신경과학을 베이스로 연구하는데 그것 뿐만이 아닌 일반적인 인간의 지능을 연구하고 분석하는 회사. 인공지능 학계에서 뿐만이 아니라 이미 생활 깊숙한 곳에서 회자가 될만큼의 놀라운 성과들을 발표하고 있다. 이들의 성과들은 대부분 논문 등의 형태로 찾아볼 수가 있다. 아래 인터뷰는 사무실의 분위기를 볼 수 있는데 꽤 자유분방한 분위기가 마치 게임회사 같은 분위기이다.




구글 딥마인드에서는 다양한 프로젝트를 진행하고 있는데 알파고는 그 중에 하나였다. 알파고 개발팀이 항상 하는 이야기가 "우리도 알파고의 능력이 어디까지인지 모르겠다. 이번 대결을 통해 알파고의 장단점을 파악하기 위한 것이다" 이야기를 하는 것을 봤을 때, 그들은 그들이 만큼 프로그램의 성능의 한계가 무엇인지 모른다. 아니, 이제 바둑에서 만큼은 알파고가 얼마나 바둑을 잘 두는지 어떤 바둑을 두는지 전 세계 인류를 통틀어 누구도 모르는 영역이 되어버렸다. 

개발자들이 자신들이 만드는 프로그램의 성능을 모를수가 있나? 라고 생각하기 쉬운데 의외로 그렇다. 대부분의 기술중에는 우리가 예측하지 못하는 기술들이 존재한다. 게다가 개발팀은 그들이 만든 기술이 앞으로 어떻게 응용될 것인지 까지도 추측해내기 쉽지 않다. 우리는 이미 UCC나 MOD와 같이 특정 도구를 건네 주었을 때 그 기술이 어떤 가능성을 가지게 되는지 알고 있지 않나.


"그들이 만든 프로그램의 진정한 목적은 바둑이 아니다"

그들의 만든 프로그램의 목적은 다름 아닌 인간이 말하는 직관, 창조의 영역을 흉내내는 것들이었는데, 대표적으로는 바둑에서처럼 무수히 많은 경우의수를 가지는 것이나, 옷감의 모호한 빛깔과 색깔을 구분해 내는 색감을 구분해내는 것과 같은 것들이다. 이러한 능력을 인간들이 흔히들 '직관의 영역이다.' 또는 '인간만이 할 수 있는 영역이다.' 라고 말하곤 했다. 직관이라고 불리우는 것들이 인간의 기준으로는 어려울지 몰라도, 사실은 더 자세하게 구분해 낼 수 있고, 계산해 낼 수 있는 것들 이었을지도 모른다. 다만 인간의 한계가 따라갈 수 없었을 뿐. 더 깊은 생각과 데이터가 실제로 존재할수 있다. 그 과정과 미묘한 변화를 모두 데이타로 여기고, 그걸 컴퓨터에게 머신 런닝이라는 방식으로 학습 시킨 것이다. 이세돌 1명과 1200개의 CPU가 싸우는 것이 문제라는 지적이 있는데, 사실 알파고의 무서움은 엄청난 계산량이 아니다. 사실 이 데이터를 학습시키는 머신 러닝이 시간이 오래걸리고 데이터를 축적하는게 어려운 과정이었을 뿐이다. 

학습 시키는 것까지는 그렇다고 치자. 기존의 학습 시킨 엄청난 데이터들 속에서 당장 필요한 최적의 수를 찾아내는 것은 이제 계산의 영역이다. 알파고는 마치 슈퍼 컴퓨터에서만 돌아가는 것 처럼 알고 있는데 사실은 컴퓨터 1대로도 돌릴 수 있다. 다만, 1000대 넘는 CPU보다 계산 능력이 떨어질 뿐이다. 논문에 의하면 CPU 1대로 계산하는 알파고와 CPU 1000대가 계산하는 알파고가 대결 했을 때 CPU 1대가 CPU 1000대를 이길 확률이 77% 정도였다고 한다. 구글의 클라우딩 컴퓨팅을 이용할 수 있게 된 부분은 엄청난 시너지임에 분명하다. 판후이 2단을 상대 할 때는 1202개의 CPU를 돌려보았고, 그 후 이세돌 9단을 상대하기 위해 1920개까지 CPU를 늘려서 상대한다고 하니 마지막 실패의 여지 조차도 보완해 버린 형국이다. 현재 세계 최첨단의 모든 기술이 바둑을 목표로 하면 어떻게 되는지를 보여주는 집약체가 바로 알파고 프로그램인 것이다. 



"Deep Q Network으로부터 시작된 가능성 탐색"

알파고 프로젝트는 거의 반비공개적인 프로젝트였기 때문에 개발에 대한 제한된 정보는 부족했지만, 남겨져있는 논문이라든지 기사와 자료를 수집해 볼 수는 있었다. 그들이 논문중에 내 눈길을 끌었던 것은 다음 자료였다. 강화학습을 하는 프로그램인데 이미 이전에 Deep Q Network 라고 불리우는 프로그램을 개발해서 아타리의 고전 게임들을 플레이 하였다.


Human-level control through deep reinforcement learning 

http://www.davidqiu.com:8888/research/nature14236.pdf


해당 논문에 실린 플레이 영상을 찾아보니 충격적이라고 할 수 있었다. 대부분 아주 오래된 아타리 사의 비디오 게임을 가지고 테스트 하였다. 프로그램에게 게임의 플레어 방법을 학습 시킨다. 이세돌과 알파고의 대국 해설을 보다보면 가끔씩 해설자들이 말문이 막히는 수가 나오곤 하는데, 나는 사실 바둑을 잘 모르므로 그것이 어떤 의미인지 잘 알지 못하였다. 하지만 아래의 DQN으로 런닝을 한 컴퓨터들이 어떻게 변화하는지 보고 나서야 비로소 이해가 될 것 같다. 이상한 방법을 이용해서 스테이지를 클리어를 해 나간다. 그 방법은 자연스럽지는 않지만 소름끼치게 효율적인 방법이다. 



혹시라도 위의 Galaxian게임은 x 좌표 상에서만 움직이기 때문에 단순하기 때문에 되는 것은 아닐까 해서 다른 게임도 살펴 봤다. Seaquest라는 게임 역시 흥미롭다. 처음에는 아무것도 못하는 잠수함이 몇 시간의 학습을 마친 이후로 x와 y좌표를 종횡무진 움직이며 엄청난 스코어를 자랑할 수 있게 된다.



BreakOut이라는 벽돌깨기는 더 흥미롭다. 사이드의 작은 구멍을 통해 공을 위쪽으로 보내면 위쪽 벽과 벽돌이 부딪히면서 굉장히 많은 벽돌을 파괴할 수 있다. 이 방법을 습득한 뒤로 컴퓨터는 계속해서 모서리쪽을 공략을 시도하는 것을 볼 수 있다.




"알파고는 아직도 베타버전이다"

모든 프로그램들은 테스트를 거친다. 알파고도 이미 많은 테스트를 거쳐서 점점 더 완성되어 갔다. 그 것이 초반에는 어떤 테스트를 거쳐서 수정되어 갔는지 알 수가 없다. 하지만, 작년의 유럽 챔피언 판 후이를 꺽을 정도의 실력을 갖추고 나서 프로그램의 속도가 붙은 것 같다. 아마 제일 어려운 부분은 알고리즘을 만드는 부분이었을 테고, 두 번째는 그것을 연산할 컴퓨팅 파워를 구하는 일이었을 것이다. 그 외에 수 천만개의 기보 데이터들은 이미 쉽게 확보 할 수 있었을테니 남은건 정말로 그 기보 데이터들을 입력할 시간만 필요했을 것이다.

이들이 만든 바둑 프로그램을 가지고 과연 그것이 어느 정도의 능력을 가지고 있는지 알수가 없었다. 최근 딥러닝 분야는 정말 그 끝을 알 수 없을 정도이다. 어떤 패턴이나 어떤 데이터든 그냥 무식하게 하드웨어가 뒷받침 되는 대로 계속 쌓아갈 수 있다. 이미 3000년간 나왔을 법한 수십 만개의 바둑 기보를 입력해 넣었으니 그것이 과연 얼마나 효과적일지 궁금한 노릇이다. 이들이 가진 데이터를 정말로 뛰어넘을수 있는 인간이 있는지에 대해 테스트할 파트너가 필요했고, 가장 창조적인 바둑을 두는 사람이 필요했다. 그들이 고른 천재는 바로 이세돌인 것이다. 

물론, 다른 중국기사나 일본기사들을 선택할 수도 있었다. 하지만, 지난 10년간 꾸준한 실력을 창조적인 승부의 모습을 보여주고 바둑계를 대표할만한 역량을 가진 파트너는 이세돌이었다. 


"머신러닝의 가능성은 무궁무진하다"

머신러닝이라고 불리우는 기계학습은 이미 엄청난 가능성을 보여주었다. CNN(Convolutional Neural Network)이라는 기술로 이미 사진속의 사물의 그림을 파악할 수 있는 정도가 되었다. 



그 기술을 이용해 만들어낸 컴퓨터 바둑기사가 바로 알파고 인 것이다. 머신러닝과 딥러닝 등의 최신 기술들을 이끌어 가고 도전하는 기업들은 많다. 게다가 그들이 발견해낸 것들이 수십조원에 달하는 시장이기 때문에 시장에서 빠르게 선도하고 싶어하고 그들이 최고의 기술력을 가졌다는 것을 홍보하고 싶었을 것이다. 이런 기술의 변화와 흐름을 알았더라면 이세돌과 한국기원은 적어도 100억 이상의 대전료를 요구 했어도 흔쾌히 구글이 사인 했을 것이란 생각이 든다. 자료들을 연구하고 조사하다 보니 어느 교수가 기계가 5전 전승을 할것이란 전망을 내 놓았는데, 정말 그런 판단을 해도 크게 무리는 아니라는 생각이 들 정도로 머신러닝의 가능성은 인간을 놀랍게 할 수준 까지 왔다.