디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

전문가 입장에서 본 알파고의 알고리즘과 약점(이세돌에게 전해주세요)

OO갤로그로 이동합니다. 2016.03.11 20:20:49
조회 2686 추천 26 댓글 30

2016/03/11 10:43

알파고의 알고리즘과 약점 나홀로 리서치


먼저 저는 전공자가 아니고 알파고의 네이처 논문만 보고 느낀 점을 정리한 것이기 때문에 한계가 있다는 점은 이해 바랍니다.

바둑이나 체스와 같은 보드게임을 포함한 모든 게임에서 필요한 모든 정보를 가지고 있다고 가정할 때, 현재의 상태를 보면 누가 이길지에 대한 확률을 계산할 수 있습니다. 바둑에서 현재 돌이 놓인 모양을 보고 사람들이 대충 누가 유리하겠구나 판단하는 것이 이 과정에 해당합니다. 이것을 가치 함수 (value function) 라고 합니다.

단순한 게임일 수록 이 확률을 정확하게 계산하기 쉽죠. 예를 들면 기본적인 룰만 적용한 오목은 현재 놓인 돌의 모양을 보고 누가 이길지 100% 예측할 수 있으며 심지어 아무 돌이 놓여 있지 않아도 100% 예측할 수 있습니다. 다시 말해 무조건 선이 이깁니다. 물론 이것은 각 플레이어가 최선의 선택을 한다는 가정하에서 입니다. 사람은 그 모든 경우를 다 계산할 수 없지만 컴퓨터는 가능합니다. 이처럼 가능한 경우의 수를 플레이해 보는 것을 트리 탐색 (tree search) 이라고 합니다. 트리 탐색을 완벽하게 하면 정확한 가치 함수를 계산할 수 있습니다.

하지만 게임이 복잡해 질 수록 경우의 수가 기하급수적으로 늘어나서 아무리 빠른 컴퓨터로도 그 모든 경우를 다 계산하는 것은 불가능해 집니다. 바둑이 그 대표적인 예입니다. 바둑에서 나올 수 있는 모든 경우의 수를 다 플레이해 보고 이길 확률을 계산하는 것은 인간이 만들 수 있는 컴퓨터로는 불가능합니다. 

따라서 모든 경우를 다 플레이해 보지 않고도 최선의 수를 찾아내는 것이 인공지능 개발에서 핵심적인 알고리즘이 됩니다.

경우의 수를 줄이는 첫 번째 방법은 경우의 수를 플레이해보는 단계를 줄이는 것입니다. 바둑이라면 끝까지 두어보는 것이 아니라 한 20~30 수 정도만 두어보고 좋은 수인지 나쁜 수인지를 판단하는 거죠. 하지만 끝까지 두어보지 않으면 승패를 알 수 없죠. 따라서 20~30 수 정도를 둔 후에 높은 가치 함수를 갖는 모양이 나올 수 있는 경우의 수를 좋은 수라고 판단하고 이를 바탕으로 가치 함수를 계산합니다.

여기서 잠깐 뭔가 이상한 것을 느끼셨을 겁니다. 가치 함수를 계산하기 위해서는 트리 탐색을 해야 하는데 그 트리 탐색을 하기 위해서 서는 가치 함수가 필요한 무한 반복에 빠지게 되는 거죠. 이런 경우에는 가상의 가치 함수를 가정하고 트리 탐색을 한 뒤 새로운 가치 함수를 계산합니다. 그 뒤 계산한 가치 함수를 이용하여 다시 트리 탐색을 해서 더 나은 가치 함수를 계산하는 거죠. 이와 같은 과정을 계속 반복하면 가치 함수가 점점 가장 정확한 값에 수렴하게 됩니다. 이와 같은 방법을 반복법 (iteration) 이라고 합니다. 어려운 문제에서 최적값을 찾기 위해 가장 흔하게 쓰는 방법이죠.

물론 이 방법이 100% 정확하지는 않습니다. 구하는 값이 진짜 최적값이 아니라 인접한 구간에서의 최적값에 수렴할 수도 있거든요. 예를 들면 열심히 등산을 해서 정상에 올랐는데 알고보니 안개에 가린 저 멀리에 진짜 최고봉이 있었다라는 식입니다. 그래도 대부분의 경우에는 상당히 정확합니다. 체스 챔피언을 이긴 인공지능도 이 알고리즘으로 만들어졌죠.

