An appeal for a test cycle of training Leela using chess960 "Fischer chess" rules

514 views
Skip to first unread message

Kevin Kirkpatrick

unread,
Jul 4, 2018, 9:24:32 AM7/4/18
to LCZero
One of my first proposals in these forums was to train Leela using Chess960 rules as a means of offering a richer set of training data. I think there are a lot of solid arguments; I hang my hat on the argument that standard-chess can be viewed as a "human-favorite" variation of chess960; that training Leela exclusively on this variant is no different (conceptually) than a decision to train Leela exclusively on a small set of favorite human openings in standard chess... 

At the time, I wrote it off as a theoretical idea: interesting to discuss, but no means to give the idea a fair shake without massively disrupting Leela's actual training progress.  However, in light of the availability of the test server, and (relative) ease with which new ideas can be tested, I think it may be worth re-evaluating that.

Two questions:

1) If, hypothetically, a test training cycle demonstrated that after 2 million training games (with identical variables/hyper-parameters), a net trained against chess960 played measurably better than a net trained against the standard opening alone - in the standard opening - would that be sufficient grounds to consider using chess960 training for mainline training?

2) Are there strong enough arguments for the plausibility of advantages of training with chess960 to justify running a single battery of 1-2 million training games to test the idea out?


Laurence Chen

unread,
Jul 4, 2018, 11:17:17 AM7/4/18
to LCZero
You are forgetting there are 960 chess positions minus the standard chess position. This gives 959 starting positions. With the limited resources available, it makes very impractical to start this project. Wait until the standard chess position project is completed.
You are making the assumption that bizarre starting positions will improve Leela Chess. Chess 960 is not very popular among grandmasters. There are very few tournaments per year for humans.

Sasha

unread,
Jul 4, 2018, 11:31:46 AM7/4/18
to LCZero
Other people had similar ideas (most recently this thread with much more favorable consensus than Laurence https://groups.google.com/forum/#!topic/lczero/C2PY8Lm8GMA).

Chess 960 is the future. Other strong programs all play it, for example Stockfish, Houdini, Komodo, Shredder, Rybka... All you need to do is to specify castling rules, everything else is basically the same, so it is less of investment than most people think.

Laurence Chen

unread,
Jul 4, 2018, 11:47:33 AM7/4/18
to LCZero
Don't understand why some of you fail to understand that there are 960 random positions for Chess960. That's a lot of positions which will be required to be trained by NN.
I can see that player A will cry that LC960 doesn't play well position 4xx, and the developers should fix it. Then player B will cry that LC960 doesn't play well position 5xx, and so on.
Training NN takes a lot of time and resources, sure Google has the resources to create A0 Chess in 4 hours, but with the current resources available how long will it take to train all 959 positions?

Kevin Kirkpatrick

unread,
Jul 4, 2018, 12:16:17 PM7/4/18
to LCZero
That's the crazy/non-intuitive aspect of NN training.  Even in the standard-chess training mode, 99.999999999999% of all positions that Leela will encounter in any given game will be positions she's never seen before.  It's not a question of "what specific positions will Leela see in training", it's a question of "what variety of positions will she learn to understand?"

Training across all 960 positions will ensure that NOTHING particular about any of the specific starting positions will be learned.  However, with 960 positions in play, improvement/expertise could only come about with deep understanding of positional play (and how to work for solid positions regardless of original configuration).  There's no chance of traps/tricks that work by happenstance in the standard opening might confuse leela's understanding of fundamental principles.

That said, I wasn't really intending for this to be a full rehash of the question of whether or not c960 would be better for training.  This was more an appeal to, "Why not give it a shot?" (assuming "give it a shot" is a attainable goal).  In current chess mode, the testserver training always shoots up rapidly then starts to level off after 1 million moves or so... what if, thanks to the increased richness of openings, C960 shot up and continued climbing for 1.5 million games (maintaining a perpetual lead over the standard alternative).

drrie...@yahoo.de

unread,
Jul 4, 2018, 9:50:48 PM7/4/18
to LCZero
I like OP's idea. While training 2M games would take about a weak on the test server, I think the data gathered from it would be very interesting and might be worth it.

It's obv impossible to say if it would favor lc0 to train on 960 in the long run, but here are a few thoughts:
- First of all, using chess960 wouldn't hurt the zero approach. If anything, you could say it's even more zero, as one could argue that the standard chess starting position can be seen as a human bias.
- Forcing Leela to play different starting positions might force it to generalize even more ideas, which is totally in the spirit of self-learning AI.
- Since there is no specializing in one opening, other aspects of the game could take priority in the NN, perhapt even tactics, who knows...
- On the other hand normal lc0 is very specialized for standard, so naturally it's opening repertoire in standard will be much more sound (at least in the short run). I don't think 2M games would be enough to overcome that adventage by a 960 based net (even if it would be better in other aspects of the game) tbh, but it would still be very interesting to see.

just my 2 cents on the topic for now :)

Laurence Chen

unread,
Jul 4, 2018, 10:47:22 PM7/4/18
to LCZero
You are creating a lot of noise when mixing Chess960 with the current NN of standard chess position.
You are hoping that a single selected random position from 960 will fork over the knowledge somewhere in the network.
It might not happen at all, certainly not in the opening nor in the middlegame.
You are making the assumption that NN thinks like a human brain, or that NN has the capabilities of imitating human thinking. This is impossible, NN thinking is very different from human brain thinking.

Kevin Kirkpatrick

unread,
Jul 5, 2018, 12:06:17 PM7/5/18
to LCZero
The principle objection to the idea of experimenting in this way is that it directly conflicts with the mantra; "Do as AlphaZero did".  To that end, I think there's a very timely recent development from the Deepmind team: They have just sucessfully trained an AI to achieve super-human capabilities in the game Quake3.


The point that jumped out at me (emphasis added)

"[self-play training... ] was played in settings with random map layouts rather than a static, consistent environment in order to train systems’ general understanding for better outcomes. Indoor environments with flat terrain and outdoor environments with varying elevations were also introduced. Agents also operated in slow or fast modes and developed their own internal rewards systems."

Based on how they approached Quake 3 (injecting randomization into training games to force network to gain deeper understanding that's independent of any particular terrain)... can there really be any doubt about whether they'd recommend training via "chess 960" vs "chess 1"?

Kevin Kirkpatrick

unread,
Jul 5, 2018, 12:10:39 PM7/5/18
to LCZero
Laurence, I don't mean this as a personal attack, but I feel that in order to respond to your objections, I'd first need to give a full-crash course in the capabilities of reinforcement learning.  These claims of yours seem completely detached from any understanding of how NN's actually learn via reinforcement learning (or what levels of deep understanding they're capable of reaching).  
  • "...you fail to understand that there are 960 random positions for Chess960.  That's a lot of positions which will be required to be trained by NN. I can see that player A will cry that LC960 doesn't play well position 4xx, and the developers should fix it."
  • "You are hoping that a single selected random position from 960 will fork over the knowledge somewhere in the network" 
Reply all
Reply to author
Forward
0 new messages