Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Lc0: Net Planungen für die Zukunft
- - By Stefan Pohl Date 2019-06-18 14:33 Edited 2019-06-18 15:04 Upvotes 3
https://blog.lczero.org/2019/06/whats-going-on-with-training.html?m=1#more

Sehr interessant. Insbesondere die Aussagen bzgl. des nächsten Main-Runs:

Dieser soll zunächst mit einem größeren Net beginnen (24x320), dann aber später in ein kleineres self-scaling Net (24x256) überführt werden:

“Next big run will be test60. It will likely be a larger net in the beginning (320x24).
Unlike test40, which we didn't tweak during the training, test60 is planned to be tweaked as soon as we have something promising (e.g. something discovered by test7x experiments which will start soon after test60).
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.“

Mehr über self-scaling Nets:
https://github.com/Cyanogenoid/lczero-training/wiki/Positive-results#self-scaling-httpsgithubcomcyanogenoidlczero-trainingtreeselfscale2

Ganz wesentlich ist m.E. dieser Punkt:
“Because convolutions scale quadratically with number of filters and multiplication is only linear, this costs less time relatively with a bigger 256x20 network, especially when the self-scaling adds a fixed number of filters, say 64.“

Meint, daß der Rechenaufwand bei den größeren 20x256 Nets weniger stark ansteigt, verglichen mit kleineren Nets, weil er bei self-scaling Nets nur linear steigt, nicht aber im Quadrat (exponentiell).
Ich gebe aber zu, daß ich da auch schon am Rande meiner Verständnisfähigkeit angekommen bin, da das ganze Thema doch sehr kompliziert ist. Und zunehmend komplexer wird.

Letzlich, um das Ganze doch wieder auf ein etwas simpleres Niveau herunterzubrechen, scheinen die lc0-Macher es aber genau so zu sehen, wie ich heute morgen schon in einem anderen Thread hier gepostet hatte:
“Ob größere Netzstrukturen wirklich einen weiteren Fortschritt bringen können, ist eben die Frage. Viele (auch ich) sind der Meinung, daß Lc0 und der ganze (ja generell sehr langsame) NN-Ansatz von mehr Bedenkzeit und/oder mehr Hardware-Power mehr profitiert, als die klassischen AB-Engines. Sollte dem so sein, so heißt das natürlich im Umkehrschluß logischerweise, daß eine Vergößerung der Netzstruktur, die ja immer auch eine entsprechende Verlangsamung der Verarbeitung bedeutet, Lc0 auch (elomäßig) sehr schwer trifft und inwieweit die größere Netzstruktur das dann elomäßig ausgleichen oder eben sogar übertreffen kann, das ist die Frage.
Aber die 20x256 Nets können ja sicherlich intern noch weiter verbessert werden. Das SE-Konzept muß hier noch lange nicht der Weisheit letzter Schluß sein. Verbesserungen in der internen Netzstruktur halte ich daher für erfolgsversprechender, als Netze einfach zu vergrößern.“

Genau das scheint also der Plan der lc0-Macher für die nähere Zukunft zu sein: nicht die Netzgröße deutlich zu erhöhen, um Elo zu gewinnen, sondern die interne Struktur der Nets weiter zu verbessern. Sowie die Qualität des Lernens aus den Rohdaten heraus (also den gespielten Lernpartien) zu erhöhen.
Parent - By Clemens Keck Date 2019-06-18 16:58
Danke für die Info Stefan

C.K.
Parent - - By Tom Paul Date 2019-06-18 21:31
Wenn ein Netz irgendwann ausgelernt hat, dann hat es ausgelernt.
Da hilft dann nur ein größeres Netz.
Den Geschwindigkeitsverlust kompensiert man durch eine stärkere Grafikkarte oder durch eine zweite Grafikkarte.
Parent - - By Florian Wieting Date 2019-06-18 22:41 Upvotes 1
So, "Tom Paul", jetzt mal Butter bei die Fische.
Dass ich auf http://157.230.189.191:8080/ als "Dithyrambus" meinen kleinen Anteil an der Weiterentwicklung habe, habe ich neulich schon offenbart.

Nun erzähl' doch mal, unter welchem Username deine Super-Klasse-Grafikkarte die großen Netze fördert.

