Training Deep Convolutional Neural Networks to Play Go
Christopher Clark CHRISC@ALLENAI.ORG
Allen Institute for Artificial Intelligence
∗
, 2157 N Northlake Way Suite 110, Seattle, WA 98103, USA
Amos Storkey A.STORKEY@ED.AC.UK
School of Informatics, University of Edinburgh, 10 Crichton Street, Edinburgh, EH9 1DG, United Kingdom
Abstract
Mastering the game of Go has remained a long-
standing challenge to the field of AI. Modern
computer Go programs rely on processing mil-
lions of possible future positions to play well,
but intuitively a stronger and more ‘humanlike’
way to play the game would be to rely on pattern
recognition rather than brute force computation.
Following this sentiment, we train deep convo-
lutional neural networks to play Go by training
them to predict the moves made by expert Go
players. To solve this problem we introduce a
number of novel techniques, including a method
of tying weights in the network to ‘hard code’
symmetries that are expected to exist in the target
function, and demonstrate in an ablation study
they considerably improve performance. Our fi-
nal networks are able to achieve move prediction
accuracies of 41.1% and 44.4% on two different
Go datasets, surpassing previous state of the art
on this task by significant margins. Additionally,
while previous move prediction systems have not
yielded strong Go playing programs, we show
that the networks trained in this work acquired
high levels of skill. Our convolutional neural net-
works can consistently defeat the well known Go
program GNU Go and win some games against
state of the art Go playing program Fuego while
using a fraction of the play time.
1. Introduction
Go is an ancient, deeply strategic board game that is notable
for being one of the few board games where human experts
are still comfortably ahead of computer programs in terms
of skill. Predicting the moves made by expert players is
∗
Work completed at the University of Edinburgh
Proceedings of the 32
nd
International Conference on Machine
Learning, Lille, France, 2015. JMLR: W&CP volume 37. Copy-
right 2015 by the author(s).
an interesting and challenging machine learning task, and
has immediate applications to computer Go. In this section
we provide a brief overview of Go, previous work, and the
motivation for our deep learning based approach.
1.1. The Game of Go
Figure 1. Capturing pieces in Go. Here white’s stones in the upper
left are connected to each other through adjacency so they form a
single group (left panel). When black places a stone on the indi-
cated grid point (middle panel) that group is surrounded, meaning
there are no longer any empty grid points adjacent to it, so the
entire group is removed from the board (right panel).
Figure 2. Example of positions from a game of Go after 50 moves
have passed (left) and after 200 moves have passed (right). In the
right panel it can be seen that white is gaining control of territory
in the center and top of the board, while black is gaining influence
over the left and right edges.
We give a very brief introduction to the rules of Go. We de-
fer to (Bozulich, 1992) or (M
¨
uller, 2002) for a more com-
prehensive account of the rules. Go has a number of differ-
ent rulesets that subtly differ as to when moves are illegal
and how the game is scored, here we focus on generalities