Lee Sedol vs. AlphaGo [link to live feed]

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
Guenther
Posts: 4610
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Lee Sedol vs. AlphaGo [link to live feed]

Post by Guenther »

wgarvin wrote:
towforce wrote:I awoke early, so I watched most of game 3. I found Michael Redmond's commentary annoying today.

I may be overestimating, but today it seemed as though about 3/4 of the time he was guessing the next player's move wrongly, and then doing variations from a position that the viewer could see was never going to arise because the player had already chosen a different move. Often the move after had already been done, making the analysis even more irrelevant.

At one point, they even had the analysis board position wrong because they had missed a move - and it took them several minutes to discover this.

They need an extra team member to give them a buzz when a move has been made, and a different kind of buzz when the move is different to the one expected.

Having said that, I do appreciate the value of having a 9-dan English speaking commentator, and I do understand that high level board game players do tend to analyse by doing variations.
Just as a counterpoint.. I watched games 2 and 3 live, but I'm not a Go player, and I found his commentary very interesting and useful to be able to even vaguely follow what was going on in the game. I don't think his predictions were as off as you imply--it seemed to me that he called the right move at least half of the time. There were a bunch of times when he predicted the right move immediately, and then spent 1-2 minutes discussing some variation he thought might be interesting, even if it didn't involve that move (e.g. to explain to the audience why an alternate move would be bad and thus unlikely to be played). I'd also say the analysis wasn't "irrelevant" even if the game had moved on beyond that point already (which we could see for ourselves on the stream anyway). He was speaking mostly to an audience of amateur players and non-players, so playing out variations was useful to show us why his instinctive reactions were mostly justified. As a viewer I think that cutting him short mid-sentence to restart on the next position, and then likely cut that one short too, would not have been better.

Since Lee Sedol was in time pressure for a while in the 2nd half of both games 2 and 3, he always moved within 60 seconds and sometimes much less. On several occasions, it was obvious that Chris Garlock had glanced at the actual game position and knew that a move or two had already happened, but did not want to interrupt Michael in the middle of his analysis of how some variation might play out, and I think I preferred that. Sometimes Michael obviously knew a move had happened too, but wanted to finish his explanation before returning to the game position.

Anyway, it was amazing to watch a match of such a high skill level, and without Michael Redmond's commentary it would have been completely inaccessible to me, so I appreciated it quite a lot. :D
I share the same opinion as Garvin and I also watched the last hour live after I woke up too early.
It seems to me evaluation of certain territority cannot be resolved statically or seems to be quite vague until a certain stage.
E.g. it was not clear if White really could maintain the big region on the lower board beneath Blacks little left edge. At least I hoped Sedol could
shrink it with some invasion, but the commentator was sceptical from the beginning and he was right!
Thus it seems something must have gone wrong already in the early middlegame which I did not follow.
The first guess of a counting I saw was a shocking 60:40(very rough count) from the commentator which he at first couldn't believe himself.

I really love to see Go gaining again some media echo in the western hemisphere, IIRC we had some Go 'hype' in the late 80ies/early 90ies
when we had a lot of Go players also in my region, but may be it was just a local phenomenon.
At the time of 1986 I also started with Go and played it quite often but it was impossible for me to play chess and Go at the same time
and reach a level which made me happy. I decided for chess then.
Still it is very appealing to me and aesthetically I know nothing better. (Sound of good stones - the thick board - the feeling of good stones etc.)
kbhearn
Posts: 411
Joined: Thu Dec 30, 2010 4:48 am

Re: Lee Sedol vs. AlphaGo [link to live feed]

Post by kbhearn »

I think in part the pro commentator in the early phases just doesn't want to pronounce judgement on lee sedol's play out of respect. Usually a long while before he's willing to say alphago is winning you can already hear hints from him that he doesn't like the position. It'd be like a commentator second guessing carlsen's play if he didn't have his trusty engine to back him up - kinda scared that he'd end up being wrong.

It's not surprising that crazystone has a sufficiently good evaluation to pick the side that's doing better most of the time - i imagine even weaker go programs would show a similar evaluation trend. I also imagine if you took the position and showed it to professionals and told them they had to pick which side they'd rather play without them knowing who was behind each side most would do the same.

Where i'd expect crazystone would have difficulties is in the early phases where a large portion of the moves are at least plausible and picking good ways to start a fight is very difficult. AlphaGo has done excellently at that it would seem.
matthewlai
Posts: 793
Joined: Sun Aug 03, 2014 4:48 am
Location: London, UK

Re: Lee Sedol vs. AlphaGo [link to live feed]

Post by matthewlai »

bob wrote: The only downside is that Go "patterns" are far simpler than chess. black/white/empty is far easier to pattern-match and train with than the plethora of different piece types that interact in different ways that chess has. So maybe it will work, and maybe it won't. We will get to wait and see.

I've seen good results here on projects that are trying to analyze radar images, or photographs, and such. but how many layers are needed to handle chess? Handle it well? That's an open question.
I believe you are the only person I know who thinks Go patterns are simpler than chess. Do you play Go by any chance?

Yes, input encoding is a bit more complicated for chess, but there are still many ways to map chess positions to smooth feature spaces. I explored one in Giraffe (using piece lists and coordinates instead of bitmaps), and got good results. That took a few hours of thinking to come up with, and anyone skilled in machine learning should have been able to do that as easily. That's really the easy part.

The hard part is finding actual useful patterns on top of your input encoding.

Compared to Go, patterns in chess are trivial.

No one has been able to write a reasonably good Go evaluation function by hand, while we have had reasonable chess evaluation functions for decades already.

In chess, if you have material + pcsq, you already have a quite reasonable evaluation function. There is nothing anywhere near that simple in Go. Patterns are larger, and within those regions, you have to determine if small differences make the pattern invalid or not. Then you have to look at interactions between those patterns on the whole board. Material and pcsq mean absolutely nothing in Go. There is no simple heuristic that gets you 70% of the way there (the way material does in chess).

Machine learning hasn't revolutionized chess yet not because chess is too difficult to learn. The evaluation function in Giraffe is already close to state of the art.

It's because chess is too easy. So easy that even humans can hand-write reasonably good evaluation functions, and handwritten functions are almost always much faster, so they beat learned functions even if learned functions produce a bit better quality values.

It makes a lot of sense to do machine learning in Go because patterns in Go are very difficult. It makes no sense to do machine learning in tic-tac-toe because patterns in tic-tac-toe are very easy. Chess is somewhere in-between.
Disclosure: I work for DeepMind on the AlphaZero project, but everything I say here is personal opinion and does not reflect the views of DeepMind / Alphabet.
Uri Blass
Posts: 10309
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Lee Sedol vs. AlphaGo [link to live feed]

Post by Uri Blass »

matthewlai wrote:
bob wrote: The only downside is that Go "patterns" are far simpler than chess. black/white/empty is far easier to pattern-match and train with than the plethora of different piece types that interact in different ways that chess has. So maybe it will work, and maybe it won't. We will get to wait and see.

I've seen good results here on projects that are trying to analyze radar images, or photographs, and such. but how many layers are needed to handle chess? Handle it well? That's an open question.
I believe you are the only person I know who thinks Go patterns are simpler than chess. Do you play Go by any chance?

Yes, input encoding is a bit more complicated for chess, but there are still many ways to map chess positions to smooth feature spaces. I explored one in Giraffe (using piece lists and coordinates instead of bitmaps), and got good results. That took a few hours of thinking to come up with, and anyone skilled in machine learning should have been able to do that as easily. That's really the easy part.

The hard part is finding actual useful patterns on top of your input encoding.

Compared to Go, patterns in chess are trivial.

No one has been able to write a reasonably good Go evaluation function by hand, while we have had reasonable chess evaluation functions for decades already.

In chess, if you have material + pcsq, you already have a quite reasonable evaluation function. There is nothing anywhere near that simple in Go. Patterns are larger, and within those regions, you have to determine if small differences make the pattern invalid or not. Then you have to look at interactions between those patterns on the whole board. Material and pcsq mean absolutely nothing in Go. There is no simple heuristic that gets you 70% of the way there (the way material does in chess).

Machine learning hasn't revolutionized chess yet not because chess is too difficult to learn. The evaluation function in Giraffe is already close to state of the art.

It's because chess is too easy. So easy that even humans can hand-write reasonably good evaluation functions, and handwritten functions are almost always much faster, so they beat learned functions even if learned functions produce a bit better quality values.

It makes a lot of sense to do machine learning in Go because patterns in Go are very difficult. It makes no sense to do machine learning in tic-tac-toe because patterns in tic-tac-toe are very easy. Chess is somewhere in-between.
Define reasonable evaluation function.
I do not consider piece square table+material as a reasonable evaluation function in chess and I believe that a good evaluation function can beat piece square table+material even with 1,000,000 nodes per move against 100,000,000 nodes per move assuming both programs use the same search rules.
matthewlai
Posts: 793
Joined: Sun Aug 03, 2014 4:48 am
Location: London, UK

Re: Lee Sedol vs. AlphaGo [link to live feed]

Post by matthewlai »

Uri Blass wrote:
matthewlai wrote:
bob wrote: The only downside is that Go "patterns" are far simpler than chess. black/white/empty is far easier to pattern-match and train with than the plethora of different piece types that interact in different ways that chess has. So maybe it will work, and maybe it won't. We will get to wait and see.

I've seen good results here on projects that are trying to analyze radar images, or photographs, and such. but how many layers are needed to handle chess? Handle it well? That's an open question.
I believe you are the only person I know who thinks Go patterns are simpler than chess. Do you play Go by any chance?

Yes, input encoding is a bit more complicated for chess, but there are still many ways to map chess positions to smooth feature spaces. I explored one in Giraffe (using piece lists and coordinates instead of bitmaps), and got good results. That took a few hours of thinking to come up with, and anyone skilled in machine learning should have been able to do that as easily. That's really the easy part.

The hard part is finding actual useful patterns on top of your input encoding.

Compared to Go, patterns in chess are trivial.

No one has been able to write a reasonably good Go evaluation function by hand, while we have had reasonable chess evaluation functions for decades already.

In chess, if you have material + pcsq, you already have a quite reasonable evaluation function. There is nothing anywhere near that simple in Go. Patterns are larger, and within those regions, you have to determine if small differences make the pattern invalid or not. Then you have to look at interactions between those patterns on the whole board. Material and pcsq mean absolutely nothing in Go. There is no simple heuristic that gets you 70% of the way there (the way material does in chess).

Machine learning hasn't revolutionized chess yet not because chess is too difficult to learn. The evaluation function in Giraffe is already close to state of the art.

It's because chess is too easy. So easy that even humans can hand-write reasonably good evaluation functions, and handwritten functions are almost always much faster, so they beat learned functions even if learned functions produce a bit better quality values.

It makes a lot of sense to do machine learning in Go because patterns in Go are very difficult. It makes no sense to do machine learning in tic-tac-toe because patterns in tic-tac-toe are very easy. Chess is somewhere in-between.
Define reasonable evaluation function.
I do not consider piece square table+material as a reasonable evaluation function in chess and I believe that a good evaluation function can beat piece square table+material even with 1,000,000 nodes per move against 100,000,000 nodes per move assuming both programs use the same search rules.
Reasonable as in you can use it to play games and your moves will seem to be reasonable most of the time, to a skilled observer, even if they may not be optimal. In chess that means not leaving pieces hanging, not throwing away pieces, and not play "1. a3", for example.

This is in contrast to Go, where if a program uses a handwritten evaluation function to play, skilled observers will be going "wtf" on pretty much every single move.
Disclosure: I work for DeepMind on the AlphaZero project, but everything I say here is personal opinion and does not reflect the views of DeepMind / Alphabet.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Lee Sedol vs. AlphaGo [link to live feed]

Post by Laskos »

Uri Blass wrote:
Define reasonable evaluation function.
I do not consider piece square table+material as a reasonable evaluation function in chess and I believe that a good evaluation function can beat piece square table+material even with 1,000,000 nodes per move against 100,000,000 nodes per move assuming both programs use the same search rules.
First, I am not sure a factor of 100 in this case is true, maybe it's only 30, second if you have uniform pst and material, the difference between uniform pst + material and reasonable pst + material is even higher. So, pst + material is at least a half of the ELO value of the evaluation function. One doesn't have such trivial factors to add to eval in Go to make up for half the good eval (that of AlphaGo).
Milos
Posts: 4190
Joined: Wed Nov 25, 2009 1:47 am

Re: Lee Sedol vs. AlphaGo [link to live feed]

Post by Milos »

matthewlai wrote:
bob wrote: The only downside is that Go "patterns" are far simpler than chess. black/white/empty is far easier to pattern-match and train with than the plethora of different piece types that interact in different ways that chess has. So maybe it will work, and maybe it won't. We will get to wait and see.

I've seen good results here on projects that are trying to analyze radar images, or photographs, and such. but how many layers are needed to handle chess? Handle it well? That's an open question.
I believe you are the only person I know who thinks Go patterns are simpler than chess. Do you play Go by any chance?

Yes, input encoding is a bit more complicated for chess, but there are still many ways to map chess positions to smooth feature spaces. I explored one in Giraffe (using piece lists and coordinates instead of bitmaps), and got good results. That took a few hours of thinking to come up with, and anyone skilled in machine learning should have been able to do that as easily. That's really the easy part.

The hard part is finding actual useful patterns on top of your input encoding.

Compared to Go, patterns in chess are trivial.

No one has been able to write a reasonably good Go evaluation function by hand, while we have had reasonable chess evaluation functions for decades already.

In chess, if you have material + pcsq, you already have a quite reasonable evaluation function. There is nothing anywhere near that simple in Go. Patterns are larger, and within those regions, you have to determine if small differences make the pattern invalid or not. Then you have to look at interactions between those patterns on the whole board. Material and pcsq mean absolutely nothing in Go. There is no simple heuristic that gets you 70% of the way there (the way material does in chess).

Machine learning hasn't revolutionized chess yet not because chess is too difficult to learn. The evaluation function in Giraffe is already close to state of the art.

It's because chess is too easy. So easy that even humans can hand-write reasonably good evaluation functions, and handwritten functions are almost always much faster, so they beat learned functions even if learned functions produce a bit better quality values.

It makes a lot of sense to do machine learning in Go because patterns in Go are very difficult. It makes no sense to do machine learning in tic-tac-toe because patterns in tic-tac-toe are very easy. Chess is somewhere in-between.
Chess patterns are much simpler but chess is also much simpler game and therefore quality of chess play is for many orders of magnitude higher than quality of go play, or if you like much, much closer to perfection that level of go play.
Yes, you programmed a nice program using pattern recognition in evaluation, but take SF, strip it completely of its evaluation and replace it always with only lazy eval (material, pst and mobility) and it would still destroy your Giraffe. So the question is what is the point of some "advanced" evaluation when it is so inaccurate (and by inaccurate I mean it cannot discern reliably between couple of cp score difference that might make huge difference in selection a winning or losing move) ? How much is a slow down of your program due to calculation of the evaluation function.
I am guessing that if you took Giraffe, strip it completely of its "smart eval", use only material, pst and mobility and some endgame knowledge and pawn structure knowledge (so effectively extremely light evaluation) that it would beat current version of Giraffe comfortably.
So again, what is the purpose of that type of ML evaluation in chess, except as a student exercise? Deepmind is not working on chess not because it is easy, but because they know it's a lost cause. ML based evaluation chess will probably never beat classical approach.
Milos
Posts: 4190
Joined: Wed Nov 25, 2009 1:47 am

Re: Lee Sedol vs. AlphaGo [link to live feed]

Post by Milos »

Uri Blass wrote:Define reasonable evaluation function.
I do not consider piece square table+material as a reasonable evaluation function in chess and I believe that a good evaluation function can beat piece square table+material even with 1,000,000 nodes per move against 100,000,000 nodes per move assuming both programs use the same search rules.
That's because you are thinking as a human chess player and not as a computer chess programmer. You are imagining some "godly" (EGTB like) evaluation function that is actually including search in itself, because as a human you cannot so easily decompose evaluation from search that does actually happen in your brain when you "evaluate" the position. Anything that you as a human "see" on the board and that you cannot clearly formulate as a rule is actually including a search that happens on subconscious level and that ppl like to call ... intuition ;).
Rochester
Posts: 55
Joined: Sat Feb 20, 2016 6:11 am

Re: Lee Sedol vs. AlphaGo [link to live feed]

Post by Rochester »

You also to provet what you say. You always say the negative to people but no show what you can perform.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Lee Sedol vs. AlphaGo [link to live feed]

Post by Laskos »

kbhearn wrote:I think in part the pro commentator in the early phases just doesn't want to pronounce judgement on lee sedol's play out of respect. Usually a long while before he's willing to say alphago is winning you can already hear hints from him that he doesn't like the position. It'd be like a commentator second guessing carlsen's play if he didn't have his trusty engine to back him up - kinda scared that he'd end up being wrong.

It's not surprising that crazystone has a sufficiently good evaluation to pick the side that's doing better most of the time - i imagine even weaker go programs would show a similar evaluation trend. I also imagine if you took the position and showed it to professionals and told them they had to pick which side they'd rather play without them knowing who was behind each side most would do the same.

Where i'd expect crazystone would have difficulties is in the early phases where a large portion of the moves are at least plausible and picking good ways to start a fight is very difficult. AlphaGo has done excellently at that it would seem.
Right, now Kim Myungwan (strong 9p) on AGA channel discusses the slow move 26 f4 of Lee. Crazy Stone sees too a trend from that move on to significant advantage of AlphaGo to move 45 (early midgame). Real-time analysis:
Image
Anyway, pretty happy to have a tool like Crazy Stone that can give oftentimes the correct analysis, although it analyzes players almost 2000 ELO points stronger.

PS
While posting, to move 50 or so, Kim Myungwan says he doesn't like White (Lee) at all.