Aber ich frage wahrscheinlich vergeblich, denn Papiertiger bleibt Papiertiger!
Zeig's mir!
Parent - By Thomas Plaschke Date 2019-06-18 23:38 Upvotes 1
Such Dir einen der User mit 5-stelliger Tages- und 6-stelliger Gesamtleistung aus. - Das isser!    
Du kannst es nicht verifizieren und es bleibt als seine erkennbare Leistung die Unterstützung des Projekts mit mehr heißer Luft als zwei 2080i abgeben können!     

Viele Grüße
Th. Plaschke
Parent - - By Florian Wieting Date 2019-06-20 02:25
Nun wissen es endlich alle:
"Tom Paul" wird zu "Top Maul" wird zu "Top Maul"-Held!
Parent - - By Guenter Stertenbrink Date 2019-06-20 09:11 Upvotes 4
lasst doch das
Parent - By Florian Wieting Date 2019-06-20 23:45 Upvotes 1
Ich sehe, dass mindestens fünf foristen den troll brauchen, um sich zu amüsieren. Ärmlich!
Ich bin dann zum wiederholten male weg!

Horst Wandersleben
Parent - - By Guenter Stertenbrink Date 2019-06-20 09:12

> continuing temp throughout the game, which A0 didn't do, is stronger than A0-style temp?


>crem : Yes, it looks like it, at least from our tests.

crem = Alexander Lyashuk  = Lc0-Hauptprogrammierer

---------------------------------------------------------------------------------------------

der Versuch der weiteren Spielstaerkesteigerung ist ja immer interessant.
Aber im Moment interessiert mich mehr die Vereinfachung und
Verschnellerung des ganzen Lernprozesses.  Leelenstein,DeusX,AllieStein
Und Hybredisierung LeelaFish
Parent - - By Stefan Pohl Date 2019-06-20 10:58 Edited 2019-06-20 11:35 Upvotes 2
Zunächst mal hat doch AlphaGo gezeigt, daß das NN, das aus Menschpartien lernte, gegen das reine selfplay-NN nicht den Hauch einer Chance hatte. Ich sehe keinen plausiblen Grund, warum das im Schach anders sein sollte. Irgendwelches Menschwissen oder AB-Engine-Partien in die NNs hineinzutransferieren verschmutzt diese zudem und hält die KI davon ab, ihren eigenen Stil zu entwickeln. Wenn der neurale Ansatz das Schach mit eigenen Ideen bereichern soll, muß er diese auch eigenständig entwickeln. Insofern halte ich von diesen Netzen, die zusätzlich mit Menschpartien oder AB-Enginepartien gefüttert werden, schon mal prinzipiell nichts. Und ich glaube zudem, daß sie die Spielstärke auch nicht steigern. Ich hab jedenfalls noch keine gegenteiligen Testergebnisse gesehen.

Und die Hybridisierung wie bei Leelafish hat mit einem schnelleren oder einfacheren Lernprozeß nun überhaupt nichts zu tun, zeigt bisher nur geringfügige Spielstärkesteigerungen und stark erhöhte Remislastigkeit. Insofern bisher total enttäuschend. Auf den schnellen RTX Karten ist lc0 auch taktisch längst nicht mehr so anfällig wie früher. Auch das läßt die Notwendigkeit einer Unterstützung durch AB-Engines mehr als fraglich erscheinen.

Meine 2cents dazu.

Für mich liegt der primäre Reiz von lc0 in dem innovativen, nie gesehenen Spielstil. Nicht darum, wann genau lc0 nun auch Stockfish klar überholt (alle Menschen und alle anderen Engines hat lc0 ja schon überholt). Ob das nun noch 3 Monate oder 3 Jahre dauert, ist mir nicht so wichtig, wie den Spielstil von lc0 vor Verunreinigungen zu bewahren!
Zudem war das Entwicklungstempo von lc0 doch bisher schlicht atemberaubend hoch. Obwohl beim Netzlernen immer wieder bei Null neu begonnen wurde und niemand Erfahrung auf diesem Gebiet des NN-Schach hatte... daß sich die Entwicklungsgeschwindigkeit jetzt, wo lc0 sich irgendwo oberhalb von 3400 Elo befindet, verringert, ist doch kaum überraschend?!? Ein bißchen mehr Geduld kann da wohl nicht schaden, meine ich.