하지만 바둑은 경우의 수가 훨씬 많아서 이 방법만으로는 부족합니다. 그래서 나온 두 번째 방법이 모든 경우의 수를 다 플레이해보지 않고 일부 경우의 수만 플레이해 보는 것입니다. 이를 몬테카를로 (Monte carlo) 방법이라고 합니다. 다음 수를 두었을 때 벌어질 수 있는 모든 경우를 다 고려하는 것이 아니라 일부 경우만 골라 계산해보고 거기서 나오는 부분 평균값을 전체의 평균이라고 가정하는 거죠.

일부의 경우를 고르는 방법은 그냥 랜덤하게 고르기도 하지만 바둑과 같이 일반적인 플레이어가 바둑판에 랜덤하게 돌을 놓는 것이 아니라 나름의 결정에 의해 플레이 하는 경우에는 상식적으로 많이 돌을 놓는 경우를 골라 플레이해 보는 것이 더 좋겠죠. 이와 같이 다음에 어디에 돌을 놓을까에 대한 정보를 제공하는 것을 정책 (policy) 이라고 합니다.

즉, 모든 경우를 다 플레이해 보는 것이 아니라 사전에 결정된 정책에 의해 나올 확률이 높은 경우들만 골라 플레이해보고 이를 바탕으로 가치 함수를 계산한다는 거죠. 그럼 그 정책은 어떻게 결정될까죠. 물론 가치 함수에 기반해서 결정됩니다. 또 무한 반복이 나왔죠. 가치 함수를 계산하기 위해서는 정책이 필요한데 그 정책을 결정하기 위해서는 가치 함수가 필요한거죠. 하지만 걱정하지 말고 위에 나왔던 반복법을 다시 쓰면 됩니다. 지금까지의 바둑 인공지능은 이 방법을 이용해서 아마추어 수준의 기력을 갖출 수 있었죠.

알파고는 이를 더 발전시키기 위해 몇 가지 추가적인 방법을 적용합니다. 첫 번째는 신경망 (neural network) 기술입니다. 신경망 기술이란 인간의 뉴런 구조에 착안한 것으로 서로 직접적인 연관성이 약한 수 많은 요소들이 결합되어 만들어 내는 결과를 예측하기 위해 쓰는 기법입니다. 신경망 자체는 예전부터 많이 활용되던 기법이지만 알파고는 최신 신경망 기법을 활용하여 앞서 설명한 가치를 평가하는 가치 네트워크와 정책을 결정하는 정책 네트워크 간의 적절한 상호작용을 만들어 내어, 트리 탐색을 수행하는 단계 (depth) 를 줄이고, 몬테카를로 트리 탐색과 결합하여 탐색을 수행하는 회수 (breadth) 를 줄이는 데 성공합니다.

또한 이러한 신경망 구조를 훈련시키는 단계에서 기존에 사람이 플레이하였던 기보들을 입력하는 감독 학습 (supervised learning) 뿐 아니라 자기 자신과의 대국을 통해 만들어 지는 기보를 이용한 강화 학습 (reinforcement learning)을 통해 가치 네트워크와 정책 네트워크의 정확성을 더욱 끌어올립니다. 이렇게 함으로써 알파고는 인간을 뛰어넘는 기력을 갖추게 된거죠.

많은 기사에서 알파고 알고리즘의 핵심이 몬테카를로 인 것 처럼 보도되었지만 (그리고 실제 해당 전공분야에서 핵심적인 기술 진보가 그 부분일 지도 모르지만), 일반인 입장에서 이해할 수 있는 핵심적 기법은 신경망과 강화 학습이라고 생각됩니다. 신경망 기법은 수 많은 요소들이 조금씩 기여하여 결과를 만들어 내고 그 기여도가 수렴되는 방향이 미리 계획되지 않기 때문에 알고리즘을 설계한 사람 조차 어떤 결과가 나올지는 알 수 없습니다. 이러한 신경망이 강화 학습을 통해 최적화 되면서 인간이 만들었지만 인간이 이해할 수는 없는 인공지능이 탄생하게 되는 거죠.

그럼 이렇게 만들어 진 알파고를 인간이 이길 수 있는 방법은 없을까요. 굉장히 힘들겠지만 굳이 방법을 억지로 생각해 보자면 다음과 같습니다.

알파고가 다음 수를 계산하는 과정은 다음과 같습니다.



D. Silvar, et al. "Mastering the game of Go with deep neural networks and tree search", Nature 529, 484–489 (2016)

먼저 알파고는 가치 네트워크를 이용하여 좋은 착점을 선별합니다(a). 그리고 트리 탐색을 통해 선별한 착점을 평가합니다(b,c). 그 뒤 선택된 착점들에 대해 정책 네트워크를 이용하여 가상으로 대국을 진행해 보며 착점들을 다시 걸러냅니다(d,e). 그 결과 선택된 최종적인 착점 (붉은 원) 과 알파고의 이후 예상 진행이 (f) 입니다. 실제 판후이 2단이 대응한 곳은 흰색 네모 (붉은 원 바로 위) 였지만 후분석을 통해 알파고가 예상한 흰색 1이 더 좋은 대응이었다고 평가되었습니다.

구체적으로 알 수는 없지만 알파고는 단계적으로 선택의 수를 줄여가며 점점 더 많은 단계를 플레이 해 보는 식으로 계산 양을 줄이는 것 같습니다. 즉, 트리의 폭 (breadth) 을 줄이며 깊이 (depth) 를 늘리는 방식인 거죠. 일단 알파고가 많은 단계를 시뮬레이션 해 본다면 실수를 기대하기 힘듭니다. 따라서 좋은 착점이 깊이가 얕은 단계에서 버려지기를 기대해야 합니다.

이를 위해서는 일단 처음에 버려지는 착점이 많은 초반이 유리합니다. 또한 가치 네트워크를 이용하여 일차적인 선택을 하는 알파고의 특성상 포석에서의 가치가 높은 귀나 변은 버려지지 않을 확률이 높습니다. 따라서 초반에 반드시 중앙에 돌을 놓아야 하는 상황이 나왔을 때 알파고가 실수할 확률이 있습니다.

만일 초반에 전투가 벌어져서 그 전투가 중앙으로 번진다면 알파고가 사활이 걸린 수를 놓치고 세력을 위해 잘못된 선택을 하는 경우가 발생할 수도 있지 않을까요. 저는 바둑을 잘 모르기 때문에 그게 가능한 지는 알 수 없습니다. 어쩌면 2국 초반에 좌하변에서 알파고에게 불리하게 진행된 대국 양상이 그와 관련되어 있지는 않을까 조심스럽게 추측해 봅니다.


추천 비추천

26

고정닉 0

