알파고는 바둑 고수의 기보를 익힌 뒤 스스로 대국하며 실력을 키웠다.
바둑은 가능한 판의 배치가 10의 170제곱에 이르는 게임이다.
당시 컴퓨터 바둑 프로그램은 수십 년간 개발됐지만 사람 아마추어 수준에 머물렀고, 가능한 수가 워낙 많아 다음 수의 가치를 따지기 어려웠다.
알파고는 심층 신경망과 탐색 알고리즘을 결합해 이 문제에 도전했다.
학습의 출발점은 인간의 바둑이었다. 알파고는 먼저 전문가 대국 수천 판을 보며 사람들이 어떻게 두는지 익혔다.
이 단계는 인간의 수법을 학습할 재료를 제공했다.
하지만 고수의 기보를 따라 배우는 데서 멈추지 않고, 이후에는 서로 다른 버전의 알파고끼리 수천 번 대국하도록 했다.
다음 수를 고르는 역할은 ‘정책망’이 맡았다.
알파고는 이 신경망을 이용해 둘 수를 선택했고, 별도의 ‘가치망’은 해당 대국에서 누가 이길지 예측했다.
즉 한쪽은 수 선택을, 다른 쪽은 승패 전망을 담당한다. 두 신경망에 탐색 알고리즘을 결합한 것이 알파고의 접근 방식이었다.
자기 대국은 강화학습으로 이어졌다. 알파고는 대국을 거듭하며 실수에서 배우고, 점차 더 나은 선수가 됐다.
인간 기보에서 익힌 바둑의 방식과 스스로 겨루며 얻은 경험을 함께 활용한 셈이다.
이 학습 과정에서 알파고는 인간이 두는 방식만 복제하는 데 그치지 않고, 새로운 수를 찾아내는 모습을 보였다.
참고 자료