Live data from Hacker News

Spawkfish: Neural network chess

spawk.fish

21–28 of 28 posts

Re: Spawkfish: Neural network chess

#22
It's pretty weak right now (I'm white) defeated it in less than 30 seconds :

  [Event "Spawkfish game"]
  [Date "2016.03.03"]
  [White "YOU!"]
  [Black "Spawkfish"]
  [Result "1-0"]

  1. e4 e5 2. Nf3 Nc6 3. Bc4 Nf6 4. Nc3 Nxe4
  5. Bxf7+ Kxf7 6. Nxe4 d5 7. Neg5+ Kg8
  8. d4 exd4 9. Nxd4 Nxd4 10. Qxd4 Qe7+
  11. Be3 h6 12. Qxd5+ Qf7 13. Qxf7# 1-0

My 1 min rating on licchess is ~1550 1700, but I can sometimes defeat any players rated 1.8k - 2k at 1 min blitz.

Re: Spawkfish: Neural network chess

#23
post #16

Hello, I'm the creator of spawkfish :) The project is still in pretty early stages, so don't expect it won't take down any strong chess players yet, but I'm hoping that with a bit of effort it will be possible for neural networks to do for chess what they have recently done for Go.

A very interesting project. One remark: although I'm admittedly a poor chess player, I managed easily to get a draw by threefold repetition even though Spawkfish could have avoided that easily (and still destroy me). Am I correct to assume Spawkfish don't take past moves into accounts?

Yes that is correct, and being tricked into draw by repetition is one of his current weaknesses :)

Re: Spawkfish: Neural network chess

#24

Seems very interesting, I really think these approaches will work rather well on a variety of games. Very exciting times. Btw, there is another already Open Source Neural Network Chess engine that might be worth exploring for similar ideas. That codebase already has a minmax search based on the network evaluation. Paper is at: http://arxiv.org/abs/1509.01549 Code is at: https://bitbucket.org/waterreaction/giraffe

Thanks for the tip :) I read this thesis when I started spawkfish, and it's very nice work.

Re: Spawkfish: Neural network chess

#25
post #19

Earlier quoted context omitted.

Thanks! Right now I have just about as close to an "extreme type C" engine as possible. There is a neural network that maps from a board position directly to a ranked list of moves it wants to make., and a little bit of logic on top of that to reject illegal moves. The recognition of wins/draws/losses is actually done in a layer around the engine, which doesn't understand these things yet. One of "tricks" it is vulne…

It would be interesting to see how strength and "human like play" scales with the depth of the search. There's also a really interesting possibility in training policy networks with different attributes by using games from players with certain styles of play.

Training different policies in different styles is a really interesting idea. You could then have a gating process that first chooses the "style" of move to make and then uses the style-specific network to select a move.

I think getting data for this could be difficult though. I wonder how easy it would be to automatically categorize a game record by "style"?

Re: Spawkfish: Neural network chess

#27
post #19

Earlier quoted context omitted.

It would be interesting to see how strength and "human like play" scales with the depth of the search. There's also a really interesting possibility in training policy networks with different attributes by using games from players with certain styles of play.

Training different policies in different styles is a really interesting idea. You could then have a gating process that first chooses the "style" of move to make and then uses the style-specific network to select a move. I think getting data for this could be difficult though. I wonder how easy it would be to automatically categorize a game record by "style"?

I don't know a lot about chess, but I would try picking several prolific players with what seem to you to be different styles, and training a classifier to identify the player, as an experiment in viability.

Re: Spawkfish: Neural network chess

#28
post #19

Earlier quoted context omitted.

It would be interesting to see how strength and "human like play" scales with the depth of the search. There's also a really interesting possibility in training policy networks with different attributes by using games from players with certain styles of play.

Training different policies in different styles is a really interesting idea. You could then have a gating process that first chooses the "style" of move to make and then uses the style-specific network to select a move. I think getting data for this could be difficult though. I wonder how easy it would be to automatically categorize a game record by "style"?

Or, rather than multiple policies, one policy that takes a player vector as an input along with the board position. Players that you predict will make the same move from a given board have their vectors adjusted toward each other and away from a random sample of other player vectors.

If it works, you would be able to perform player vector math ala word2vec. (No idea if it will work)

Post reply on HN