Skip to content

AlphaZero

DeepMind's single algorithm that learned chess, shogi and Go from scratch through self-play, given only the rules, and beat the strongest existing programs in each.

Also AlphaGo Zero · MuZero

Fig. / How it works
AlphaZeroAlphaZeroAlphaZeroAlphaZeroMOVESGAME RESULTIT LEARNS FROM GAMES AGAINST ITSELF
Role · kind
Real systemsFamous system
Level
Intermediate

Silver et al., DeepMind, 2017 (Science paper 2018)

Give a learning machine just the rules of chess, no human games, no tips. It plays itself for a few hours and becomes stronger than any chess program built before.

Where it fits

+All relationships as a list

See it on the full map

How it works

AlphaGo learned first from human expert games. Its successors removed the humans: AlphaGo Zero (2017) learned Go from scratch, and AlphaZero (introduced late 2017, full paper in Science in 2018) applied one general algorithm to chess, shogi and Go.

The loop:

  1. One network (a deep residual network) looks at a position and outputs two things: promising moves, and who is likely to win.
  2. Search: Monte Carlo tree search uses the network to explore the most promising lines. The search’s choice is better than the network’s raw suggestion.
  3. Self-play: AlphaZero plays itself using that search.
  4. Learning: the network is trained to predict the search’s move choices and the final result, so it becomes a better guide for the next round of search.

Starting from random play, it passed the world-champion program Stockfish in chess after about four hours of training, according to DeepMind. Its style surprised grandmasters: it readily sacrificed material for long-term activity.

AlphaZero needed the rules to run its search, which is a form of model-based RL with a perfect model. Its successor MuZero learned its own model instead.

Everyday use cases

  • Case 01

    How you've probably met it

    Through its surprising, aggressive chess games that grandmasters studied, and ideas that now shape top chess engines.

Strengths, weaknesses and when to use it

Strengths

  • One general algorithm for several games, learning without any human examples.

Weaknesses

  • Needs a perfect simulator (the rules) and massive compute for self-play.

When to use itAs the canonical example of self-play plus search with a learned network.

Compare with

Go deeper