바둑판의 착점은 모두 361곳(19×19)이다. 바둑에서 나올 수 있는 모든 경우의 수는 10의 170제곱이다. 이처럼 어마어마한 경우의 수에 인공지능 알파고는 어떻게 대응할까. 비결은 몬테카를로 트리서치(MCTS)와 딥러닝(deep learning)에 있다.

몬테카를로 트리서치는 가지치기와 선택을 반복하는 접근 방식이다. 바둑에서 10의 170제곱이라는 경우의 수는 거의 무한으로 아무리 컴퓨터라도 계산하기 불가능하다. 컴퓨터는 이런 문제를 일종의 ‘여론조사’로 해결한다. 수많은 기존 바둑 기보를 바탕으로 전문가들의 선호도를 파악해 선택의 수를 줄이는 방식이다. 이를 ‘정책’이라고 부른다. 다음엔 줄어든 선택 후보군에서 가장 승률이 높은 수를 찾아낸다. 이를 ‘가치’라고 한다.

한데 몬테카를로 트리서치만으론 수읽기에 한계가 있다. 인간 최고수를 꺾으려면 인공지능이 ‘자가학습 능력’을 갖춰야 한다. 기계가 방대한 빅데이터를 활용해 스스로 판단·추론·대응력을 키우는 이른바 ‘딥러닝’이다. 알파고가 무수한 기존 대국을 통해 익힌 수를 응용까지 해 ‘인간 최고수’를 이겼다는 얘기다.

초기의 인공지능은 주어진 데이터대로만 반응했다(룰아웃 정책망). 그러다 데이터를 바탕으로 ‘연습문제’를 풀었다(지도학습 정책망). 이젠 인공지능이 데이터를 응용까지 한다(강화학습 정책망). 인공지능의 진화 속도가 섬뜩할 만큼 빠르다.

신동열 한국경제신문 연구위원 shins@hankyung.com