Tuesday, March 15, 2016

So What Is The Use - Who Cares?

Why It Matters.

I've been going on about Google Deep-Mind and Alpha-Go for the past few days.  Mostly about neural networks and how cool it all is.  I am not a Go player but a few years ago my son and I started playing each other and he quickly started thrashing me.  His 'neural-net' is clearly superior to mine when it comes to The Game of Go.

This week my wife asked why I was so excited about this and why it matters.  So rather than just dismiss the question with an off hand remark like, "Of course it matters!", I instead tried to answer the question in terms that made sense outside the community of computer and math folks.

My analogy, I think, is correct. I also think it goes further but I'm just going to stick to the analogy I made this morning.

Think about music, it is something that almost all of our species enjoys.  You hear a beautiful piece of music and it just takes you away.  Not because you are impressed with the skill it took to compose the music, and not because you are impressed with the skill it took to perform the music but because the music itself is beautiful.  To the composer and to the performer of music the act of composing and the act of performing the music gives great satisfaction, but the listener does not have to know about all that to enjoy the music.

The end result of a computer algorithm has a very similar result.  We really enjoy, rely on, and use every single day the results of computer algorithms.  Composing (programming) a computer algorithm is difficult and tricky and for those who do it is a reward in itself.  And when the result is actually useful it is even better. 

In order to compose and/or perform music in a good manner is very similar to being able to design and build a computer program.  In both cases much practice is required to get to the level where what  you do is satisfying to you and others.  In some cases the music/algorithm represents something completely new and ground breaking.

What is happening in mathematics and computer science these days definitely falls into the category of completely new, ground breaking and astonishing.

The Game-Of-Go can be traced back over 2,500 years.  The rules do not yield a game that can be mastered using a fixed set of plays.  The game is more of dynamic sort of thing where each side attempts to take and control regions of the board so when the board is full his side controls the majority of the board.  The size of the board makes a simple 'look-ahead' strategy untenable there are over 2*10^170 possible legal configurations which is ninety orders of magnitude larger than the number of atoms in the universe.

For these reasons a computer can not explore all possible moves.  A new way of programming had to be applied to enable a computer to play the game.  This new way of playing involved evaluating how likely a move is to be made based on the history of many games combined with chances that the move would lead to a win.  These two ideas combined with an exploration of future moves with the likelihood of the move being made and the value of the move is how the AlphaGo algorithm works.  The algorithm is implemented using something called an artificial neural network.  The neural network contributes to all this by doing self play over and over to make the history and value judgements work better.

It was thought until Alpha-Go was designed and implemented that the Game-Of-Go would resist being played by a computer for at least another ten years.

The team at Google-Deep-Mind would like to create another algorithm that can teach itself the game just using 'self-play' without having to input all the history of the go games.  If this turns out to be possible that new algorithm will mark a true milestone in the path to creating a true Artificial-Intelligence.  And for the Game-Of-Go it could very well expose some new and interesting strategies for playing that particular game.

And the current algorithm represents a very good way to implement an algorithm that has access to lots of history about a certain behavior.