서브메뉴

본문

알파고를 분석하며 배우는 인공지능 (딥 러닝, 몬테카를로 트리 탐색, 듀얼 네트워크, 강화 학습 구조 이해하기)
알파고를 분석하며 배우는 인공지능 (딥 러닝, 몬테카를로 트리 탐색, 듀얼 네트워크, 강화 학습 구조 이해하기)
저자 : 오츠키 토모시
출판사 : 제이펍
출판년 : 2019
ISBN : 9791188621644

책소개


알파고를 통해 인간의 지혜를 넘어선 한 수의 비밀을 탐구한다

바둑계의 양대 산맥이던 이세돌과 커제를 이기고 전설이 된 바둑 인공지능 알파고. 이 책은 알파고를 탄생시키고 성장시킨 딥 러닝, 강화 학습, 몬테카를로 트리 탐색에 대해 자세히 다룬다. 또한, 알파고의 차기 버전인 알파고 제로에 대해서도 알아본다. 인간에 의해 개발되고 학습되었지만, 인간의 지능을 능가해 버린 인공지능의 구조와 원리를 탐색함으로써 무궁무진한 인공지능의 발전 방향을 모색한다.

목차


CHAPTER 1 알파고의 등장 1
1.1 게임 AI의 역사와 발전 2
1.1.1 앨런 튜링과 AI 2
1.2 천재 데미스 하사비스의 등장 5
1.2.1 신동 데미스 하사비스 5
1.3 알파고의 활약 7
1.3.1 알파고의 활약 7
1.4 바둑 AI의 기초 13
1.4.1 바둑의 규칙 13
1.4.2 바둑 AI를 구현한다는 것은 무엇인가? 16
1.4.3 ‘다음의 한 수’ 태스크 20
1.4.4 ‘다음의 한 수’ 태스크의 어려운 점 21
1.4.5 머신 러닝을 이용한 ‘다음의 한 수’ 태스크 22
1.4.6 알파고의 롤 아웃 정책 학습 26
1.5 정리 30

CHAPTER 2 딥 러닝 - 바둑 AI는 순간적으로 수를 떠올린다 31
이 장에서 설명할 내용 32
2.1 딥 러닝이란? 34
2.1.1 AI는 사람의 직관을 실현할 수 있을까? 34
2.2 필기체 숫자 인식의 예 42
2.2.1 필기체 숫자 인식이란? 42
2.2.2 필기체 숫자 인식의 데이터 세트 ‘MNIST’ 42
2.2.3 신경망을 사용한 필기체 숫자 인식 44
2.2.4 필기체 숫자 인식에 대한 컨볼루션 신경망 47
2.2.5 다단계의 신경망에서도 유효한 활성화 함수 51
2.2.6 오류 역전파 방법에 기초한 CNN의 필터 가중치 학습 54
2.2.7 화상 처리 CNN의 발전 60
2.3 알파고의 컨볼루션 신경망 64
2.3.1 알파고의 컨볼루션 신경망 64
2.3.2 ‘다음의 한 수’ 태스크와 화상 인식의 유사성 65
2.3.3 바둑의 수를 선택하는 CNN - SL 정책 네트워크 66
2.3.4 SL 정책 네트워크의 입력 48채널의 특징 71
2.3.5 SL 정책 네트워크의 컨볼루션 계산 예 75
2.3.6 SL 정책 네트워크의 계산량 77
2.3.7 SL 정책 네트워크의 학습용 데이터 획득 81
2.3.8 SL 정책 네트워크의 학습 기법 84
2.3.9 SL 정책 네트워크의 학습 결과 87
2.3.10 국면의 유리 불리를 예측하는 CNN(밸류 네트워크) 90
2.4 Chainer로 CNN 학습시키기 93
2.4.1 MNIST의 신경망 학습 부분 작성하기 93
2.4.2 SL 정책 네트워크의 학습 부분 작성하기 96
2.5 정리 100

CHAPTER 3 강화 학습 - 바둑 AI는 경험을 배운다 101
이 장에서 설명할 내용 102
3.1 강화 학습이란? 104
3.1.1 어떻게 경험에서 배울 것인가? 104
3.2 강화 학습의 역사 108
3.2.1 강화 학습 108
3.3 멀티 암드 밴딧 문제 112
3.3.1 강화 학습의 사례 112
3.3.2 UCB1 알고리즘 116
3.4 미로를 풀기 위한 강화 학습 118
3.4.1 4 × 4칸으로 이루어진 미로 118
3.4.2 가치 기반의 방식: Q 학습을 통해 미로 해결 120
3.4.3 정책 기반 방식: 정책 경사법을 통해 미로 해결 124
3.5 비디오 게임 조작 스킬을 얻기 위한 강화 학습 127
3.5.1 DQN 127
3.6 알파고의 강화 학습 131
3.6.1 알파고의 강화 학습 131
3.6.2 정책 경사법에 근거하는 강화 학습 134
3.6.3 RL 정책 네트워크의 성능 137
3.6.4 밸류 네트워크 학습용의 데이터 작성 기법 138
3.7 정리와 과제 143