Nochmal zur Erinnerung: den ersten halbwegs ernsthaften Test von lc0 habe ich mal auf twitch gesehen und im Schachcomputer Forum gepostet. Ich zitiere mich mal selbst:
“Auf dem Twitchkanal läuft gerade ein Bulletturnier gegen eine größere Anzahl schwächerer Engines. Nach ca. 130 Partien hat sich LC0 hier eine Performance von ca. 2150 Elo erspielt, wie ich gerade mal auf die Schnelle mit Taschenrechner und Elotabelle ausgerechnet habe“
Das war Mitte April 2018. Also vor gut 14 Monaten war lc0 mal so gerade jenseits der 2000 Elo Marke.
Parent - - By Guenter Stertenbrink Date 2019-06-20 14:10
die Lerngeschwindigkeit war nur so hoch, weil sehr viel Hardware investiert wurde.
Allein >$20000 Stromkosten.
Ueber den Spielstil masse ich mir kein Urteil an. Was weiss ich.
Es mag nuetzlich sein fuer Leute die Schach lernen, ihr
Niveau verbessern wollen - aber aus dem Alter bin ich raus.
Aber die Bewertung anhand von Gewinn-wahrscheinlichkeiten ist
besser. Realistischer. Obwohl praktisch dann im Endspiel
meist falsch gegenueber Bluefish.
Der erste Hybrid brachte gleich ~40Elo, nicht schlecht IMO.
Diese 40Elo machen Lc0 besser als RohFish auf "normaler" Hardware.

Die Faszination am selfplay war ja, dass es auch fuer andere aehnliche Aufgaben
funktioniert. Ob es dem Lernen aus Menscherpartien ueberlegen ist, ist nicht so klar.
Es kam bei A0 spaeter auf, als die Methodik bereits verbessert war.
Und die Menschenpartien ausgingen.

zum alliestein-Konzept :
http://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?tid=10341
Parent - - By Reinhold Stibi Date 2019-06-20 14:42
Das mit der reinen Lehre mit nur Selfplaypartien ist so eine fragliche Sache. Warum funktioniert das nicht bei Lc0
bei fundamentalen Endspielen mit wenigen Figuren. Hier macht Lc0 planlose und sinnlose Züge.

Ein Hybrid Lc0 würde hier schnell  Abhilfe schaffen, oder kann man eines Tages erwarten dass Lc0 das von sich aus
schafft.
Parent - - By Stefan Pohl Date 2019-06-20 15:17 Upvotes 1
Reinhold Stibi schrieb:

Das mit der reinen Lehre mit nur Selfplaypartien ist so eine fragliche Sache. Warum funktioniert das nicht bei Lc0
bei fundamentalen Endspielen mit wenigen Figuren. Hier macht Lc0 planlose und sinnlose Züge.

Ein Hybrid Lc0 würde hier schnell  Abhilfe schaffen, oder kann man eines Tages erwarten dass Lc0 das von sich aus
schafft.


Das liegt daran, daß die Lernpartien nicht bis zum Matt gespielt werden. Wer das Bedürfnis hat, lc0 bis zum Matt spielen zu lassen, soll die 3-5er Syzygys in lc0 einbinden und gut ist. Dafür braucht man doch keine AB-Engine als Hybridgehhilfe.
Parent - - By Benno Hartwig Date 2019-06-20 15:30
Na, die Engine sollte bitte auch ohne Endspiel-Prothese sich zumindest einigermaßen clever anstellen.

Außerdem habe ich den Eindruck, dass Lc0 auch viel früher im Spiel, Vorteile zwar sehr sicher verwaltet, dass er sich aber oft schwer schwer tut, den Vorteil auszubauen.
Und dann dauert das, und dann dauert das...
Parent - - By Stefan Pohl Date 2019-06-20 16:41 Upvotes 1
Benno Hartwig schrieb:

Außerdem habe ich den Eindruck, dass Lc0 auch viel früher im Spiel, Vorteile zwar sehr sicher verwaltet, dass er sich aber oft schwer schwer tut, den Vorteil auszubauen.
Und dann dauert das, und dann dauert das...


Stimmt. Aber entscheidend ist doch, ob die Partie gewonnen wird. Daß die KI das menschliche ästhetische bzw. auf maximale Effizienz getrimmte Schachverständnis nicht teilt, das muß man akzeptieren. Denn in einem reinen Selfplay-Ansatz kann man das nun mal nicht einimpfen oder aufzwingen. Die KI macht eben ihr eigenes Ding.
Parent - By Benno Hartwig Date 2019-06-20 17:12

