알파고는 어떻게 인간을 이겼을까?
바둑의 포석단계는 경우의 수가 워낙 많아 인간은 정확한 수읽기가 불가능하고 직관과 감각에 의존할 수 밖에 없습니다. 그런데 알파고는 포석단계에서부터 직관과 감각을 계량화하여 각 경우의 수의 가치와 우선순위를 계산합니다. 바둑에서 어디에 돌을 놓을지 결정하는 일은 각각의 수에서 얻어지는 이득을 계산하는 일과 같기 때문입니다. 만약 인간에게 이런 식으로 계산을 하라고 하면 아마 머리가 터질 지경이 될 겁니다. 컴퓨터는 이런 일에 아주 능하죠. 인간은 너무 많은 경우의 수를 계산할 능력이 없지만 알파고라는 컴퓨터는 30초라는 짧은 시간내에서 가장 큰 이득을 볼 수를 순식간에 계산할 수 있는 것이죠.
불과 몇 년 전까지만 해도 바둑은 체스와 달리 경우의 수가 너무 많아 인간이 기초 데이터를 입력하는데 한계가 있으므로 컴퓨터가 인간을 이길 수 없을 것이라고 믿었습니다. 체스는 10의 120승, 장기는 10의 220승, 바둑은 10의 360승의 경우의 수를 가진다고 합니다. @.@ 하지만 사람이 데이터를 입력하지 않아도 컴퓨터가 스스로 학습해서 깨우치는 머신러닝 기술이 개발되면서 드디어 기계가 바둑에서 인간을 능가하게 됩니다. 인간의 뇌는 무수한 정보 가운데 자신의 판단에 필요한 내용을 순간적으로 선택하는 능력과 정보를 무의식적으로 저장하는 능력은 기계 대비 우월합니다. 인간의 뇌는 출생 당시 미성숙한 상태로 시작하여 이후 성장과정에서 자극을 받고 정보를 취사선택하고 조합하는 "자기조직 원리"에 의해 완성되게 됩니다. 이때 판단과 선택 그리고 조합은 매우 빨리 작동합니다. 이것은 수백만 년 이상 의식적 또는 무의식적으로 인간 DNA에 축적된 유전자 정보 덕분이겠죠.
21세기에 접어들어 뇌의 특정 부분과 신경세포들이 어떻게 정보를 처리하는지 밝혀지면서 뇌 작동 방법을 모방한 컴퓨터 알고리즘이 만들어지기 시작했으며, 알파고는 딥러닝 신경망과 몬테카를로 트리 검색을 결합하여 스스로 학습해 작동 원리를 깨우치며 이를 통해 각각의 바둑 수에 대한 확률 계산을 하게 됩니다. 거기에 더해 알파고는 전문가 지도학습과 자체 경기를 통한 강화학습으로 훈련해 왔고, 프로 바둑기사들의 기보 16만개를 입력해 그들의 수법을 모방하였으며 스스로 학습해 원리를 깨우치는 머신러닝 기법이 더해진 것입니다. 알파고가 프로 바둑기사의 기보 학습에 더해 자체 경기를 통해 강화학습을 한 이유는 인공지능이 기존 학습 데이터에 너무 고정되어 새로운 상황에 직면하면 잘못된 결정을 내리는 오류를 범했기 때문이며 또한 프로 바둑기사의 기보에 의한 지도학습 결과가 최적의 선택이라고 판단하기 어렵기 때문입니다. 그래서 이러한 문제를 보완하기 위해 자체 경기를 통해 얻은 3천만 개의 기보를 통해 스스로 바둑의 원리를 깨우치게 되었습니다.
바둑에서는 경우의 수가 워낙 방대해서 추가적인 알고리즘을 통하여 경우의 수를 대폭 축소시켜 계산 시간을 줄여야 했으며 그 과정에 데이터의 양도 엄청나기 때문에 이를 빨리 저장하고 처리할 수 있는 기술이 동반되어야 했습니다. 인공지능을 위한 엄청난 양의 데이터를 저장하고 처리할 수 있는 기술은 클라우드 컴퓨팅과 빅데이터를 통해 가능해졌고, 빨리 처리할 수 있는 컴퓨터를 위해서는 고성능의 CPU와 GPU가 도입되었습니다. 알파고는 인간의 신경망 구조를 모방한 딥러닝 알고리즘과 여기에 엄청난 양의 정보를 빠르게 처리하는 빅데이터 기술이 결합되면서 가능해진 것이죠. 딥러닝은 목표 내용을 주입하는 것이 아니라 무수한 데이터를 걸러내는 과정에서 그 내용을 컴퓨터가 알아서 찾아내도록 설계하는 것입니다. 따라서 방대한 경우의 수를 탐색하여 가장 주도적인 관련성을 찾아내는 작업이 딥러닝의 핵심이라 할 수 있습니다. 토론토 대학의 제프리 힌튼 교수는 슈퍼컴퓨터를 기반으로 딥러닝 개념을 증명하는 알고리즘을 병렬화하는데 성공하였으며 병렬 연산에 최적화된 GPU의 등장은 신경망의 연산 속도를 획기적으로 높여 딥러닝 기반 인공지능의 등장을 가속화하였습니다.