CHAPTER 4 탐색 - 바둑 AI는 어떻게 예측할까? 145
이 장에서 설명할 내용 146
4.1 2인 제로섬 유한 확정 완전 정보 게임 148
4.1.1 어떻게 수를 예측할까? 148
4.2 게임에서의 탐색 153
4.2.1 SL 정책 네트워크 153
4.3 기존의 게임 트리 탐색(민맥스 트리 탐색) 155
4.3.1 ‘완전 탐색’의 개념 155
4.3.2 탐색 포인트 - 가지치기와 평가 함수 162
4.4 바둑에서의 몬테카를로 트리 탐색 165
4.4.1 몬테카를로 방법 165
4.4.2 바둑에서의 몬테카를로 방법: 원시 몬테카를로 166
4.4.3 몬테카를로 트리 탐색 170
4.4.4 몬테카를로 트리 탐색의 결과와 최종적인 수 탐색 179
4.4.5 몬테카를로 트리 탐색의 개선 182
4.5 몬테카를로 트리 탐색의 성공 요인과 과제 185
4.5.1 CrazyStone과 Gnu Go 185
4.5.2 단 1줄로 다시 태어난 CrazyStone 186
4.6 정리 188
4.6.1 탐색 188

CHAPTER 5 알파고의 완성 189
5.1 알파고의 설계도 190
5.1.1 알파고의 재료 190
5.1.2 전체를 제어하는 AI 192
5.2 비동기 정책 가치 갱신 몬테카를로 트리 탐색 195
5.2.1 세 가지 정책의 특징 195
5.2.2 비동기 정책 가치 갱신 몬테카를로 트리 탐색 197
5.2.3 APV-MCTS의 선택 처리 200
5.2.4 APV-MCTS의 전개 처리 201
5.2.5 APV-MCTS의 평가 처리 201
5.2.6 APV-MCTS의 갱신 처리 202
5.3 대량 CPU·GPU의 이용 204
5.3.1 대량의 CPU와 GPU에 의한 병렬 탐색 204
5.3.2 로크리스 해시 206
5.3.3 가상 손실 208
5.4 알파고의 강력함 211
5.4.1 몬테카를로 트리 탐색, 밸류 네트워크, 정책 네트워크의 조합 효과 211

CHAPTER 6 알파고에서 알파고 제로로 213
6.1 시작에 앞서 214
6.2 알파고 제로에서의 딥 러닝 216
6.2.1 듀얼 네트워크의 구조 218
6.2.2 듀얼 네트워크의 학습 224
6.2.3 알파고 제로의 딥 러닝 정리 227
6.3 알파고 제로에서의 몬테카를로 트리 탐색 228
6.3.1 알파고 제로의 몬테카를로 트리 탐색 개요 228
6.3.2 몬테카를로 트리 탐색의 플로 차트 230
6.3.3 알파고 제로의 몬테카를로 트리 탐색 정리 233
6.4 알파고 제로에서의 강화 학습 234
6.4.1 알파고 제로의 강화 학습 기법 236
6.4.2 강화 학습의 계산 시간 242
6.4.3 알파고 제로의 강화 학습은 무엇을 하고 있나? 245
6.4.4 강화 학습의 효과 247
6.4.5 알파고 제로의 강화 학습 정리와 그 후의 진전 248
6.5 알파고 제로의 강력함 251
6.6 알파고 제로는 지식 없이 만들 수 있을까? 253
6.7 알파고나 알파고 제로에 약점은 있을까? 255
6.7.1 알파고와 알파고 제로의 약점 가능성 255
6.8 알파고 제로의 향후 미래 257
6.8.1 바둑계의 미래는 어떻게 될까? 257
6.8.2 AI의 과제 258

Appendix 1 수식에 관하여 263
A1.1 콘볼루션 신경망의 학습 법칙 도출 264
A1.1.1 SL 정책 네트워크의 학습 법칙 도출 264
A1.1.2 밸류 네트워크의 학습 법칙 도출 265
A1.1.3 듀얼 네트워크의 손실 함수에 관한 보충 267
A1.2 강화 학습의 학습 법칙 도출 269
A1.2.1 파알고의 RL 정책 네트워크 강화 학습 방법의 학습 법칙 도출 269
A1.2.2 미로를 예로 든 정책 경사법의 학습 법칙 도출 271

Appendix 2 바둑 프로그램용 UI 소프트웨어 GoGui 및 GoGui용 프로그램 DeltaGo 이용 방법 273
A2.1 DeltaGo란? 274
A2.1.1 DeltaGo의 특징 274
A2.2 GoGui의 설치 및 GoGui용 프로그램 DeltaGo 이용 방법 276
A2.2.1 DeltaGo 다운로드와 압축 풀기 276

찾아보기 289

QuickMenu