드디어 알파고의 마지막 행보 중 하나인 알파고 논문이 발표 되었습니다.
https://deepmind.com/blog/alphago-zero-learning-scratch/
아직 자세하게 읽어보진 않았지만 알파고 개발사에 대한 총정리 버전이 될 것 같습니다.
네이쳐 논문 링크 : https://www.nature.com/articles/nature24270.epdf?author_access_token=VJXbVjaSHxFoctQQ4p2k4tRgN0jAjWel9jnR3ZoTv0PVW4gB86EEpGqTRDtpIz-2rmo8-KG06gqVobU5NSCFeHILHcVFUeMsbvwS-lxjqQGg98faovwjxeTUgZAUMnRQ
눈에 띄는 점
1. Alpago Zero (A.K.A 제파고) 가 등장했습니다.
인간 기보 학습이나 인간의 어떠한 수동 조작(개입) 없이 오직 self-play training 로만 성장하게 만든 것이 Alphago Zero(A.K.A 제파고)입니다. 이러한 방법으로 단 3일만에 이전 논문의 알파고(=돌파고) 를 압살하는 수준까지 성장할 수 있었으며, 커파고(=마파고=Master) 수준까지는 21일, 커파고 보다 훨 쎈 수준까지는 40일(총 2900만판의 self-play)이 걸렸다고 말하고 있습니다. (40 Block 기준)
* 논문에 따르면 제파고(완성 버전)가 마파고를 89승 11패로 이겼다고 합니다. (게임당 2시간짜리 시합)
2. 기존 알파고와의 차이
기존 알파고들은 가치망(=승률분석), 정책망(=가능성 있는 다음 수 예측)이라는 2가지 신경망을 사용하였는데, 제파고는 이 둘을 통합한 단일 신경망으로 승률분석과 다음 수 예측을 모두 수행한다고 합니다. 그것이 학습이나 가치판단에 더 효율적이었다는 설명입니다.
그리고 제파고는 "rollouts" 를 하지 않는다고 합니다. (이건 잘 모르겠습니다)
* rollout = fast, random games used by other Go programs to predict which player will win from the current board position
틀린 예측 (알파고에 대한 오해)
- TPU 를 보고 놀란 나머지 이전 논문에 적힌 GPU 도 혹시 TPU 인 것은 아닐까 의심했습니다.
http://www.allcalc.org/18193
"TPU 를 썼지만 공개할 시점이 아니라서 GPU 숫자로 적당히 에둘러서 표현한 것은 아닐까?" 이런 의심이었는데...
틀렸네요. 초기버전(판파고)은 GPU로 개발했고, 중간에(돌파고부터) TPU(ver.1) 로 갈아탄게 확인되었습니다.
- 돌파고(=Alphago V.18) ELO Rating 이 4500 이라는 스샷이 올라온 적이 있습니다.
http://www.allcalc.org/16539
그런데 이번 발표(그래프)를 통해서 보면 돌파고의 Elo Rating 은 3700~3800 정도로 표시되었습니다.
당시에도 같거나 더 높은 수준의 (다양한) 상대방이 없어서 (이기는 게임만 하다보니) 레이팅에 인플레이션이 있는 것 같다는 말이 있었습니다만, 제파고(의 성장)를 기준으로 Elo Rating 이 재정립된 것 같습니다.
오늘(17.10.19) 기준으로 cgos 에 있는 탑 클래스의 딥젠고 ELO가 4000 내외 수준인데 이것도 더 높은 수준의 상대내지 동급의 상대와 두는 바둑의 횟수가 늘어나면 비슷한 과정을 겪을 것 같고, 인간 최고 수준(커박)의 ELO도 인공지능과의 대국을 추가하여 재평가한다면 다소나마 약간씩 떨어질 가능성이 있어 보입니다.
* [수정] 논문에 보면 Alphago Fan(3144), Lee(3739), Master(4858), Zero(5185) 로 정확하게 나와 있습니다. 그리고, 그 산출 근거를 다음과 같이 적시하였습니다. "The results of the matches of AlphaGo Fan against Fan Hui and AlphaGo Lee against Lee Sedol were also included to ground the scale to human references, as otherwise the Elo ratings of AlphaGo are unrealistically high due to self-play bias." 알파고끼리의(아마도 여타 AI 포함일 듯) 셀프대국만 반영하면 편향으로 인해 레이팅값이 비현실적으로 높아지는데, 이를 막기 위해 인간(판후이& 이세돌)과의 대결 결과를 인간 기준 척도의 기준점으로 삼았다고 밝혔습니다. 만약 돌파고 레이팅 4500이 인간대상으로도 통하였다면 3550인 이세돌과 대국에서 승리할 확률이 99.58% 라는 말인데, 4승1패를 설명하기가 너무 곤혹스러웠던 것 같습니다.
그럼에도 불구하고 4500을 3739로 깍은 것은 너무 과격?한 것이 아닌가 싶기도 합니다. '인간과의 대결 횟수가 너무 적기 때문'입니다. 그리고 왜 판파고의 레이팅(3144)은 왜 조정하지 않았을까요? 좀 더 자세히 알아볼 필요가 있을 것 같습니다.
- 돌파고(=Alphago V.18) ELO Rating 이 4500 이라는 스샷이 올라온 적이 있습니다.
결론
제목(Learning from scratch)에서 알 수 있듯, 이번 논문의 핵심은 "인간의 개입 없이, AI의 자력으로만 바둑이라는 Category를 마스터하였으며, 그것은 인류가 아직 도달하지 못한 미지의 영역이다."는데 있겠습니다.
딥마인드(구글)은 이러한 AI의 활동 분야를 바둑이라는 Category 에 한정하지 않고 넓혀 나갈 것이고, 그로 인해 인류가 아직 밟아보지 못한 수많은 길이 새로이 열릴 것입니다.
Comment 7
-
-
-
DeepMind has yet to find out how smart its AlphaGo Zero AI could be
Posted Nov 2, 2017 by Darrell Etherington (@etherington)https://techcrunch.com/2017/11/02/deepmind-has-yet-to-find-out-how-smart-its-alphago-zero-ai-could-be/
-
-
-
관련 기사
https://brunch.co.kr/@madlymissyou/18
-
-
-
딥마인드가 영국 회사인데, 이런 거 보면 영국의 과학 기술도 굉장한...
스마트폰 AP 로 쓰이는 ARM 도 영국 회사...
하긴 뉴턴, 스티븐 호킹을 배출한 나라이니...
-
-
-
Rollout 과 관련하여 논문에 나온 내용을 뽑아보겠습니다.
- Finally, it uses a simpler tree search that relies upon this single neural network to evaluate positions and sample moves, without performing any Monte-Carlo rollouts.
- In each position st, a Monte-Carlo tree search (MCTS) αθ is executed (see Figure 2) using the latest neural network fθ. Moves are selected according to the search probabilities computed by the MCTS, at ~ πt.
- Figure 2: Monte-Carlo tree search in AlphaGo Zero.
- Monte-Carlo tree search (MCTS) may also be viewed as a form of self-play reinforcement learning.
- MCTS programs have previously achieved strong amateur level in Go, but used substantial domain expertise: a fast rollout policy, based on handcrafted features, that evaluates positions by running simulations until the end of the game; and a tree policy, also based on handcrafted features, that selects moves within the search tree.
this single neural network to evaluate positions and sample moves,without performing any Monte Carlo rollouts.
-
-
-
MCTS 를 여전히? 사용하여 (완전 랜덤은 아니지만) random 한 게임을 진행하는 것은 맞다.
마파고까지의 프로그램들은 승률 계산을 위해 rollouts(=빠르게 MCTS를 돌리는 것) 을 사용하였는데, 승률 계산을 다른 영역에 맏기므로 rollout을 할 필요가 없다.
이런 결론이네요.
Compared to the MCTS in AlphaGo Fan and AlphaGo Lee, the principal differences are that AlphaGo Zero does not use any rollouts; it uses a single neural network instead of separate policy and value networks; leaf nodes are always expanded, rather than using dynamic expansion; each search thread simply waits for the neural network evaluation, rather than performing evaluation and backup asynchronously; and there is no tree policy. A transposition table was also used in the large (40 block, 40 day) instance of AlphaGo Zero.
-
-
-
ELO Rating 으로 추정해 본 승률
-
의문점1 : 제파고의 성장은 계속될 것인가? 아니면 어느 점으로 수렴할 것인가?
의문점2 : "완성 단계?에 이른 것인지, 성장이 더뎌졌다" 고 판단되어지는 33일 이후에 갑자기 도약하듯? 2차례 성장하였는데 제파고 내부에 어떤 변화가 있었던 것일까? (특정 정석에 대한 선택? 버림? 때문일까?)