Skip to content
Back to the collection

Teaching Deep Convolutional Neural Networks to Play Go

Christopher Clark, Amos Storkey

2014 · arXiv

Read the paper
HN score
0
Mentions
7
Readers
5
Months
5
What’s in a score?

From the abstract

Mastering the game of Go has remained a long standing challenge to the field of AI. Modern computer Go systems rely on processing millions 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 abilities rather then brute force computation. Following this sentiment, we train deep convolutional 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 expect to exist in the target function, and demonstrate in an ablation study they considerably improve performance. Our final 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 programs have not yielded strong Go playing programs, we show that the networks trained in this work acquired high levels of skill. Our convolutional neural networks can consistently defeat the well known Go program GNU Go, indicating it is state of the art among programs that do not use Monte Carlo Tree Search. It is also able to win some games against state of the art Go playing program Fuego while using a fraction of the play time. This success at playing Go indicates high level principles of the game were learned.

Metadata: arXiv. Abstracts retain their original authors’ rights.

In the conversation

Original HN comments, with labels from simple text rules. A label describes the whole comment and may miss context or irony. Read the discussion to make up your own mind. About the labels

7 selected excerpts · 7 total mentions

deepnet
Neutral mention · rule
This Facebook Video suggests it has had months of either training or development, which sounds might be it learning by playing, reinforcement learning in this space could be very interesting - more details would be good. The two breakthrough papers using Deep Conv Nets to play Go - trained on Expert Games to predict the Experts Next Move. This is made possible by the huge archives of expert play from online Go servers that have reached Big Data sizes in the last few years. Teaching Deep Convolutional Neural Networks to Play Go - Clark & Storkey Edinburgh Informatics 2015 http://arxiv.org/abs/1412.3409 Move Evaluation in Go Using Deep Convolutional Neural Networks…
Read the full comment
Maddison, Huang, Silver, Sutskever Deepmind 2015 http://arxiv.org/abs/1412.6564 David Silver has work on Reinforcement Learning and Go: Reinforcement Learning of Local Shape in the Game of Go Silver et al 2007. https://scholar.google.co.uk/citations?view_op=view_citation... Go is scored by occupying and surrounding territory and the opponents pieces taken. The current State of the Art programs use Monte Carlo Tree Search with each move being evaluated using random playouts - this is well suited to Go as it reasnoble estimate for comparison of the territory that will result from a move. As the Go search tree branches a lot (~200 branches per play) tree search takes some time and cannot be exhaustive. The Expert Move Predicting Convnets provide very good moves very quickly, and can provide and provide probabilities the expert would move for each square in a single forward pass. Most of the current development now centers around using the Convnets to prune the search trees for the random playout MCTS engines. Go is useful from an AI perspective because it is a huge state space and the patterns are subtle with long term implications. No computer can yet beat the best humans - so it is an area where natural intelligence beats artificial. Yet the convnets are not doing planning, only predicting what an expert human would do next, the planning is implicit in the dataset but not a part of the convnet itself (though the internals of deepnets are mysterious so who knows). The Computer Go mailing list is very lively and full of the best program creators with regular computer tournaments against each other. http://computer-go.org/mailman/listinfo/computer-go The Facebook video shows GnuGo is the opposing player, this is not the best computer player and suggests Facebooks player is not as strong as the Convnets as yet - it also does not detail how deep the playouts of the tree search are, i.e. what level GnuGo is playing at, so this cannot really be compared to recent work. Hopefully Facebook will publish more details soon - if they are learning through play then their results may well be interesting. Remi Coulom's excellent slides detail the Monte Carlo revolution in Go programs. http://www.remi-coulom.fr/JFFoS/JFFoS.pdf AFAIK MCTS with Random playout and hand coded heuristics are still SOTA. When I visited in the summer Edinburgh Uni Informatics Department convnet Go was in active development.
Jun8
Neutral mention · rule
Well, it didn't really teach itself, it was carefully designed and was fed a huge (155M games generated from 5M actual games) data set. Coupled with an semi-supervised approach (rate each position whether the AI playing itself wins or loses). Similar approach yielded strong AIs for go, too (http://arxiv.org/abs/1412.3409), yet nowhere near the IM level for chess. One comment in the article that stuck to me was (and this is central to AI discussions) : "While Deep Blue was searching some 200 million positions per second, Kasparov was probably searching no more than five a second. And yet he played at essentially the same level. Clearly, humans have a trick up their sleeve…
Read the full comment
that computers have yet to master." Deep Blue didn't have anything to master, if he can beat the world champion that was it! A rough analogy would be: A bird can fly by flapping its wings 5 times a second while a Cessna 172's propeller has to make 200 revolutions per minute (numbers made up), so we still have some avian tricks to master. They are two different approaches to a problem! At the time, Deep Blue required a 32-node IBM RS/6000 SP high-performance computer (https://www.research.ibm.com/deepblue/meet/html/d.3.shtml) for its power, now a regular MBP can run an instance of Stockfish that would give a GM a good run for its money. Now, if you can design an AI that can learn a comparably simpler board game, say, Settlers of Catan together with a human (not fed millions of games) and can play with reasonable strategy, that would be a teaching itself how to play.
Retric
Neutral mention · rule
Classification is a huge part of chess programs. You need to quickly evaluate a millions of boards to decide which side has the advantage. However, do to the well understood rules we can write efficient classifiers by hand. Go is a much harder problem in large part because it's really hard to accurately classify which board is better off. Teaching Deep Convolutional Neural Networks to Play Go: "Our convolutional neural networks can consistently defeat the well known Go program GNU Go... It is also able to win some games against state of the art Go playing program Fuego while using a fraction of the play time." http://arxiv.org/abs/1412.3409
lucidrains
Neutral mention · rule
Naveen: http://arxiv.org/pdf/1412.3409.pdf anyways, that's not my point. i'm saying deep learning for image analysis has been a huge success, and people should explore ways to apply this success to medical imaging. but just for your info, neural networks are slowly being generalized to a lot of other challenges. look around for topics on recurrent neural networks, memory networks, reinforcement learning, etc etc. i don't think we've fully finished exploring the many ways neural networks can help solve life's challenges just yet.
kastnerkyle
Neutral mention · rule
The literature is mostly image based, but as other users have said voice, text, and video have also seen substantial gains. It has also been used to great effect for taxi destination prediction (heterogenous information) [1], drug discovery [2], and general operations on graphs [3]. There are also lots of examples beyond classification - structured prediction such as image segmentation [4], predicting depth, surface normals, and pixels from only RGB [5], text to text translation [6], image captioning [7], Turing machines [8], speech synthesis [9], question answering (Q/A) [10][11], handwriting generation [12], playing Go [13], playing Atari [14], speech recognition [15],…
Read the full comment
drawing things [16] and many more. [1] http://blog.kaggle.com/2015/07/27/taxi-trajectory-winners-in... [2] http://blog.kaggle.com/2012/11/01/deep-learning-how-i-did-it... [3] http://arxiv.org/abs/1403.6652 [4] http://arxiv.org/abs/1502.03240 [5] http://arxiv.org/abs/1411.4734 [6] http://arxiv.org/abs/1409.0473 [7] http://arxiv.org/abs/1502.03044 [8] http://arxiv.org/abs/1410.5401 [9] http://arxiv.org/abs/1506.02216 [10] http://arxiv.org/abs/1507.04808 [11] http://arxiv.org/abs/1503.08895 [12] http://arxiv.org/abs/1308.0850 [13] http://arxiv.org/abs/1412.3409 [14] https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf [15] http://www.sciencedirect.com/science/article/pii/S0893608014... [16] https://www.youtube.com/watch?v=Zt-7MI9eKEo
deepnet
Neutral mention · rule
Monte Carlo Tree Search ( Random playout ) is currently the best computer strategy for evaluating a Go position. This is likely due to the way Go works , random playout provides a rough estimate of who controls what territory ( this is how Go is scored ). Recently two deep-learning papers showed very impressive results. http://arxiv.org/abs/1412.3409 http://arxiv.org/abs/1412.6564 The neural networks were tasked with predicting what move an expert would make given a position. The MCTS takes a long time 100,000 playouts are typical - once trained the neural nets are orders of magnitude faster. The neural nets output a probability for each move ( that an expert would make that move ) - all positions are evauluated in a single forward pass. Current work centers around combining the two approaches, MCTS evaluates the best suggestions from the neural net. Expert Human players are still unbeatable by computer Go.
deepnet
Neutral mention · rule
*references Teaching Deep Convolutional Neural Networks to Play Go by Clarke & Storkey http://arxiv.org/abs/1412.3409 Move Evaluation in Go Using Deep Convolutional Neural Networks by Maddison , Huang , Silver & Sutskever http://arxiv.org/abs/1412.6564 Tesauro's TD-Gammon http://webdocs.cs.ualberta.ca/~sutton/book/ebook/node108.htm... Playing Atari with Deep Reinforcement Learning , Mnih et al. https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf Otoro's CNE Bibliography http://blog.otoro.net/2015/01/27/neuroevolution-algorithms/ Neuro Evolution - http://en.wikipedia.org/wiki/Neuroevolution

Keep following the thread.

More in Machine learning

More from the same topics.