이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
[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 첫 번째 봇 만들기 : 상상 가능한 최약체 바둑 AI3.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 온라인 바둑 서버에 봇 등록하기
|
Max Pumperla
막스 펌펄라의 다른 상품
권정민의 다른 상품
|
★ 딥러닝 바둑봇을 만들며 딮러닝을 깊게 이해하자이 책을 덮을 때쯤 알파고 형태의 바둑 엔진이 어떻게 구현되었는지 이해하게 될 뿐만 아니라 몬테카를로 트리 탐색, 딥러닝, 강화학습 같은 현대 AI 알고리즘의 주요 구성 요소를 매우 실질적으로 이해할 수 있게 될 것이다. 저자는 실제로 돌려볼 수 있는 흥미로운 바둑 예제를 사용해서 이런 기술 주제를 조심스럽게 연결해두었다. 그외에도 지금까지 발명된 세상 모든 게임 중 가장 아름답고 도전적인 바둑의 기초 지식도 배우게 될 것이다.★ 알파고 동작하는 딥러닝 바둑봇을 만들고 배포하라실제로 작동하는 파이썬 코드도 제시하고, 개념 설명도 훌륭하다. 책 내용을 익히면 바둑봇 직접 구현할 수 있도록 안내한다. 바둑봇이 작동하는 데 필요한 데이터 포맷, 배포, 클라우드 컴퓨팅 같은 주제도 자세히 다룬다. 온라인 바둑 서버에 봇을 등록하는 방법도 알려준다. 한 마디로 이 책은 현대 인공지능과 머신러닝을 장착한 바둑봇을 만드는 전 과정을 알려준다.★ 다루는 핵심 내용1. 스스로 학습하는 게임 AI를 만들고 훈련하기2. 고전 게임 AI를 딥러닝으로 개선하기3. 딥러닝에 사용하는 신경망을 구현하기★ 장별 요약[1부 기초]책의 나머지 부분에서 다루는 주요 개념을 소개한다._1장 딥러닝을 향해 - 머신러닝 기초, 인공지능, 머신러닝, 딥러닝의 고차원적인 개요를 가볍게 제시한다. 이들이 어떻게 서로 연관되어 있는지, 그리고 이 분야의 기술로 할 수 있는 것과 없는 것을 설명한다._2장 머신러닝 문제로서의 바둑바둑의 규칙을 소개하고 컴퓨터에 게임을 가르칠 때 무엇을 해야 하는지 설명한다._3장 첫 번째 바둑봇 만들기바둑판을 만들고, 그 위에 바둑돌을 놓고, 풀게임을 하는 부분까지 파이썬으로 구현한다. 이 장을 마치면 가장 단순한 바둑 AI가 실제로 작동하게 만들 수 있다.[2부 머신러닝과 게임 AI]강력한 바둑 AI를 만들 수 있는 기술적, 이론적 기반을 설명한다. 특히 알파고에서 매우 효과적으로 사용한 트리 탐색, 신경망, 강화학습의 세 가지 기법을 소개한다._4장 트리 탐색을 통한 경기경기의 각 차례에서 탐색과 평가를 하는 알고리즘을 전반적으로 설명한다. 단순한 무작위 대입 미니맥스 탐색 방식을 만드는 것부터 시작해서 알파-베타 가지치기, 몬테카를로 탐색 같은 고급 알고리즘까지 만들어본다._5장 신경망 시작하기인공 신경망을 실질적으로 소개한다. 손으로 쓴 숫자를 맞추는 신경망을 파이썬으로 처음부터 구현해볼 것이다._6장 바둑 데이터용 신경망 설계바둑 데이터가 이미지 데이터와 어떤 유사한 특징을 가지고 있는지 설명하고 수 예측을 위한 합성곱 신경망을 소개한다. 이 장에서는 모델을 만드는 데 유용한 딥러닝 라이브러리인 케라스를 사용한다._7장 데이터로부터 학습하기 : 딥러닝 봇앞의 두 장에서 얻은 지식을 사용해서 심층 신경망 바둑봇을 만든다. 아마추어 게임에서 가져온 실제 경기 데이터로 봇을 훈련시키고 이 방법의 한계를 지적한다._8장 맨땅에 봇 배포하기봇을 외부에 제공해서 사용자 인터페이스를 통해 사람이 봇과 경기를 할 수 있도록 할 것이다. 이때 봇이 로컬과 바둑 서버 두 곳에서 다른 봇과 어떻게 경기를 하게 만드는지도 배울 것이다._9장 체험을 통한 학습 : 강화학습강화학습 기초와 이를 바둑에서 혼자 경기를 하는 데 어떻게 사용할 수 있는지 알아본다._10장 정책 경사를 사용하는 강화학습7장의 수 예측을 개선하는 데 필수적인 방법인 정책 경사(policy gradients)를 차근차근 소개한다._11장 가치 기법을 사용하는 강화학습4장의 트리 탐색과 결합했을 때 매우 강력해지는 수단인 가치 기법(value method)을 사용해서 바둑판에서의 위치에 값을 매기는 방법을 살펴본다._12장 행위자-비평가 방식 강화학습바둑판에서의 위치와 다음 수가 주어졌을 때의 장기적인 가치를 예측함으로써 다음 수를 효과적으로 고를 수 있도록 하는 기법을 소개한다.[3부 전체는 부분의 합보다 크다]앞서 개발한 모든 구성 요소를 알파고처럼 애플리케이션으로 합치면 그 성능이 최고에 달한다. 알파고와 알파고 제로를 설명한다_13장 알파고 : 모든 AI 기법의 합작품기술적 및 수학적으로 이 책의 최고점이라고 할 수 있다. 이 장에서는 처음에는 신경망으로 바둑 데이터를 훈련하고(5~7장) 이를 통해 혼자 경기를 치르게 하고(8~11장) 여기에 똑똑한 트리 탐색 방식(4장)을 결합하여 초인 수준의 바둑봇을 만드는 방법을 논의한다._14장 알파고 제로 : 강화학습과 트리 탐색의 결합이 책의 마지막 장으로, 보드게임 AI의 현재 최신 동향을 다룬다. 알파고 제로의 동력인 트리 탐색과 강화학습의 혁신적인 조합을 자세히 살펴볼 것이다.[부록 A 수학 기초]선형대수학과 미적분학의 기초를 되짚어보고, 파이썬 라이브러리인 NumPy로 몇 가지 선형대수를 나타내는 방법을 보여준다.[부록 B 역전파 알고리즘]5장에서 사용했던 다수의 신경망에서의 학습 과정을 보다 수학적으로 자세히 설명한다.[부록 C 바둑 프로그램 및 서버]바둑을 더 알고자 하는 독자를 위한 추가 자료를 제공한다.[부록 D 아마존 웹서비스를 사용한 봇 훈련 및 배포]봇을 아마존 클라우드 서버에서 동작하게 하기 위한 내용을 안내한다.[부록 E 온라인 바둑 서버에 봇 등록하기]우리가 만든 봇을 전 세계의 바둑 선수들이 시험해볼 수 있도록 유명한 바둑 서버에 연결하는 방법을 설명한다.
|