July 21,2019

몬테카를로 방법과 인공지능

과학기술 넘나들기(116)

인쇄하기 과학기술 넘나들기 스크랩
FacebookTwitter

몬테카를로(Monte-Carlo)는 도시국가인 모나코 북부에 있는 지역으로서 카지노, 도박으로 유명한 곳이기도 하다. 수학에서 확률이론의 탄생이 원래 도박에서 비롯되었는데, 과거 도박 도시의 대명사였던 몬테카를로 역시 지금은 확률론과 밀접한 관계가 있는 과학적 방법론을 지칭하기도 한다.

즉 몬테카를로 방법(Monte-Carlo method)이란 무작위 추출된 난수(Random Number)를 이용하여 함수의 값을 계산하는 통계학적 방법으로서, 수치적분이나 최적화 등에 널리 쓰인다. 물리학이나 여러 공학 분야에서 제목에 몬테카를로 방법이라는 대목이 포함된 논문들을 많이 접할 수 있다.

몬테카를로방법에 의한 면적계산  ⓒ Creative Commons Attribution-Share Alike 2.5 Generic

몬테카를로방법에 의한 면적계산 ⓒ Creative Commons Attribution-Share Alike 2.5 Generic

몬테카를로 방법이 무엇인지 간단한 예로서, 원의 면적을 구하는 것을 들면 다음과 같다. 즉 x2+y2=1이라는 함수로 표현되는 원이 면적이 보다 큰, 예를 들어 면적이 4인 정사각형에 완전히 포함되는 경우를 가정하고, 이 공간 안에 무작위로 수많은 난수의 순서쌍(x, y)을 발생시킨다. 그 순서쌍(x, y) 중에는 x2+y2≤1의 관계를 만족하여 원 안에 포함되는 것들도 있을 것이고, 원 밖에 정사각형에 위치한 것들도 있을 것이다. 전체 난수 중에서 원 안에 위치한 순서쌍의 비율을 계산하면 곧 원의 면적을 구할 수 있게 되는 것이다.

물론 이 경우는 원의 면적을 정적분 또는 간단한 공식으로부터 쉽게 계산할 수 있으므로 굳이 몬테카를로 방법을 쓸 필요가 없지만, 해석학적으로 적분하기가 극히 어려운 복잡한 함수의 경우 등에는 이와 같은 확률적인 방법이 큰 힘을 발휘할 수 있다.

일반적으로 난수의 개수를 더욱 많이 발생시킬수록 보다 정확한 값을 얻을 수 있겠지만, 확률적인 방법론이기 때문에 어느 정도 오차가 발생할 수도 있다.

오늘날 다양한 과학기술 분야의 컴퓨터 시뮬레이션, 예측 등에 빈번히 쓰이는 몬테카를로 방법이 적용된 매우 유명한 역사적 사례로서, 미국의 원자폭탄 개발 계획인 맨해튼 프로젝트를 들 수 있다. 바로 몬테카를로 방법이라는 이름이 처음 쓰이게 된 계기이기도 하다.

몬테카롤로 방법을 처음 명명한 수학자 스태니슬로 울람 ⓒ 위키미디어

몬테카롤로 방법을 처음 명명한 수학자 스태니슬로 울람 ⓒ 위키미디어

즉 폴란드 출신의 수학자 스태니슬로 울람(Stanisław Marcin Ulam, 1909-1984)은 컴퓨터의 아버지로 잘 알려진 폰 노이만(Johann Ludwig von Neumann, 1903-1957) 등과 함께 맨해튼 프로젝트에 참여하였다.

예전부터 노이만의 동료였던 울람은 극비의 코드명에 적합하도록 새로운 수학적 방법론을 도박의 도시 이름을 따서 몬테카를로 방법이라 명명하였고, 이 방법은 중성자가 원자핵과 충돌하는 과정을 이해하고 묘사하는 데에 결정적 역할을 하였다.

즉 핵분열의 과정에서 우라늄 원자핵을 때린 중성자 하나가 다시 3개의 중성자를 방출하는데, 이러한 연쇄반응에서 중성자들은 마치 분기하는 나뭇가지들처럼 복잡한 경로를 보인다. 몬테카를로 방법을 적용한 확률적 시뮬레이션을 통하여 이 경로를 파악하고 결과를 추정할 수 있는 것이다.

오늘날 몬테카를로 방법은 인공지능 분야에서도 매우 중요하고 획기적인 계기를 마련해주었다. 특히 몇 년 전 알파고와 이세돌 9단과의 ‘세기의 바둑대결’을 통해서도 몬테카를로 방법의 막강한 위력과 가치가 입증된 바 있다.

IBM 슈퍼컴퓨터에서 작동하는 ‘딥 블루’가 체스 게임에서 인간 세계 챔피언을 꺾은 것은 1997년의 일이지만, 대다수 인공지능 전문가들은 바둑에서 컴퓨터가 인간을 능가하기는 대단히 어려울 것이라고 전망하였다.

체스와는 달리 ‘우주 전체의 원자 숫자보다 더 많은 조합과 배열이 가능하다’고 비유되는 바둑에서는, 제아무리 슈퍼컴퓨터라 한들 그 모든 경우를 계산하기는 불가능하기 때문이다. 따라서 컴퓨터와 인공지능이 인간의 ‘직관’을 따라잡으려면 적어도 100년은 더 걸리지 않겠느냐고 예측하기도 하였다.

그러나 이와 같은 예상을 뒤엎고 구글 딥마인드의 알파고는 이세돌 9단과의 바둑대결에서 4승 1패로 승리했다. 그 비결은 바로 컴퓨터가 스스로 학습하는 딥러닝(Deep Learning)과 함께, 몬테카를로 방법을 적용한 알고리듬이었다.

알파고는 ‘정책망’과 ‘가치망’이라 불리는 2개의 신경망으로 구성되었는데, 정책망이 다음 번 돌을 놓을 여러 경우의 수를 제시하면, 가치망은 그중 가장 적합한 한 가지 예측치를 제시하는 역할을 한다. 이 과정에서 모든 경우의 수를 다 계산하는 것은 불가능하므로, 표본을 추출하여 승률을 어림잡는 몬테카를로 방법을 적용하는 것이다.

물론 그렇다고 하여 알파고가 인간과 똑같은 ‘직관과 추론’을 하여 바둑 게임에서 이겼다고 말하기는 어려울 것이다. 그러나 딥 러닝과 몬테카를로 방법으로 인간의 직관과 추론을 흉내 내었고, 그 성능이 바둑에서 인간을 능가하였다는 점에서 기존 인공지능의 한계를 돌파한 획기적인 사건으로 볼 수 있었다.

알파고 이후에도 인공지능은 여러 분야에서 눈부신 발전을 거듭하고 있는데, 몬테카를로 방법은 앞으로 갖가지 인공지능 알고리듬에서도 더욱 강력한 방법론을 제공해줄 수 있을 것이다.

의견달기(0)