> Denn in einem reinen Selfplay-Ansatz kann man das nun mal nicht einimpfen


Hmm, auch jetzt ist ja programmiert, wie gelernt werden soll, was da beim Selfplay gelernt werden soll, wie es bewertet werden soll.
Das sich das nicht so modifizieren lässt, dass ein "möglichst auch etwas schneller" eine Rolle spielt, halte ich erst mal für offen.

Ich sah auch schon Lc0-Partien, in der Lc0 ein großes materielles Übergewicht hatte, um dann davon einiges  (aus meiner Sicht) völlig sinnlos herzuschenken, nur um dann ein Endspiel zu erreichen, welches Lc0 dann aber als für sich gewonnen ansah (mit Recht!).
"Mit 2 Türmen mattsetzen kommt mir seltsam vor, aber mit einem Turm, das kann ich..."
Dass das so bleiben muss, mag ich nicht recht glauben.

Benno
Parent - - By Hauke Lutz Date 2019-06-20 15:47
Meiner Meinung nach sollte jeder der sich mit Schach beschäftigt in der Lage sein relativ einfache Endspiele mit wenigen Figuren zu gewinnen.
Parent - - By Stefan Pohl Date 2019-06-20 16:37 Upvotes 1
Lc0 gewinnt diese Endspiele ja auch ohne Syzygy. Nur sehr umständlich. Oft wird bis kurz vor 50Zug Remis hin- und her gezogen, dann wird gerne auch eine Figur geopfert, sodaß ein 3-Steiner entsteht. Und dann wird es schon irgendwann Matt.
Schön ist das sicher nicht. Aber regelkonform.
Wer es schöner will, kann dann ja Syzygy nehmen.
Parent - By Horst Sikorsky Date 2019-06-20 18:41
Stefan Pohl schrieb:

Lc0 gewinnt diese Endspiele ja auch ohne Syzygy. Nur sehr umständlich. Oft wird bis kurz vor 50Zug Remis hin- und her gezogen, dann wird gerne auch eine Figur geopfert, sodaß ein 3-Steiner entsteht. Und dann wird es schon irgendwann Matt.
Schön ist das sicher nicht. Aber regelkonform.
Wer es schöner will, kann dann ja Syzygy nehmen.

die 6er Syzygy sind bei mir sowieso auf der Platte. bei den AB Enginen erstelle ich ohne Syzygy, nur wenn ich Sie Brauche schalt ich Sie dazu.
und bei LcO sind Sie immer da. das ist aber nur ein kleines Problem 
Horst
Parent - - By Benno Hartwig Date 2019-06-20 15:27

> Das mit der reinen Lehre mit nur Selfplaypartien ist so eine fragliche Sache


Es ist halt noch Verbesserungsmöglichkeit da.
"Gewinnwahrscheinlichkeit" ist ja natürlich nicht der letzte Schrei. Wenn ich in 10 oder 50 Zügen mattsetzen kann, dann mag die Gewinnwahrscheinlichkeit gleich sein, es sollte trotzdem der schnellere Weg gewählt werden. Hier agiert Lc0 bisweilen noch etwas "unglücklich". Aber das muss ja nicht so bleiben.

Hier wären aber nicht die Selfplaypartien die Krux sondern eine zu rigide Beschränkung auf die Gewinnwahrscheinlichkeit als Kriterium.

Seinerzeit hatte ich auch bei Stockfish gesehen, wie der in remis-bewerteten Positionen völlig unmotiviert einen Bauern weggab.
"Bleibt ja remis!" mag der Bursche "gedacht" haben. Blöd sah das trotzdem aus. Und der Gegner hatte dann unnötig einfaches Spiel, um das Remis zu halten.
Auch hier brauchte es dann eine Erweiterung der Zugbewertung.

Benno
Parent - By Hauke Lutz Date 2019-06-20 16:12
Das ist zwar ein ganz anderes Thema, aber eine Art intelligente Materialverwaltung solange die Bewertung besser als -XXcp bleibt wär schon nett.
Abtausch nur, wenn eine Alternative über X%/cp schlechter ist..
2% bei pro Bauer/Leichtfigur und 1% pro Schwerfigur wäre wahrscheinlich schon genug.
Bauerntausch 4cp, Damentausch 18cp.
Up Topic Hauptforen / CSS-Forum / Lc0: Net Planungen für die Zukunft

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill