It is currently Sat May 26, 2018 8:46 am

All times are UTC - 8 hours [ DST ]




Post new topic Reply to topic  [ 13 posts ] 
Author Message
Offline
 Post subject: Neural-net-extracted Go problems from pro games
Post #1 Posted: Sun May 20, 2018 4:33 pm 
Lives with ko

Posts: 208
Liked others: 24
Was liked: 144
Rank: maybe 2d
I just finished a new website today that I hope people will find interesting! I trained neural nets to model players of different ranks, and then took a large database of pro games and used them to extract positions when the next move would likely be instinctual for a typical human pro but less instinctual for a typical weaker player.

The result was this collection of Go problems:
https://neuralnetgoproblems.com/

Among other things, it seems to have a high density of "basic shape problems" from local open-space fights. Keep in mind that they are all auto-generated so may not be as clean as typical tsumego, and the ranks are only very approximate. Also feel free to PM me if you're having trouble getting it to load, getting things to work right on all browsers is hard

I'm excited to see what people make of it.

(also posted to reddit r/baduk: https://www.reddit.com/r/baduk/comments ... pro_games/)


This post by lightvector was liked by 10 people: Bill Spight, Calvin Clark, daal, dfan, ez4u, gamesorry, Kirby, Knotwilg, le_4TC, Marcel Grünauer
Top
 Profile  
 
Offline
 Post subject: Re: Neural-net-extracted Go problems from pro games
Post #2 Posted: Sun May 20, 2018 4:49 pm 
Lives in sente

Posts: 1085
Liked others: 477
Was liked: 290
Rank: AGA 4k KGS 4k
GD Posts: 61
KGS: dfan
This is a great idea and I'm excited to try it out!

Top
 Profile  
 
Offline
 Post subject: Re: Neural-net-extracted Go problems from pro games
Post #3 Posted: Sun May 20, 2018 6:04 pm 
Lives in gote

Posts: 475
Location: Vienna, Austria
Liked others: 220
Was liked: 244
That looks really interesting; thank you!

Could you explain a bit about how you accomplished that? Specifically I'm interested in:

- How did you train the network?

- How did you generate the problems?

- How did you assign a rank?

Thank you.

Top
 Profile  
 
Offline
 Post subject: Re: Neural-net-extracted Go problems from pro games
Post #4 Posted: Sun May 20, 2018 7:09 pm 
Judan

Posts: 7814
Liked others: 1393
Was liked: 1225
KGS: Kirby
Tygem: 커비라고해
Marcel Grünauer wrote:
That looks really interesting; thank you!

Could you explain a bit about how you accomplished that? Specifically I'm interested in:

- How did you train the network?

- How did you generate the problems?

- How did you assign a rank?

Thank you.


The about page has a link to his github repo, which has some interesting information:
https://github.com/lightvector/GoNN

_________________
Focus on improving yourself rather than trying to improve others.

Top
 Profile  
 
Offline
 Post subject: Re: Neural-net-extracted Go problems from pro games
Post #5 Posted: Sun May 20, 2018 7:53 pm 
Lives with ko

Posts: 208
Liked others: 24
Was liked: 144
Rank: maybe 2d
Marcel Grünauer wrote:
That looks really interesting; thank you!

Could you explain a bit about how you accomplished that? Specifically I'm interested in:

- How did you train the network?

- How did you generate the problems?

- How did you assign a rank?

Thank you.


I used human pro games plus a lot of games from online servers by different ranks of players. I trained the network by using the architecture similar to the one in the latest commit in my Github that Kirby linked, except I made the neural net slightly bigger and added the rank and server combination as a one-hot-encoded input feature. Except with a dimensionality reduction gadget to force the neural net to embed the 60+ different server/rank combinations into a lower-dimensional space. It mostly did learn a smoothish embedding where nearby ranks were usulaly embedded to nearby points, which was a great sign that it really was learning how differently-ranked players played, since that means it managed to learn which ranks were similar to which other ranks entirely on its own without being told anything about the ordering of the ranks.

Armed with a neural net that "understood" what kinds of moves each rank of player was likely to make in a given position, I then filtered pro games for moves that the neural net thought were clear for pros (the neural net predicted a pro would be very likely to make exactly a specific move, and indeed the pro did make that move) and where the neural net thought they would not so clear for different weaker ranks of players. I had to playtest and iterate on the criteria for filtering quite a bit.

The final nominal ranks that the problem sets are labeled with are only loosely related to the ranks used in the filtering criteria. They were mostly determined by further testing with a few volunteers, along with some by-hand fudging, particularly on the lower end of the scale, which was initially much too hard.


This post by lightvector was liked by: Marcel Grünauer
Top
 Profile  
 
Offline
 Post subject: Re: Neural-net-extracted Go problems from pro games
Post #6 Posted: Mon May 21, 2018 2:14 am 
Oza
User avatar

Posts: 2425
Liked others: 1199
Was liked: 1077
Incredible! Great work!

_________________
Bullying is important because it's a very good measure of your go skill. The more you get bullied the weaker you are. Or to put that another way, the less you can get bullied the more you improve. - John Fairbairn

Top
 Profile  
 
Offline
 Post subject: Re: Neural-net-extracted Go problems from pro games
Post #7 Posted: Tue May 22, 2018 1:33 am 
Beginner

Posts: 11
Liked others: 2
Was liked: 3
Very interesting! Two questions:

1. How many problems are there in your database?

2. How did you determine that a move is "possible/unlikely, might have been the pro move in other situations"?

Top
 Profile  
 
Offline
 Post subject: Re: Neural-net-extracted Go problems from pro games
Post #8 Posted: Tue May 22, 2018 5:28 am 
Lives with ko

Posts: 208
Liked others: 24
Was liked: 144
Rank: maybe 2d
* Around 127000 problems.

* The neural net assigned a nontrivial amount of probability to a typical pro playing those moves, even though they were not the game move and the amount of probability assigned was far less than the game move.


This post by lightvector was liked by: jlt
Top
 Profile  
 
Offline
 Post subject: Re: Neural-net-extracted Go problems from pro games
Post #9 Posted: Wed May 23, 2018 10:13 pm 
Lives in gote

Posts: 317
Liked others: 123
Was liked: 136
Impressive. There seems to be quite the variance for a given level. This showed up as a 3d problem, but if :b1: to :b5: are on the board, I have doubts. (Problem 3d-13598.sgf)

But this is definitely a useful project, and I hope you and your collaborators can take it further. Wasn't the chess.com tactics trainer created by computer analysis? (Pre-neural net engines, I think).


Top
 Profile  
 
Offline
 Post subject: Re: Neural-net-extracted Go problems from pro games
Post #10 Posted: Thu May 24, 2018 4:09 am 
Lives with ko

Posts: 208
Liked others: 24
Was liked: 144
Rank: maybe 2d
That seems to be a case where the neural net is just wrong that the move would be unlikely for a lower-ranked player. I'm not sure I can do much about that, except to train better nets if I were to try to regenerate the problem sets. Neural nets "blunder" too I guess. It does seem to be different between different rotations of the neural net in this specific case. Maybe averaging across rotations would be a thing to try.

I did notice that there was high variance, which is why I labeled it as "Avg difficulty" rather than simply "Difficulty". Although I agree this is a little too much variance.

If I were to make up a reason why in retrospect still having some fraction of easy problems is good, it would be that in a real game, many of the moves *are* easy, so maybe it's good to to keep you on your toes and not always be expecting something non-obvious. ;-)

Edit: Going ahead and trying a problem generation run where I average multiple rotations of the neural net together, to see if it results in some reduction of the frequency of this.


Last edited by lightvector on Thu May 24, 2018 4:52 am, edited 1 time in total.
Top
 Profile  
 
Offline
 Post subject: Re: Neural-net-extracted Go problems from pro games
Post #11 Posted: Thu May 24, 2018 4:48 am 
Lives in sente
User avatar

Posts: 989
Location: Ghent, Belgium
Liked others: 128
Was liked: 397
Rank: Bel 2d KGS 3d TG 4d
KGS: Artevelde
Tygem: Knotwilg
I tried out a few problems at 14k level and 1d level.

First of all, it's a fantastic piece of work! This might just be my new favorite online resource.

One feature that may even improve it is: the level of the problem is a bit of a giveaway to me. In a 14k level problem, I know that we're looking for the basic move. A 1d problem may have a more intricate solution and the first move I think of is probably not the one to play.

Would it be feasible to offer random level problems?


This post by Knotwilg was liked by: lightvector
Top
 Profile  
 
Offline
 Post subject: Re: Neural-net-extracted Go problems from pro games
Post #12 Posted: Thu May 24, 2018 5:09 am 
Lives with ko

Posts: 208
Liked others: 24
Was liked: 144
Rank: maybe 2d
Sure! Hopefully the new problem generation run will be finished by the end of this weekend (it takes a while to complete), and at that point I'll see if it somewhat reduces the incidence of "super-easy" problems in harder sets that Calvin noticed, although surely there will still be plenty of it. But given that I'm trying to do that, seems worth also adding a button that puts all of the problems together in a giant pool, or something like that.

I'll also push a few bugfixes at that time too, as right now you can get into some strange glitched states with mixing clicking on the board and redo after undo. Hopefully it should be up by the end of this weekend, if not, then the first half of next week.

Top
 Profile  
 
Offline
 Post subject: Re: Neural-net-extracted Go problems from pro games
Post #13 Posted: Thu May 24, 2018 5:37 am 
Judan

Posts: 6994
Liked others: 1703
Was liked: 2552
Let me add my voice to the chorus:

Wonderful idea! Great job!

:clap: :clap: :clap:
:salute: :salute: :salute:
:bow: :bow: :bow:

_________________
The Adkins Principle:

At some point, doesn't thinking have to go on?

— Winona Adkins


This post by Bill Spight was liked by: lightvector
Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 13 posts ] 

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group