4

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 흡연때문에 이미지 타격 입은 것 같은 스타는? 운영자 24/07/15 - -
이슈 [디시人터뷰] '좋아해요'로 마음을 사로잡은 배우 최하슬 운영자 24/07/17 - -
86350 시발 기계는 체력이 무한이라 이세돌이 불리한거면 ㅋㅋㅋㅋ ㅇㅇ(175.197) 16.03.12 51 0
86349 알파고는 너무 강하다 유근이엄마(221.159) 16.03.12 60 0
86347 알파고가 보는 이세돌의바둑 실력은 이럴듯 고수만덤볏(182.209) 16.03.12 112 0
86346 알파고가 주식시장에 뛰어들어봤자 한계가 명확한이유가 [7] ㅁㅁ(222.106) 16.03.12 139 0
86345 정치경제 인공지능이 다 책임질 경우 일어나는 일.디스토피아 [1] ㅇㅇ(211.204) 16.03.12 59 0
86344 바둑이 무한한 한계를 지닌거도아니고 [13] 진지하게(59.28) 16.03.12 157 2
86343 만약 알파고에게 5대 0으로 진다면 이세돌9단은 어떻게 될까요? [2] k(218.39) 16.03.12 154 0
86342 난 이세돌 머리잘라준 미용실이 젤 궁금함 (39.7) 16.03.12 67 3
86341 야 이창호가 중계하면 시청률 최고찍냐? ㅐㅐ(119.196) 16.03.12 28 0
86340 20수 안에 큰 이득 못보면 그냥 끝이라니까.. [1] ㅇㅇ(125.176) 16.03.12 84 2
86339 내일 세돌갓이 패싸움 걸어도 알파고는 패싸움 피하리라 봄 ㅇㅇ(110.70) 16.03.12 27 0
86338 이세돌이 5번기에서 2연패하고 ㅇㅇ(221.145) 16.03.12 42 1
86337 판후이 알파고 대전 이후 kbs 소감 신의경지(1.254) 16.03.12 128 0
86336 여태까지 컴바둑 약점이 패에 비교적 약하다는거니까 ㅇㅇ(118.216) 16.03.12 63 1
86335 프로기사들 대국 중에 바둑판 엎으면 어떻게 되죠? 용암맛사탕갤로그로 이동합니다. 16.03.12 42 0
86334 저는 실력도 없고 단기학습도 하기싫어요 유근이엄마(221.159) 16.03.12 40 0
86333 지금 헬센징들 반응만 봐도 왜 헬조센 탈피 못하는지가 눈에 보이지 않냐 [2] ㅇㅇ(175.197) 16.03.12 98 0
86332 알파고가 패싸움을 못한다는게 아니야 [3] ㅇㅇ(110.10) 16.03.12 116 0
86331 알파고의 수는 지구상에서 알파고말고 근거를 아는 사람이없음 iㅁ(222.106) 16.03.12 49 0
86330 이세돌 사범 좌절하거나 낙담하고 있지 않으리라 생각한다 앙겔(175.197) 16.03.12 45 1
86329 타이젬 인공지능한테 한 10판 지고난뒤에 한번 이기니깐 계속 이긴다 ㅇㅇ(119.194) 16.03.12 45 0
86328 알파고랑 바둑두다 판후이가 성질 부릴만도 하다. dd(119.67) 16.03.12 54 0
86327 알파고 때문에 장혜연 캐스터 알게됬다 (39.7) 16.03.12 143 1
86325 인간의 의식이란것도 결국 전기자극이야 그러니까 ㅇㅇ(121.141) 16.03.12 33 0
86324 로봇에게는 인간에게는 불가능한 ㅇㅇ(211.211) 16.03.12 19 0
86323 백점 접어주면.. [6] 진수(175.215) 16.03.12 87 1
86322 이세돌이 인간들중에 최강바둑기사니 우리보다 느끼는 공포가 더클듯. ㅇㅇ(211.36) 16.03.12 45 0
86321 언젠가는 사법체계도 인공지능이 담당할것임 [2] ㅇㅇ(211.194) 16.03.12 50 0
86320 상대에 맞춰서 둔다는 것도 알파고에 대한 충분한 설명은 아닐듯 [1] 백야(223.33) 16.03.12 67 0
86319 최선을 다하고 그 결과에 깨끗이 승복하겠습니다 [1] 유근이엄마(221.159) 16.03.12 65 0
86318 바둑 몰라서 그러는데 알파고 바둑 재밌냐? [5] 215(66.249) 16.03.12 118 0
86317 야 아예 정치경제 다 인공지능 맡겨버리면 [6] ㅇㅇ(61.77) 16.03.12 72 0
86316 알파고한테 인류의 역사 입력시켜놓고 대통령 뽑으라고 해라 00(119.196) 16.03.12 39 0
86315 감정이라는 것도 공학적 메커니즘에 의해서 ㅇㅇ(211.211) 16.03.12 24 0
86314 2국 내내 세돌이 표정이, [1] 신의경지(1.254) 16.03.12 176 3
86313 나보다 고수라 단기학습으로는 이길수가 없어요!! 유근이엄마(221.159) 16.03.12 42 0
86312 알파고가 패싸움을 못할거라는데 [1] ㅇㅇ(1.243) 16.03.12 92 0
86311 확실한건 알파고 파훼법은 나올거다 진지하게(59.28) 16.03.12 45 0
86309 판후이가 알파고랑 대국할때 성질 부렸다는 뉴스 본적 있냐 ㅇㅇ(222.104) 16.03.12 59 0
86308 텔레비전에 나오는 정치인들 전부 좆밥으로보임 ㅇㅇ(126.94) 16.03.12 34 0
86307 프로연우 얘 해설잘하냐??? [9] (39.7) 16.03.12 239 0
86306 이세돌 스스로 자신보다 완벽한 바둑 고수는 없다고 생각하며 살았을텐데 [2] ㅇㅇ(221.145) 16.03.12 118 0
86305 알파고의 눈으로 보는 이세돌 대국현장 [4] 알파go(118.36) 16.03.12 2220 31
86304 알파고는 경우의 수를 빠르게 제거해야하는데 [2] ㅇㅇ(110.10) 16.03.12 92 0
86303 나보다 고수가 어딧어요?? 룰이 이상한거죠!! 유근이엄마(221.159) 16.03.12 49 0
86302 그냥, 내일은 이세돌이 얼마나 차이를 좁히는지 정도만 보자. [2] 그러하다(115.21) 16.03.12 92 0
86301 장구한 역사를 가진 바둑에 의문점을 제기합니다 [2] 유근이엄마(221.159) 16.03.12 122 0
86300 근데 이세돌 원래 좋은 수 나오면 저렇게 당황하고 그럼? [1] ㅇㅇ(218.209) 16.03.12 164 0
86297 내가 소름끼친건 딴게아니라 [2] ㅇㅇ(121.141) 16.03.12 141 0
86296 2~30년뒤의 인공지능이 어떨지 궁금하다 ㅇㅇ(211.194) 16.03.12 35 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2