News for hackers. Stuff that matters.
Re:Building an AlphaZero AI using Python and Keras by glinscott on Friday January 26, 2018 @12:28PM (#16240983)
There is a public distributed effort happening for Go right now: http://zero.sjeng.org/. They've been doing a fantastic job, and just recently fixed a big training bug that has resulted in a large strength increase.

I ported over from GCP's Go implementation to chess: https://github.com/glinscott/leela-chess. The distributed part isn't ready to go yet, we are still working the bugs out using supervised training, but will be launching soon!

Re:Building an AlphaZero AI using Python and Keras by grondilu on Friday January 26, 2018 @02:05PM (#16241949)
Regarding supervised learning, what data do you use? Would it make sense to use endgame tablebases[1]?

1. https://en.wikipedia.org/wiki/Endgame_tablebase

Re:Building an AlphaZero AI using Python and Keras by glinscott on Friday January 26, 2018 @04:40PM (#16243114)
We are using data from both human grandmaster games and self-play games of a recent Stockfish version. Both have resulted in networks that play reasonable openings, but we had some issues with the value head not understanding good positions. We think we have a line on why this is happening (too few weights in the final stage of the network), but this is exactly the purpose of the supervised learning debugging phase :).
Re:Building an AlphaZero AI using Python and Keras by iandanforth on Friday January 26, 2018 @04:54PM (#16243205)
This is really cool! The chart on that page makes it look like Leela Zero is already much much better than AlphaZero (~7400 Elo vs ~5200 Elo). I suspect I'm misinterpreting something though, could you clarify?
Re:Building an AlphaZero AI using Python and Keras by tux3 on Friday January 26, 2018 @05:36PM (#16243478)
Leela Zero's ELO graph assumes that 0 ELO is completely random play, as a simple reference point. On the other hand Alphago uses the more common ELO scale where 0 is roughly equivalent to a beginner who knows the rules, so you can't directly compare the two.
Re:Building an AlphaZero AI using Python and Keras by NelsonMinar on Friday January 26, 2018 @02:11PM (#16241999)
I've been having fun following along with Leela Zero, it's a great way to understand how a project like this goes at significant scale. Good luck with Leela Chess, I'm excited for it!
Re:Building an AlphaZero AI using Python and Keras by yazr on Friday January 26, 2018 @02:18PM (#16242059)
From the leela-zero page :

> If your CPU is not very recent (Haswell or newer, Ryzen or newer), performance will be outright bad,

Obviously TPU >> GPU >> CPU

But are there special vector instructions added in Haswell? Or is this just general preference for a multi core newish cpu ?

Re:Building an AlphaZero AI using Python and Keras by cbuq on Friday January 26, 2018 @03:11PM (#16242466)
Not sure if this is their reasoning, but Haswell introduced AVX2 instructions (https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Adv...)
Re:Building an AlphaZero AI using Python and Keras by wohlergehen on Saturday January 27, 2018 @04:18AM (#16245506)
AVX2 introduces vectorized Fused-Multiply-Add, for a 2x boost in linear algebra ops.
Re:Building an AlphaZero AI using Python and Keras by adw on Friday January 26, 2018 @06:06PM (#16243615)
The irony here being you're using Stockfish move representation in a codebase written by the author of Sjeng :-)
Re:Building an AlphaZero AI using Python and Keras by sprt on Friday January 26, 2018 @04:44PM (#16243143)
What does SPRT stand for in that context?
Re:Building an AlphaZero AI using Python and Keras by tux3 on Friday January 26, 2018 @05:42PM (#16243507)
Sequential probability ratio test, it is essentially a test that distinguishes between two hypotheses with high probability.

In the case of Leela Zero the idea is to train new networks continuously and have them fight against the current best network, which is replaced only when a new network is statistically stronger, according to SPRT.