알파고 Zero a.k.a 바둑의 신

-최근 본 뉴스 중 관심 있는 뉴스를 전합니다-


알파고, 바둑의 신이 되다.

바둑의 도 홀로 깨달은 ‘알파고 제로’ 인간한계 넘다

다들 작년에 펼쳐졌던 ‘이세돌 VS 알파고’라는 세기의 대결을 기억하는가?

알파고와의 대국은 ‘인공지능의 출현’이라는 화두를 전세계적으로 낳았다. 나도 그 당시에 대국을 라이브로 봤었는데 바둑의 룰은 하나도 모르지만 너무나 흥미진진하게 봤던 기억이 난다.

그리고 약 1년이 지난 2017년 10월 19일, 알파고를 만든 딥마인드가 네이처에 논문 한 개를 내놓았다.

논문의 제목은 ‘인간 지식 없이 바둑을 마스터하기’(Mastering the game of Go without human knowledge)로 알파고와 관련된 논문이었다.

바로 새로운 버전의 알파고가 공개된 것이다. 이름은 ‘알파고 제로(Zero)’.

논문의 제목을 보면 짐작하시겠지만 알파고 제로는 순수한 독학으로 바둑을 익힌다. 교과서나 기보 등 인간의 지식에 전혀 도움을 받지도 않고 인간이 개입하지도 않는다.

어떻게 가능하냐고? 학습방법에 대해 조금 더 자세히 살펴보자.

알파고 제로는 바둑 규칙 외에는 아무런 사전 지식이 없는 상태의 신경망에서 출발한다.(여기서 신경망은 인간 뇌의 신경망과 유사하다고 보면 된다. 인간도 학습할 때 신경망을 이용한다.)

자신의 바둑판만 놓고(아마 여기서 아무것도 없는 zero의 어원이 나온 듯 싶다.) ‘셀프 대국’을 두면서 스스로 승률을 높이는 좋은 수가 어떤 것인지 데이터를 스스로 쌓는 것이다.

이렇게만 얘기하면 감이 안 잡힐 수 있다. 조금 더 자세히 얘기해보자.


알파고의 학습방법

알파고 제로의 학습방법을 제대로 이해하려면 기존의 알파고의 학습방법을 먼저 이해해야 한다.

그림 하나를 먼저 살펴보자.


기존의 알파고와 알파고 제로의 시스템


위 그림은 기존의 알파고와 알파고 제로의 학습방법을 비교한 그림이다.기존의 알파고는 크게 ‘정책망’과 ‘가치망’이라는 학습 신경망을 가지고 있다.

이 ‘정책망’은 또 세가지 정책망으로 나뉘어진다.


1.롤아웃 정책망

2.지도학습 정책망

3.강화학습 정책망


롤 아웃 정책망은 바둑의 기본이다. ‘붙이면 젖혀라’, ‘젖히면 뻗어라’, ‘모자는 날일자로 벗어라’ 등 바둑을 기본적으로 배운 사람들이면 익히는 가이드라인 같은 것이다.

지도학습 정책망은 지도학습을 통해 학습하는 방법인데 지도학습이란 특정한 상황을 보여주고 인간이라면 어떻게 결정을 내렸을지 맞추는 학습방법이다.(정해진 답을 맞춰보는 학습 방법이라고 생각하면 된다.)

마지막으로 강화학습 정책망이란 강화학습을 통해 학습하는 방법이다. 강화학습은 어떤 행동을 하면 그것에 대한 보상을 받는 과정을 통해 의사결정을 학습하는 방법이다. 개를 훈련 시키는 모습을 생각해보면 이해가 쉬울 것이다. 개에게 먹이를 주면서 ‘앉아’ 등의 행동을 훈련시킬 때 개는 특정한 ‘앉아’라는 행동을 해야 먹이를 얻는다는 것을 알게된다. 그 이후 개는 ‘앉아’라는 행동을 학습하게 된다.

이처럼 강화학습은 인공지능이 스스로 수많은 시행착오를 통해 학습을 하는 방법을 일컫는다.

이렇게 알파고는 3가지 정책망을 통해 현재 상황에서 다음 수를 어디에 둬야 좋을지 학습한다. 마치 프로 기사들이 다음에 둘 수를 추리는 것과 비슷한 방법이다.


이렇게 정책망을 통해 수를 추려내면 가치망이라는 또 다른 신경망을 이용해 추려낸 후보들의 승률을 추정한다.

이 가치망에는 ‘몬테카를로 트리 서치(MCTS)’라는 방식이 사용된다. 우선 이 MCTS부터 이해하고 넘어가자.

바둑판에서는 한 점에 돌을 놓으면 그 다음에 돌을 놓을 수 있는 다양한 경우의 수가 나온다. 또한 각각의 예비 점들도 그 다음에 가능한 여러 점들을 나열할 수가 있다.

