들어가며 6
제1장 쇼기의 기계학습 - 프로그래머로부터 졸업하다 13
명인을 쓰러뜨릴 프로그램은 명인만이 짤 수 있을까? 15
애초에 컴퓨터란 게 뭘까? 19
쇼기 프로그램은 어떻게 짜나? 22
쇼기에서 말하는 탐색과 평가’ 28
평가 방식 구축하기 31
인공지능의 겨울 33
인간의 생각을 이해하는 건 포기했어 38
쇼기 AI가 체스 AI보다 20년 늦게 등장한 이유 43
인간을 이기기 어려운 이유, 경우의 수가 많아서? No! 44
컴퓨터에게 쇼기가 어려운 이유 47
컴퓨터에게 쇼기와 체스의 본질적 차이란? 49
컴퓨터 쇼기의 기계학습 53
기계학습의 약점과 이를 해결하기 위한 시도들 59
포난자의 성장 65
전왕전(電王戰 68
프로그래머로부터 졸업하다 73
제2장 흑마술과 딥러닝 - 과학으로부터 졸업하다 77
기계학습이 초래한 ‘해석성’과 ‘성능’의 트레이드오프 79
흑마술이 되어가는 포난자 81
‘나태한 병렬화’라는 흑마술 83
딥러닝, 인공지능에 날개를 달다 87
딥러닝의 원리와 역사 90
딥러닝의 뼈대, ‘드롭아웃’이라는 흑마술 94
딥러닝, 어디까지 와 있나 98
딥러닝과 지능의 본질은 ‘이미지’? 103
환원주의적 과학으로부터 졸업하다 105
제3장 바둑과 강화학습 - 천재로부터 졸업하다 109
인공지능이 예상보다 훨씬 빨리 성장한 이유 111
인간은 ‘기하급수적 성장’을 직관적으로 이해할 수 없다 113
인류는 앞으로 프로 기사와 같은 경험을 하게 된다 116
포난자, ‘지켰노라, 깨뜨렸노라, 벗어났노라’ 118
강화학습이란? 121
탄생! 포난자 스타일 124
인류의 반격과 허용 128
알파고의 등장 132
컴퓨터에게 바둑이 유독 특별한 게임이었던 이유 134
몬테카를로 방식이라는 구세주 137
주사위에도 지능이 있다?! 141
몬테카를로 바둑의 성장 143
알파고가 보여준 사실, ‘바둑은 이미지’였다 144
알파고의 세 가지 무기 149
앙상블 효과 155
# 인공지능을 개발해 명인을 이기기까지
일본장기(쇼기 아마 5급인 개발자 야마모토는 어느 날 장기 프로그램을 개발해보기로 한다. 그동안 장기 프로그램은 많이 나와 있었지만 그 실력이란 게 워낙 미천해서 인간과는 상대가 되지 않았기 때문이다. 아마 수준이지만, 꽤 높은 수준의 장기 실력을 갖춘 자신이라면 지금까지 나온 프로그램 중에 제일 나을 것이라고 생각했다. 야마모토가 장기 프로그램을 개발한다는 소문이 들자 다들 기대를 했고, 드디어 프로그램이 나왔다. 그러나 결과는 폭망!
야마모토가 말을 8개나 떼고 두었지만, 컴퓨터는 야마모토를 이기지 못했다. “그토록 격렬히 이기고 싶지 않은 적은 처음이었다”고 야마모토는 말했지만, 컴퓨터는 하수 중 가장 하수였다. 무엇이 문제였을까? 장기를 잘 두는 사람이 프로그램을 만들면 가장 장기를 잘 둘 줄 알았는데 결과는 참패였다.
야마모토는 자신의 실력을 컴퓨터에게 알려주는 대신 컴퓨터가 스스로 공부하도록 다시 프로그램을 짰다. 디지털화된 장기 기보를 컴퓨터가 보고 스스로 변수를 조절하도록 한 것이다. 즉 ‘기계학습’을 도입하자, 프로그램은 점점 승률이 올라가기 시작했다. 여기에 인간의 기보뿐 아니라, 컴퓨터끼리 대결해 도출한 데이터를 접목하는 ‘강화학습’까지 도입하자 프로그램은 인간의 수준을 넘어서기 시작한다. 그리고 드디어 일본에서 가장 장기를 잘 둔다는 명인과 대결하기까지 이른다. 결국 야마모토의 프로그램은 명인을 이긴다.
# 알파고 이후의 세계 그리고 흑마술
야마모토는 장기 프로그램의 성공 이후 호기롭게 바둑 프로그램에 도전하려 했다. 그런데 바둑에는 풀리지 않는 숙제가 있었다. 장기는 말과 말의 관계를 변수로 사용해서 컴퓨터를 ‘가르칠 수 있었다’. 예를 들어 왕에 높은 점수를 주고 졸(일본 장기에서는 보에 낮은 점수를 주면 컴퓨터는 왕을 빼앗기지 않으려고 할 것이다. 그런데 바둑에는 그런 말 간의 관계가 없었다. 어떤 관계에 점수를 많이 주면 될까를 고민하고 있는데 ‘알파고’가 나타났다. 알파고는 일