책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 컴퓨터 공학 > 데이터베이스 개론
· ISBN : 9791162243152
· 쪽수 : 444쪽
· 출판일 : 2020-06-01
책 소개
목차
[Part 1 기초]
CHAPTER 1 딥러닝을 향해 - 머신러닝 기초
1.1 머신러닝이란 무엇인가
__1.1.1 머신러닝은 AI와 어떤 연관성이 있는가
__1.1.2 머신러닝으로 할 수 있는 것과 할 수 없는 것
1.2 사례로 보는 머신러닝
__1.2.1 애플리케이션에서 머신러닝 사용
__1.2.2 지도학습
__1.2.3 비지도학습
__1.2.4 강화학습
1.3 딥러닝
1.4 이 책에서 학습할 내용
1.5 요약
CHAPTER 2 머신러닝 문제로서의 바둑
2.1 왜 게임인가
2.2 간단한 바둑 소개
__2.2.1 바둑판 이해하기
__2.2.2 돌 놓기와 잡기
__2.2.3 경기 종료 및 점수 계산
__2.2.4 패 이해하기
2.3 접바둑
2.4 추가 학습 자료
2.5 머신에 무엇을 가르칠 수 있을까
__2.5.1 포석 두기
__2.5.2 다음 수 찾기
__2.5.3 고려할 수 줄이기
__2.5.4 게임 현황 평가하기
2.6 바둑 AI가 얼마나 강력한지 측정하는 방법
__2.6.1 일반 바둑 등급
__2.6.2 바둑 AI 벤치마킹
2.7 요약
CHAPTER 3 첫 번째 바둑봇 만들기
3.1 파이썬으로 바둑 나타내기
__3.1.1 바둑판 구현하기
__3.1.2 바둑에서 연결 추적하기 : 이음
__3.1.3 바둑판에 돌 놓기와 따내기
3.2 대국 현황 기록과 반칙수 확인
__3.2.1 자충수
__3.2.2 패
3.3 게임 종료
3.4 첫 번째 봇 만들기 : 상상 가능한 최약체 바둑 AI
3.5 조브리스트 해싱을 사용한 대국 속도 향상
3.6 봇과 대국하기
3.7 요약
[Part 2 머신러닝과 게임 AI]
CHAPTER 4 트리 탐색을 통한 경기
4.1 게임 분류
4.2 미니맥스 탐색을 사용한 상대 수 예측
4.3 틱택토 풀기 : 미니맥스 예제
4.4 가지치기를 통한 탐색 공간 축소
__4.4.1 위치 평가를 통한 탐색 깊이 축소
__4.4.2 알파-베타 가지치기를 사용해서 탐색 폭 줄이기
4.5 몬테카를로 트리 탐색을 이용한 경기 상태 평가
__4.5.1 파이썬으로 몬테카를로 트리 탐색 구현하기
__4.5.2 탐색할 가지 선택법
__4.5.3 바둑에 몬테카를로 트리 탐색 적용하기
4.6 요약
CHAPTER 5 신경망 시작하기
5.1 간단한 사례 : 손글씨 숫자 분류
__5.1.1 MNIST 숫자 손글씨 데이터셋
__5.1.2 MNIST 데이터 처리
5.2 신경망 기초
__5.2.1 단순한 인공 신경망으로의 로지스틱 회귀
__5.2.2 1차원 이상의 결과를 갖는 신경망
5.3 순방향 신경망
5.4 우리 예측은 얼마나 훌륭한가 : 손실 함수와 최적화
__5.4.1 손실 함수란 무엇인가
__5.4.2 평균제곱오차
__5.4.3 손실 함수에서의 최솟값 찾기
__5.4.4 최솟값을 찾는 경사하강법
__5.4.5 손실 함수에서의 확률적 경사하강법
__5.4.6 신경망에 기울기를 역으로 전파하기
5.5 파이썬을 활용한 단계별 신경망 훈련
__5.5.1 파이썬에서의 신경망층
__5.5.2 신경망에서의 활성화층
__5.5.3 순방향 신경망의 구성 요소로서의 파이썬에서의 밀집층
__5.5.4 파이썬으로 순차 신경망 만들기
__5.5.5 신경망으로 손글씨 숫자 분류하기
5.6 요약
CHAPTER 6 바둑 데이터용 신경망 설계
6.1 신경망용 바둑경기 변환
6.2 트리 탐색 게임을 신경망 훈련 데이터로 만들기
6.3 케라스 딥러닝 라이브러리 사용하기
__6.3.1 케라스 디자인 원리 이해
__6.3.2 케라스 딥러닝 라이브러리 설치
__6.3.3 케라스로 익숙한 첫 번째 문제 실행해보기
__6.3.4 케라스에서 순방향 신경망을 사용한 바둑 수 예측
6.4 합성곱 신경망으로 공간 분석하기
__6.4.1 합성곱 역할에 대한 직관적 이해
__6.4.2 케라스로 합성곱 신경망 만들기
__6.4.3 풀링층을 사용한 공간 감소
6.5 바둑 수 확률 예측하기
__6.5.1 마지막 층에서 소프트맥스 활성화 함수 사용
__6.5.2 분류 문제에서의 교차 엔트로피 손실
6.6 드롭아웃과 정류 선형 유닛을 사용해 더 깊은 신경망 구성
__6.6.1 표준화를 위해 일부 뉴런 제거하기
__6.6.2 ReLU 활성화 함수
6.7 기능 결합을 통해 더 강력한 바둑 수 예측 신경망 만들기
6.8 요약
CHAPTER 7 데이터로부터 학습하기 : 딥러닝 봇
7.1 바둑 대국 기록 가져오기
__7.1.1 SGF 파일 포맷
__7.1.2 KGS에서 바둑 대국 기록을 다운로드해서 재현하기
7.2 딥러닝용 바둑 데이터 준비
__7.2.1 SGF 기록을 사용해서 바둑 대국 재현하기
__7.2.2 바둑 데이터 전처리기 만들기
__7.2.3 데이터를 효율적으로 불러오는 바둑 데이터 생성기 만들기
__7.2.4 바둑 데이터 처리 및 생성기의 병렬 실행
7.3 인간의 대국 기록으로 딥러닝 모델 훈련하기
7.4 더 실질적인 바둑 데이터 변환기 만들기
7.5 적응 경사법을 사용해서 효율적으로 훈련하기
__7.5.1 SGD에서의 붕괴와 모멘텀
__7.5.2 에이다그래드로 신경망 최적화하기
__7.5.3 에이다델타로 적응 경사법 조정하기
7.6 직접 실험하고 성능 평가하기
__7.6.1 모델 구조 및 하이퍼파라미터 검정 지침
__7.6.2 훈련 및 검정 데이터로 성능 지표 평가하기
7.7 요약
CHAPTER 8 맨땅에 봇 배포하기
8.1 심층 신경망으로 수 예측 에이전트 만들기
8.2 바둑봇을 웹 프론트엔드로 제공하기
__8.2.1 바둑봇 예제 처음부터 끝까지 다루기
8.3 클라우드에서 바둑봇 훈련 후 배포하기
8.4 다른 봇과의 대화에 사용할 바둑 텍스트 프로토콜
8.5 로컬에서 다른 봇과 대결하기
__8.5.1 봇이 차례를 넘기거나 기권해야 할 때
__8.5.2 봇과 다른 바둑 프로그램 간 대국 두기
8.6 바둑봇을 온라인 바둑 서버에 배포하기
__8.6.1 온라인 바둑 서버에 봇 등록하기
8.7 요약
CHAPTER 9 체험을 통한 학습 : 강화학습
9.1 강화학습 주기
9.2 경험을 통해 어떻게 달라질까
9.3 학습 가능한 에이전트 만들기
__9.3.1 확률분포에 따른 샘플링
__9.3.2 확률분포 제한
__9.3.3 에이전트 초기화
__9.3.4 물리 장치로부터 에이전트 불러오고 저장하기
__9.3.5 수 선택 구현
9.4 자체 대국 : 컴퓨터 프로그램이 연습하는 방법
__9.4.1 경험 데이터 나타내기
__9.4.2 대국 시뮬레이션
9.5 요약
CHAPTER 10 정책 경사를 사용하는 강화학습
10.1 임의의 경기에서 좋은 결정을 정의하는 방법
10.2 경사하강법을 사용해서 신경망 정책 수정하기
10.3 자체 대국 훈련 팁
__10.3.1 성능 향상 평가하기
__10.3.2 작은 성능 차이 측정하기
__10.3.3 확률적 경사하강(SGD) 최적화기
10.4 요약
CHAPTER 11 가치 기법을 사용하는 강화학습
11.1 Q-학습을 사용한 대국
11.2 케라스로 Q-학습 만들기
__11.2.1 케라스로 입력값이 둘인 신경망 만들기
__11.2.2 케라스로 ε-탐욕 정책 구현하기
__11.2.3 행동-가치 함수 훈련
11.3 요약
CHAPTER 12 행위자-비평가 방식 강화학습
12.1 어느 결정이 중요한지는 어드밴티지가 알려준다
__12.1.1 어드밴티지란 무엇인가
__12.1.2 자체 대국 중에 어드밴티지 구하기
12.2 행위자-비평가 학습용 신경망 설계
12.3 행위자-비평가 에이전트를 사용한 대국
12.4 경험 데이터로 행위자-비평가 에이전트 훈련하기
12.5 요약
[Part 3 전체는 부분의 합보다 크다]
CHAPTER 13 알파고 : 모든 AI 기법의 합작품
13.1 알파고의 신경망 훈련
__13.1.1 알파고의 신경망 구조
__13.1.2 알파고 바둑판 변환기
__13.1.3 알파고 스타일의 정책 신경망 훈련하기
13.2 정책 신경망으로 자체 대국 부트스트래핑
13.3 자체 대국 데이터로 가치 신경망 도출하기
13.4 정책 신경망과 가치 신경망을 사용한 탐색 개선
__13.4.1 신경망으로 몬테카를로 롤아웃 개선하기
__13.4.2 결합 가치 함수를 사용한 트리 탐색
__13.4.3 알파고의 탐색 알고리즘 구현
13.5 각자의 알파고를 훈련할 때 실제로 고민해야 할 부분
13.6 요약
CHAPTER 14 알파고 제로 : 강화학습과 트리 탐색의 결합
14.1 트리 탐색용 신경망 만들기
14.2 신경망으로 트리 탐색 안내하기
__14.2.1 트리 따라 내려가기
__14.2.2 트리 확장
__14.2.3 수 선택
14.3 훈련
14.4 디리클레 잡음을 사용한 탐색 향상
14.5 더 깊은 신경망을 만드는 현대적 기법
__14.5.1 배치 정규화
__14.5.2 잔차 신경망
14.6 추가 참고 자료
14.7 정리
14.8 요약
부록 A 수학 기초
부록 B 역전파 알고리즘
부록 C 바둑 프로그램 및 서버
부록 D 아마존 웹서비스를 사용한 봇 훈련 및 배포
부록 E 온라인 바둑 서버에 봇 등록하기