Join Newsletter
Trusted Business Advisors, Expert Technology Analysts

Taneja Blog

Taneja Blog / Big Data / Data Center Systems

Google Drives a Stake Into The Human Heart? - AlphaGo Beats Human Go Champion

Google's AlphaGo program has just whipped a top human Go playing champion (Lee Sedol - a 9 Dan ranked pro and winner of many top titles) four games to one in a million dollar match. You might shrug if you are not familiar with the subtleties of playing Go at a champion level, but believe me that this is a significant milestone in Machine Learning. Software has long proven to be able to master games whose moves can be calculated out to the end game with enough computing power (like checkers and chess), but Go is (as of yet) not fully computable due to its board size (19x19) and seemingly "intuitive" beginning and even mid-game move options.

While chess was beaten by computer programs years ago (some say "fully computed and/or memorized", many predicted that Go would ultimately withstand automated play at the master level for a long time yet to come. Google (through their acquisition of DeepMind and AlphaGo project) and others however kept at the challenge.  In the end it was a combination of neural nets and a bit of Monte Carlo (maybe why it lost game 4) that demonstrated brilliant and sometimes unpredictable play. (for more on Go complexity see this Go article in the Economist).

(geek out warning and caveat for this paragraph - As I understand it from verbal descriptions from game commentators, instead of computing every possible set of future moves, AlphaGo uses at least two primary neural nets. Neural nets of course learn and recognize complex patterns to the point they might seem "prescient", but do not produce any level of rationale or logical reasoning, nor do they rely on internal simulations of different move possibilities. One net is trained on observed game positions from past games that it has digested (millions of expert games) - given a board position X (possibly localized to some part of the board) it predicts what are the most likely next moves players would make. The other is trained to predict the future value of any given position - what positions lead to winning games? So not brute force simulation or prediction, but really condensed observation and nueronal encapsulation of observed past games. These nets are referenced in combination and in recursive ways and then wrapped inside a bit of Monte Carlo simulation to help prune down the combinatorially exploding future move option space. Both nets are limited in size and complexity by cuurrent computing realities, but Google reports it used some 1920 cores and 280 GPUs during the games - using about as much wall clock time as the human opponent. Supposedly adding more nodes today only brings decreasing returns in computational efficiency, so there are some boundaries here to push in the future.)

Importantly, AlphaGo plays to win, but not to win by large margins. Like Vince Lombardi of Green Bay Packer fame once said, "Winning isn't everything, it's the only thing." One of the AlphaGo developers indicated that AlphaGo makes decisions based solely on increasing it's probability of winning and doesn't really value creating a larger than necessary margin. So it plays close to the victory line, making moves that help ensure it just wins much more than making riskier moves that might lead to larger margins of victory. There is something to learn here for everyone, even if just philosophically.

It is not perfect however, and did lose one game. Lee Sedol won game 4 by playing an unexpected aggressive style and making moves that AlphaGo might not have seen before. Or that was such a rare set of moves that it did not pay attention (some suspect the Monte Carlo simulation of future value might have "randomly" missed the importance of what Lee was up to in this case). But if once in awhile it is caught off guard by a new style of play or unexperienced move/situation, it will just learn to play better next time. It learns with each new game it digests (and yes, it plays itself and learns from those games too).  And obviously a program won't forget or grow too old to remember so it will just get better with age (even if no additional programming is attempted, which is definitely not the case here!).

Maybe you could write this story as a great human feat of engineering - programming a program that can now routinely, and repeatedly beat the best of human Go champions. But a lot of Go playing John Henry's out there are a bit sad this week. One bright side is that Lee has stated he also learned from playing AlphaGo - new moves and I think a realization of how it approaches move decisions to solidify positions just enough to win (vs attempt to go for larger territory margin).  I know that we will all become better Go players having something like AlphaGo to "teach us" back what it has learned.

Why do you care as an IT pro?  Well for one this is Google and Google already offers some of its machine learning wizardry as a service in its cloud.  Second, this is seminal work to help drive our future Internet of Things (including literally driving cars).  We see some machine learning creeping into "intelligent" IT management automation and optimization solutions.  And we will be expected to explain both the advantages and constraints of this technology to our businesses - where it can be applied, just how smart it is, how much effort is required, and what the expected payback might be.  Imagine storage (or whole computing paradigm) that learns what data each application really needs now or what each user might really want next.

What is your next move?

  • Premiered: 03/15/16
  • Author: Mike Matchett
Topic(s): Machine Learning Google Go


There are no comments to display. Scroll down to leave your own!


Leave a Comment

You must be logged in to comment. Click here to log in or register if you don't have an account.