CHAPTER 1 알파고의 등장
1.1 게임 AI의 역사와 발전
1.1.1 앨런 튜링과 AI
1.2 천재 데미스 하사비스의 등장
1.2.1 신동 데미스 하사비스
1.3 알파고의 활약
1.3.1 알파고의 활약
1.4 바둑 AI의 기초
1.4.1 바둑의 규칙
1.4.2 바둑 AI를 구현한다는 것은 무엇인가?
1.4.3 ‘다음의 한 수’ 태스크
1.4.4 ‘다음의 한 수’ 태스크의 어려운 점
1.4.5 머신 러닝을 이용한 ‘다음의 한 수’ 태스크
1.4.6 알파고의 롤 아웃 정책 학습
1.5 정리
CHAPTER 2 딥 러닝 - 바둑 AI는 순간적으로 수를 떠올린다
이 장에서 설명할 내용
2.1 딥 러닝이란?
2.1.1 AI는 사람의 직관을 실현할 수 있을까?
2.2 필기체 숫자 인식의 예
2.2.1 필기체 숫자 인식이란?
2.2.2 필기체 숫자 인식의 데이터 세트 ‘MNIST’
2.2.3 신경망을 사용한 필기체 숫자 인식
2.2.4 필기체 숫자 인식에 대한 컨볼루션 신경망
2.2.5 다단계의 신경망에서도 유효한 활성화 함수
2.2.6 오류 역전파 방법에 기초한 CNN의 필터 가중치 학습
2.2.7 화상 처리 CNN의 발전
2.3 알파고의 컨볼루션 신경망
2.3.1 알파고의 컨볼루션 신경망
2.3.2 ‘다음의 한 수’ 태스크와 화상 인식의 유사성
2.3.3 바둑의 수를 선택하는 CNN - SL 정책 네트워크
2.3.4 SL 정책 네트워크의 입력 48채널의 특징
2.3.5 SL 정책 네트워크의 컨볼루션 계산 예
2.3.6 SL 정책 네트워크의 계산량
2.3.7 SL 정책 네트워크의 학습용 데이터 획득
2.3.8 SL 정책 네트워크의 학습 기법
2.3.9 SL 정책 네트워크의 학습 결과
2.3.10 국면의 유리 불리를 예측하는 CNN(밸류 네트워크)
2.4 Chainer로 CNN 학습시키기
2.4.1 MNIST의 신경망 학습 부분 작성하기
2.4.2 SL 정책 네트워크의 학습 부분 작성하기
2.5 정리
CHAPTER 3 강화 학습 - 바둑 AI는 경험을 배운다
이 장에서 설명할 내용
3.1 강화 학습이란?
3.1.1 어떻게 경험에서 배울 것인가?
3.2 강화 학습의 역사
3.2.1 강화 학습
3.3 멀티 암드 밴딧 문제
3.3.1 강화 학습의 사례
3.3.2 UCB1 알고리즘
3.4 미로를 풀기 위한 강화 학습
3.4.1 4 × 4칸으로 이루어진 미로
3.4.2 가치 기반의 방식: Q 학습을 통해 미로 해결
3.4.3 정책 기반 방식: 정책 경사법을 통해 미로 해결
3.5 비디오 게임 조작 스킬을 얻기 위한 강화 학습
3.5.1 DQN
3.6 알파고의 강화 학습
3.6.1 알파고의 강화 학습
3.6.2 정책 경사법에 근거하는 강화 학습
3.6.3 RL 정책 네트워크의 성능
3.6.4 밸류 네트워크 학습용의 데이터 작성 기법
3.7 정리와 과제
CHAPTER 4 탐색 - 바둑 AI는 어떻게 예측할까?
이 장에서 설명할 내용
4.1 2인 제로섬 유한 확정 완전 정보 게임
4.1.1 어떻게 수를 예측할까?
4.2 게임에서의 탐색
4.2.1 SL 정책 네트워크
4.3 기존의 게임 트리 탐색(민맥스 트리 탐색)
4.3.1 ‘완전 탐색’의 개념
4.3.2 탐색 포인트 - 가지치기와 평가 함수
4.4 바둑에서의 몬테카를로 트리 탐색
4.4.1 몬테카를로 방법
4.4.2 바둑에서의 몬테카를로 방법: 원시 몬테카를로
4.4.3 몬테카를로 트리 탐색
4.4.4 몬테카를로 트리 탐색의 결과와 최종적인 수 탐색
4.4.5 몬테카를로 트리 탐색의 개선
4.5 몬테카를로 트리 탐색의 성공 요인과 과제
4.5.1 CrazyStone과 Gnu Go
4.5.2 단 1줄로 다시 태어난 CrazyStone
4.6 정리
4.6.1 탐색
CHAPTER 5 알파고의 완성
5.1 알파고의 설계도
5.1.1 알파고의 재료
5.1.2 전체를 제어하는 AI
5.2 비동기 정책 가치 갱신 몬테카를로 트리 탐색
5.2.1 세 가지 정책의 특징
5.2.2 비동기 정책 가치 갱신 몬테카를로 트리 탐색
5.2.3 APV-MCTS의 선택 처리
5.2.4 APV-MCTS의 전개 처리
5.2.5 APV-MCTS의 평가 처리
5.2.6 APV-MCTS의 갱신 처리
5.3 대량 CPU·GPU의 이용
5.3.1 대량의 CPU와 GPU에 의한 병렬 탐색
5.3.2 로크리스 해시
5.3.3 가상 손실
5.4 알파고의 강력함
5.4.1 몬테카를로 트리 탐색, 밸류 네트워크, 정책 네트워크의 조합 효과
CHAPTER 6 알파고에서 알파고 제로로
6.1 시작에 앞서
6.2 알파고 제로에서의 딥 러닝
6.2.1 듀얼 네트워크의 구조
6.2.2 듀얼 네트워크의 학습
6.2.3 알파고 제로의 딥 러닝 정리
6.3 알파고 제로에서의 몬테카를로 트리 탐색
6.3.1 알파고 제로의 몬테카를로 트리 탐색 개요
6.3.2 몬테카를로 트리 탐색의 플로 차트
6.3.3 알파고 제로의 몬테카를로 트리 탐색 정리
6.4 알파고 제로에서의 강화 학습
6.4.1 알파고 제로의 강화 학습 기법
6.4.2 강화 학습의 계산 시간
6.4.3 알파고 제로의 강화 학습은 무엇을 하고 있나?
6.4.4 강화 학습의 효과
6.4.5 알파고 제로의 강화 학습 정리와 그 후의 진전
6.5 알파고 제로의 강력함
6.6 알파고 제로는 지식 없이 만들 수 있을까?
6.7 알파고나 알파고 제로에 약점은 있을까?
6.7.1 알파고와 알파고 제로의 약점 가능성
6.8 알파고 제로의 향후 미래
6.8.1 바둑계의 미래는 어떻게 될까?
6.8.2 AI의 과제
Appendix 1 수식에 관하여
A1.1 콘볼루션 신경망의 학습 법칙 도출
A1.1.1 SL 정책 네트워크의 학습 법칙 도출
A1.1.2 밸류 네트워크의 학습 법칙 도출
A1.1.3 듀얼 네트워크의 손실 함수에 관한 보충
A1.2 강화 학습의 학습 법칙 도출
A1.2.1 파알고의 RL 정책 네트워크 강화 학습 방법의 학습 법칙 도출
A1.2.2 미로를 예로 든 정책 경사법의 학습 법칙 도출
Appendix 2 바둑 프로그램용 UI 소프트웨어 GoGui 및 GoGui용 프로그램 DeltaGo 이용 방법
A2.1 DeltaGo란?
A2.1.1 DeltaGo의 특징
A2.2 GoGui의 설치 및 GoGui용 프로그램 DeltaGo 이용 방법
A2.2.1 DeltaGo 다운로드와 압축 풀기
찾아보기