Computers can play Go now


From SSC on the Asilomar AI conference:

[quote]More interesting for the rest of us, AlphaGo is playing moves and styles that all human masters had dismissed as stupid centuries ago. Human champion Ke Jie said that:

After humanity spent thousands of years improving our tactics, computers tell us that humans are completely wrong. I would go as far as to say not a single human has touched the edge of the truth of Go.

A couple of people talked about how the quest for “optimal Go” wasn’t just about one game, but about grading human communities. Here we have this group of brilliant people who have been competing against each other for centuries, gradually refining their techniques. Did they come pretty close to doing as well as merely human minds could manage? Or did non-intellectual factors – politics, conformity, getting trapped at local maxima – cause them to ignore big parts of possibility-space? Right now it’s very preliminarily looking like the latter, which would be a really interesting result – especially if it gets replicated once AIs take over other human fields.

One Go master said that he would have “slapped” a student for playing a strategy AlphaGo won with. Might we one day be able to do a play-by-play of Go history, finding out where human strategists went wrong, which avenues they closed unnecessarily, and what institutions and thought processes were most likely to tend towards the optimal play AlphaGo has determined? If so, maybe we could have have twenty or thirty years to apply the knowledge gained to our own fields before AIs take over those too.[/quote]


There’s some really interesting neural network tricks involved in training where you train the system with all the neurons, then you selectively shut off the input of neurons and force the system to work without, and rotate those around. This is called dropout, and is used to avoid “overfitting” your solution to the problem - sometimes you can come up with a very precise fit for the input data, but given new data the solution will break because it was in effect too precise.

This article says it better than I can:

Dropout is a technique where randomly selected neurons are ignored
during training. They are “dropped-out” randomly. This means that their
contribution to the activation of downstream neurons is temporally
removed on the forward pass and any weight updates are not applied to
the neuron on the backward pass.

As a neural network learns, neuron weights settle into their context
within the network. Weights of neurons are tuned for specific features
providing some specialization. Neighboring neurons become to rely on
this specialization, which if taken too far can result in a fragile
model too specialized to the training data. This reliant on context for a
neuron during training is referred to complex co-adaptations.

You can imagine that if neurons are randomly dropped out of the

network during training, that other neurons will have to step in and
handle the representation required to make predictions for the missing
neurons. This is believed to result in multiple independent internal
representations being learned by the network.

I do wonder if we as humans tend to overfit when we solve problems way too much. I do a bit of machine learning (though I’m not expert, and would not insult one by saying I could hold a candle to them), and often need to remind my boss/peers that while the hypothesis we proved looks good with THIS data set, we need to look at many data sets and make sure we didn’t just get lucky.

AlphaGo has probably looked at far more data than an all of humanity to train it’s best practices, without the premature optimization traps we fall into.


Just as an aside when I played Go I was a 9 kyu. Now who knows? Anyone else ranked?


Well, I did watch Hikaru no Go in its entirety plus reading the manga when the anime finished. Is that considered ranked? Because I sure think so.


American kyu ratings are rather variable. I think I was around 2-kyu at my best long ago, but that was playing hyper-aggressively against a bunch of hyper-aggressive Chinese club players. The moves were so violent it was like sparring, really. In a different club versus a different kind of opponent my effective rating might have been very different. At this late date having not played for years I’m probably closer to 10 kyu.


Not that it’s super relevant to the thread, but this website of a seller of fancy Go boards is kinda cool:


I like to read about machine learning, don’t know much about the inner workings. I’ve heard that it’s very difficult for a network to explain itself. Do you think it will be possible for a student to learn to play Go from a neural network? Obviously just watching it play would be a great training tool, but I wonder if there’s anyway for a neural network to do some “metacognition” – this neuron activated at this turn, due to this and this pattern, etc.


Yeah, as you say, this is not a natural neural network thing to be able to do. There are no explicit “symbols” in most neural networks; knowledge is compiled mathematically and distributed over the network in quantitative form instead of isolated in discrete easily understood locations. Examination of the network’s internal state would not usually be useful or even comprehensible for someone working in the application domain, for example someone learning to play go.

But for a student, watching a program play go should be about as educational as watching a human play go, with the proviso that the current victorious system sometimes plays surprising moves that are hard to categorize or generalize from.


It was recently announced that AlphaGo will be playing some more games against the cream of the human crop:

AlphaGo vs. Ke Jie (the headline match, computer #1 against human #1): three games, May 23, 25, and 27
AlphaGo vs. Five Human Pros: one game, May 24
AlphaGo and Gu Li vs. AlphaGo and Lian Xiano (cyborg go): one game, May 26.

I hope to rope my local go expert in to do a little bit of live commentary, although we may not do as much as last time. (Shanghai time is pretty hard on the US East Coast.)


Missed this originally. Fascinating stuff.


Here is a fascinating article about AI. One of the interesting things about the AI is that it doesn’t have the human memory and is creating new paths that people have dismissed for centuries.

This upending of received wisdom has, at least initially, left human players profoundly shaken. “After humanity spent thousands of years improving our tactics, computers tell us that humans are completely wrong,” the reigning world champion, Ke Jie, wrote on the Chinese social media site Weibo after losing to DeepMind’s latest Go-playing AI. “I would go as far as to say not a single human has touched the edge of the truth of Go.”

and then they turned it loose on energy consumption in the data center:

In 2016, Google used DeepMind to reduce the amount of energy required to cool its massive data centers by 40 percent. Google engineers were stunned the software could achieve this savings. But Hassabis tells me that they were even more flummoxed by how the AI had done it. The rule of thumb was that the most energy efficient way to cool a building was to run as few systems as possible, maxing out each one before bringing additional units online. But the AI didn’t do this. Instead, it turned on almost all the cooling systems simultaneously, but ran them at lower power levels, balancing the heat load across almost all of them.


Paging Nick Bostrum!


At last, DeepMind has found its true purpose - generating meme fodder!