Book description
Deep Learning and the Game of Go teaches you how to apply the power of deep learning to complex reasoning tasks by building a Go-playing AI. After exposing you to the foundations of machine and deep learning, you'll use Python to build a bot and then teach it the rules of the game.
About the Technology
The ancient strategy game of Go is an incredible case study for AI. In 2016, a deep learning–based system shocked the Go world by defeating a world champion. Shortly after that, the upgraded AlphaGo Zero crushed the original bot by using deep reinforcement learning to master the game. Now, you can learn those same deep learning techniques by building your own Go bot!
About the Book
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 Authors
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.
We interviewed Kevin as a part of our Six Questions series. Check it out here.
Quotes
Using the game of Go as a way to teach machine learning is inspired and inspiring. Highly recommended!
- Burk Hufnagel, Daugherty Business Solutions
Brilliant introduction to the most exciting technology of our time.
- Helmut Hauschild, HSEC
Great Pythonic code that is a pleasure to read.
- Domingo Salazar, AstraZeneca
Table of contents
- Copyright
- Brief Table of Contents
- Table of Contents
- Foreword
- Preface
- Acknowledgments
- About this book
- About the authors
- About the cover illustration
- Part 1. Foundations
-
Part 2. Machine learning and game AI
- Chapter 4. Playing games with tree search
- Chapter 5. Getting started with neural networks
-
Chapter 6. Designing a neural network for Go data
- 6.1. Encoding a Go game position for neural networks
- 6.2. Generating tree-search games as network training data
- 6.3. Using the Keras deep-learning library
- 6.4. Analyzing space with convolutional networks
- 6.5. Predicting Go move probabilities
- 6.6. Building deeper networks with dropout and rectified linear units
- 6.7. Putting it all together for a stronger Go move-prediction network
- 6.8. Summary
-
Chapter 7. Learning from data: a deep-learning bot
- 7.1. Importing Go game records
- 7.2. Preparing Go data for deep learning
- 7.3. Training a deep-learning model on human game-play data
- 7.4. Building more-realistic Go data encoders
- 7.5. Training efficiently with adaptive gradients
- 7.6. Running your own experiments and evaluating performance
- 7.7. Summary
-
Chapter 8. Deploying bots in the wild
- 8.1. Creating a move-prediction agent from a deep neural network
- 8.2. Serving your Go bot to a web frontend
- 8.3. Training and deploying a Go bot in the cloud
- 8.4. Talking to other bots: the Go Text Protocol
- 8.5. Competing against other bots locally
- 8.6. Deploying a Go bot to an online Go server
- 8.7. Summary
- Chapter 9. Learning by practice: reinforcement learning
- Chapter 10. Reinforcement learning with policy gradients
- Chapter 11. Reinforcement learning with value methods
- Chapter 12. Reinforcement learning with actor-critic methods
-
Part 3. Greater than the sum of its parts
- Chapter 13. AlphaGo: Bringing it all together
-
Chapter 14. AlphaGo Zero: Integrating tree search with reinforcement learning
- 14.1. Building a neural network for tree search
- 14.2. Guiding tree search with a neural network
- 14.3. Training
- 14.4. Improving exploration with Dirichlet noise
- 14.5. Modern techniques for deeper neural networks
- 14.6. Exploring additional resources
- 14.7. Wrapping up
- 14.8. Summary
- Vectors, matrices, and beyond: a linear algebra primer
- Rank 3 tensors
- Calculus in five minutes: derivatives and finding maxima
- A bit of notation
- The backpropagation algorithm for feed-forward networks
- Backpropagation for sequential neural networks
- Backpropagation for neural networks in general
- Computational challenges with backpropagation
- Go programs
- Go servers
- Model training on AWS
- Hosting a bot on AWS over HTTP
- Registering and activating your bot at OGS
- Testing your OGS bot locally
- Deploying your OGS bot on AWS
- Appendix A. Mathematical foundations
- Appendix B. The backpropagation algorithm
- Appendix C. Go programs and servers
- Appendix D. Training and deploying bots by using Amazon Web Services
- Appendix E. Submitting a bot to the Online Go Server
- Index
- List of Figures
- List of Tables
- List of Listings
Product information
- Title: Deep Learning and the Game of Go
- Author(s):
- Release date: January 2019
- Publisher(s): Manning Publications
- ISBN: 9781617295324
You might also like
book
Deep Learning
Ever since computers began beating us at chess, they've been getting better at a wide range …
book
Deep Learning from Scratch
With the resurgence of neural networks in the 2010s, deep learning has become essential for machine …
book
Deep Learning with PyTorch
Every other day we hear about new ways to put deep learning to good use: improved …
book
Generative Deep Learning
Generative modeling is one of the hottest topics in AI. It’s now possible to teach a …