Live data from Hacker News

Watch an AI bot play Go [video]

facebook.com

41–48 of 48 posts

Re: Watch an AI bot play Go [video]

#41

After a few months of playing ... it's as good as a very strong human player. This is potentially a really big breakthrough if true, as Go is much harder than Chess computationally. Nobody knows about Go in the West though so don't expect any headlines.

I spent several years in Asia and never met someone playing Go, just a few Chinese chess players. Would it really make headlines anywhere?

It's shown on TV in Korea, I believe

Re: Watch an AI bot play Go [video]

#42
post #32

From the short description, it looks like a project from Google about training a deep network to play the game. The resulting bot was quite strong (or at least, quite strong for not using Monte Carlo tree search, at least). Without any more details though, it's hard to tell.

Implementing a Go player using neural networks and reinforcement learning is really fun and taught me a lot about how said techniques work. I only covered the (much easier) 9x9 board, but would recommend it as an exercise to those interested :)

I've had this in my backburner for some time already (I'm actually an avid 9x9 player and have lots of games already available for an initial training, but probably not enough to get a decent player just out of a neural network)

Re: Watch an AI bot play Go [video]

#43
What's interesting to me about this is the visual pattern recognition -- rather than just scaling up a giant Monte-Carlo search, playing like (presumably) humans do, searching for patterns, is very cool.

I was just this weekend going through my go library, and most of the books I have focus on precisely this sort of pattern training. In fact, there's a whole branch of study in go called in Japanese "Tesuji", essentially brilliant moves that come from bad-looking patterns.

The idea is that you lull your opponent into complacency with your bad-looking pattern, then "BAM", a surprise comes out. My guess is that an RNN could be discovering new tesuji, which would be super cool. If the RNN can look ahead deep enough, then I would think that's a path forward against strong players.

There's also the reverse, Anti-suji, essentially things that look brilliant, but are really terrible.

Re: Watch an AI bot play Go [video]

#45
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 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.

Re: Watch an AI bot play Go [video]

#46

Very cool. I wrote a Go playing game for the Apple II which I sold. I have recently become interested, again, in Go programming. I have started setting up a framework for using GnuGo to generate training data for a deep learning network. I am starting with a tiny 7x7 board just to see if the general approach works. If it works (at all) then I will post the entire project to github.

Mark,

You should prototype it in Lisp :-)

Re: Watch an AI bot play Go [video]

#47
post #29

Earlier quoted context omitted.

> Go should just be labeled Gogame in contrast to Golang. At the same time, there's something amusing about the idea that a six year-old programming language should cause a 2000 year old game to change its name.

It's also kind of weird we call it by its (newer) Japanese name instead of weiqi.

Weiqi is the transliteration we've arrived at now, but there have existed variants in the past. The Korean name Baduk is fairly unambiguous.

Re: Watch an AI bot play Go [video]

#48
post #28

Earlier quoted context omitted.

Another easier comparison for anyone not familiar with how good 2:45 marathon is (like me). Right now current programs are around ~2500 ELO in chess, or about the weaker part of most International Grandmaster in chess.

You're right that the comparison won't work for everyone. Here's another: Franz-Josef-Dickhut, currently the 54th strongest player in Europe[1] just won 3-1 against Zen, a top program. He did the same last year against CrazyStone, another top program. There are strong European players, but much fewer than in China, Japan, Korea or Taiwan. So there are thousands, perhaps even ten thousand humans still stronger than th…

Another thing to note is that the professionals that can be beaten with 4 handicap are usually pretty late in their career, and do not play as well as they did when they were in their prime. Much less at the level current pros in their prime play.
Post reply on HN