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
Tip the Site
Support this siteYour recognition and a small knowledge-service contribution help keep this technical work open source.Scan the WeChat Pay or Alipay code below. Logged-in and guest visitors can both tip.
WeChat Pay
Alipay
Open WeChat or Alipay and scan. No login required.
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...
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...
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...
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...
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...
,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...
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...
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...
Support this siteYour recognition and a small knowledge-service contribution help keep this technical work open source.
Scan the WeChat Pay or Alipay code below. Logged-in and guest visitors can both tip.
WeChat PayAlipay
Open WeChat or Alipay and scan. No login required.
Add Tag
Enter tag name (max 50 characters)
Share E-Book
Deep Learning and the Game of Go (Max Pumperla, Kevin Ferguson)(Z-Library)
Scan QR code with your phone to access
Copy the link or scan the QR code to access this e-book on your phone
Share E-Book via Email
Please enter email address
Donation Statistics
¥.00
Total Donations
0
Donation Count
Deep Learning and the Game of Go (Max Pumperla, Kevin Ferguson)(Z-Library)
Find Your Favorite Books
Only registered users can comment after logging in. Comments need to be reviewed by administrators before being displayed
Loading comments...
Reply to Comment
Edit Comment