Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: Max Pumperla, Kevin Ferguson

Rating No ratings yet

Deep Learning and the Game of Go introduces deep learning by teaching you to build a Go-winning bot. As you progress, you’ll apply increasingly complex training techniques and strategies using the Python deep learning library Keras. You’ll enjoy watching your bot master the game of Go, and along the way, you’ll discover how to apply your new deep learning skills to a wide range of other scenarios! What's inside • Build and teach a self-improving game AI • Enhance classical game AI systems with deep learning • Implement neural networks for deep learning About the reader All you need are basic Python skills and high school–level math. No deep learning experience required. About the author Max Pumperla and Kevin Ferguson are experienced deep learning specialists skilled in distributed systems and data science. Together, Max and Kevin built the open source bot BetaGo.

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
【One-Line Pitch】 A hands-on guide that teaches deep learning by having you build a Go-playing bot from scratch, progressing from board representation to AlphaGo-style reinforcement learning. Best for Python programmers with basic math who want a concrete, motivating project to learn neural networks, search, and reinforcement learning. 【Book Arc】 - **Opening (~0%–10%)**: Frames the project and the field—why Go resisted classical AI, what machine learning is (and isn't), and how supervised, unsupervised, and reinforcement learning differ. Sets up the Python/NumPy/Keras/TensorFlow toolchain you'll use throughout. - **Early (~10%–32%)**: Builds the foundation in two tracks: the rules and mechanics of Go (captures, ko, komi, handicaps) and a working Python board implementation with legal-move logic, plus your first self-playing bot. - **Middle (~32%–48%)**: Introduces classical game AI—minimax search, game trees, depth pruning, and Monte Carlo Tree Search—including the exploitation-exploration trade-off that later powers the deep-learning bots. - **Late (~48%–70%)**: Turns to deep learning proper: a first neural network on MNIST, then move-probability prediction with softmax and cross-entropy, deeper networks with dropout and ReLU, and training on real human game records (SGF/KGS) with adaptive gradient methods. - **Ending (~70%–100%)**: Assembles the pieces into a deployable bot (web frontend, agents), then scales up to AlphaGo and AlphaGo Zero—combining neural networks with MCTS and self-play reinforcement learning—plus appendices on math, backpropagation, and deploying/submitting bots. 【Key Takeaways】 - **Go is the motivating case study, not the whole point** (Opening): the techniques—search, neural networks, reinforcement learning—transfer to other domains, and the book repeatedly flags this. - **A clean board abstraction comes first** (Early): representing points, strings, liberties, and legal moves is the unglamorous but essential substrate every later bot depends on. - **Classical search is the bridge to modern AI** (Middle): minimax and MCTS teach you to reason about game trees and the exploration-exploitation trade-off before neural networks enter. - **Move prediction is a classification problem** (Late): softmax outputs and cross-entropy loss turn "which move?" into something a network can learn from human records. - **Deeper isn't automatically better** (Late): dropout and ReLU are presented as practical tools for regularizing and training deeper networks effectively. - **Data engineering matters as much as modeling** (Late): importing SGF records, replaying games, and building efficient data generators are treated as first-class skills. - **Adaptive optimizers reduce tuning pain** (Late): momentum, Adagrad, and Adadelta are introduced as ways to train efficiently without hand-tuning learning rates. - **Self-play closes the loop** (Ending): AlphaGo Zero's reinforcement-learning approach removes the need for human data, connecting everything you built into a self-improving system. 【Reading Tips】 - **Deep-read the Early board implementation** even if you find Go rules tedious—later chapters assume you understand strings, liberties, and legal-move encoding. - **Skim the Go-rules chapter if you already play**; return to the ko and handicap discussions only when a bot behaves oddly. - **Treat the Middle search chapters as conceptual anchors**: the exploitation-exploration idea recurs in the AlphaGo chapters, so don't rush past it. - **Run the code as you go**, especially the data-processing and training chapters—the book is project-driven, and reading passively loses most of the value. - **Use the appendices as reference**, not front-to-back reading; dip into the math and backpropagation material when a chapter's notation gets dense. 【Coverage Limits】 These excerpts cover the book's structure, opening framing, early Go implementation, mid-book search, and late deep-learning chapters, but do not include the full text of the AlphaGo/AlphaGo Zero chapters or the appendices. Specific code details, figures, and later-chapter arguments are summarized from partial material.
Page 14
processor 154 ■ Building a Go data generator to load data efficiently 161 ■ Parallel Go data processing and generators 163 7.3 Training a deep-learning model...
View in text
Excerpt 2
s to the type of model you use, you can apply deep learning to any of the major machine-learning branches. For example, you can do supervised learning with a...
View in text
Excerpt 3
nt is else: on the off_board_corners += 1 edge or if off_board_corners > 0: corner . return off_board_corners + friendly_corners == 4 return friendly_corners...
View in text
Excerpt 4
ite’s point of view 0 +1 Depth 2 Black to move … 0 0 0 –1 … Score from black’s point of view 0 0 Figure 4.9 A partial Go game tree. Here you search the tree...
View in text
Excerpt 5
he loss, you need to compute its derivative and set it to 0. We call the set of parameters at this point a solution. Com- puting the derivative of a function...
View in text
Excerpt 6
,000 training samples and 10,000 test samples, convert them to the float type, and then normalize input data by dividing by 255. This is done because the pix...
View in text
Excerpt 7
f three, you also cut the number of weights. This means the credit for the improvement must go to the structure of your new model, not just its size. Importi...
View in text
Excerpt 8
ed in listing 7.2, so this code should feel familiar to you. process_zip uses two helper methods that you’ll implement next. The first one is num_total_examp...
View in text
Tags
AI categories
Artificial IntelligenceGoDeep Learning
ISBN: 1617295329
Publish Year: 2019
Language: English
Pages: 384
File Format: PDF
File Size: 9.4 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…