Die 40xxx Nets sind beendet. Letztes Net ist 42850. Schlechtes Timing für mich... Da werde ich meinen Testrun von Net 42825 morgen abbrechen und neu starten mit dem Netz 42850.
Jedenfalls läuft jetzt das Learning von 60xxx. Größe 24x320. Zumindest vorerst. Denn der Plan war ja zumindest mal, das Netz im weiteren Lern-Run irgendwann wieder auf 24x256 zu verkleinern. Ob das noch aktuell ist, weiß ich allerdings nicht. Blog vom 16.06.19:
"Next big run will be test60. It will likely be a larger net in the beginning (320x24).
One of the possible improvements we'll have in the middle is switching to 256x24 self-scaling network (by training it in parallel from same training data). It's expected that 256x24 self-scaling net is stronger than 320x24 without self-scaling while having same computational complexity."
Löblich finde ich, daß mit 10000 n/Zug gelernt wird, nicht mit den 800 n/Zug, wie bei den 40xxx Nets, obwohl jetzt wohl keine fixe Knoten/Zug Grenze mehr benutzt wird (s.u.). Das wird zwar das Lernen mächtig ausbremsen, verspricht aber schlußendlich bessere Resultate.
Da zu erwarten ist, daß die 60xxx Nets einige Wochen brauchen werden, um eine ordentliche Stärke zu erreichen, gibt mir das hoffentlich die Gelegenheit, die Testruns der beiden älteren Netzgenerationen 10xxx und 30xxx noch nachzuholen und die letzten dieser Nets mit meinen neuen Testbedingungen durchzutesten. Mal schauen.
Genauere Lernparameter hier:
https://lczero.org/training_runsThe era of test40 has finished, that training of test40 has been stopped.
Instead we've just started to train test60. What's new there (relative to test40):
Residual tower size is 320x24 (24 blocks, 320 filters).
Policy head is AlphaZero-style (8×8×73 instead of plain 1858 vector).
Value head is WDL.
Instead of using fixed nodes for every move while training, KLD threshold is used instead (think less in obvious cases, think more in complicated cases, but in average it's still about the same as it was).
Illegal moves are masked from policy head, so that neural network doesn't have to learn detecting legal moves itself.
Instead of training value head just on game outcome {-1; 0; 1}, a fraction of tree's Q value after the move is added.
Using different FPU at root vs for the rest of the tree.
As it was written in earlier post, it's not going to be a "clean run". If we discover improvements while test60 is being trained, it's likely that they will be incorporated in the middle of the training process.