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.
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.
That seems to make sense for being trained by a NN, still impressive how well it was able to spot concrete threats! Thank you for sharing.
(My elo is 2150ish)
I've noticed it making quite a few errors like the one you mention. I think that a little bit of search (say just one or two ply) will help a lot with avoiding this kind of mistake, because the network seems very good at recognizing when a piece is in trouble if you show it the position.
1) Is it open source? Link to github?
2) Is the architecture similar to the go engine?
3) is there an alpha-beta pruning search tree at the core? If so, is that part from an exising engine?
4) do you have an estimate of its elo rating?
5) are you training or have you trained on available data sets? Are you training on user games? Are opening and closing libraries used?
2) The Go engine has a lot of pieces I don't have yet. What I have is similar to the policy network from the Go engine, but right now I don't have anything like the value network or the rollout parts. Also,
3) The current engine has no search at all. Behind the scenes the network ranks all of the moves, and then I walk down the list and choose the highest ranked legal move. The top ranked move is almost always valid, but occasionally one or two need to be rejected. It's very very rare to need to search outside of the top 5.
Search is definitely on the agenda, but I am pleasantly surprised at how well it plays without it.
4) Not yet :)
5) I'm using kingbase for training data (http://www.kingbase-chess.net/)
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?