이렇게 나온 선택지 중에서 일부를 선택하는 것이 ‘몬테카를로 트리 서치’라는 방법이다. 이 방법은 많은 선택지를 조사할 수록 결과가 정확해진다. 예를 들어 방송국에서 TV 프로그램 시청률을 집계하기 위해 일부 가구만 표본 조사하는 것을 떠올리면 쉽다. 시청률 조사는 많은 가구를 조사할 수록 정확해진다.


몬테카를로 트리서치 파악도.


알파고는 이 MCTS를 이용해 후보 수마다 약 10만번에 이르는 시뮬레이션 결과를 얻어낸다. 그렇게 얻어낸 결과로 자신의 유불리를 파악하고 상대방의 수에 대응하여 승률이 높은 수를 판단하여 착수하게 되는 것이다.


알파고 제로의 학습방법

자 이제까지 기존의 알파고가 학습하는 방법을 살펴보았다. 이제 그럼 알파고 제로의 학습방법을 알아보자. 알파고 제로의 학습방법은 단순하다. 우선 기존의 인간이 만들어 놓은 바둑 이론(롤아웃 정책망)과 기보 데이터(지도학습 정책망)는 쓰지 않는다.

오로지 셀프 대국이라는 강화학습을 통해서만 학습한다. 또한 정책망과 가치망을 통합했다. 즉 알파고 제로는 자신만의 바둑이론을 학습하고 학습한 수 중 계산을 통해 가장 승률이 높은 수를 착수하는 것이다.


알파고 제로의 셀프 대국 강화학습에 대한 그림이다. 어렵다..



알파고 제로의 성적은?

그렇다면 이렇게 스스로 학습한 알파고 제로의 성적은 어떨까?

학습 초기의 알파고 제로는 18급 정도의 바둑을 두었다고 한다. (18급은 바둑 조금 둘 줄 아는 사람정도의 실력이다.) 그러다가 강화학습을 시작한지 19시간이 되자 아마추어 초단 정도의 실력이 되었다. 돌의 사활, 세력, 실리 등을 알기 시작한 것이다.

36시간 뒤 알파고는 기존에 이세돌과 대국을 했던 버전의 알파고와 대결을 펼쳤다.(이세돌과 대국을 한 버전의 알파고를 알파고 LEE라고 한다.)

알파고 LEE가 당시 펼쳤던 대국 조건으로 대결을 했는데 결과는 알파고 제로의 100전 100승 ‘무패’ 였다.

36시간 만에 기존의 알파고를 뛰어넘은 것이다.그리고 72시간 뒤에는 세계 최고가 되었다.


알파고 제로가 알파고 LEE를 넘었다는 그래프. (출처 : 네이처 논문)


알파고 LEE가 이세돌과의 대결 전 7개월 동안 바둑을 학습했던 것에 비하면 정말 빠른 속도이다. 무려 140배.

하지만 알파고 제로는 거기서 그치치 않고 학습을 계속했다. 총 40일 동안 2천 9백만 판의 바둑을 두었다고 한다.(2천 9백만판 상상이 안 간다.)

그리고 또 한번의 대결을 펼쳤다. 바로 올해 5월 현 세계 랭킹 1위인 커제를 3대 0으로 꺾은 인간계 최강 버전 ‘알파고 마스터’ 와의 대결이었다. 이 대결에서 알파고 제로는 마스터를 상대로 100전 89승 11패를 거뒀다. 알파고 제로는 압도적인 승리를 거두며 신의 경지에 이르렀다.


알파고 마스터도 추월. (출처 : 네이처 논문)


알파고 제로는 인간의 지식과 데이터를 이용하지 않았다. 오로지 스스로의 학습을 통해 이런 결과를 이뤄낸 것이다. 강화학습으로 진화한 인공지능이 어디까지 발전할 수 있는가를 잘 보여준 것이라 생각한다.

나는 이제 인간이 인공지능과의 경쟁해서는 안 된다고 생각한다.점점 인간이 인공지능을 뛰어넘을 수는 없다는 것이 증명 되어지고 있기 때문이다. 이제 인간은 스스로가 다룰 수 없는 한계에 부딪혔을 때 어떻게 인공지능과 함께 헤쳐나갈 수 있는지를 배워야 한다. 인공지능은 인간이 가지고 있지 않은 창의성을 익힐 수 있기 때문이다.

알파고 제로가 학습해온 노트는 인간 프로기사들에게 좋은 공부 재료가 될 것이다. 인간이 보지 못했던 것을 공부하는 것은 어떤 느낌일까 궁금해진다.

P.S 특이점이 진짜 오는걸까..

참고 : 알파고는 스스로 신의 경지에 올랐다

알파고 바둑 정복기