Frank Brenner schrieb:
Du wirst es schon erleben, daß das 20 MB große NNUE Netzwerk bereits jetzt ausgelernt hat.
Du redest ständig von NNs, wie sie Leela verwendet. NNUE lernt von einem A-B-Programm für ein A-B-Programm und von für dessen Suche.
Du musst nicht immer wieder von der Grundstellung aus Selflearning laufen lassen, (müsstest du ja bei LC0 auch nicht, wenn man sich nicht von Anfang an an ein Zero- Prinzip geklammert hätte) kannst du mit NNUE auch machen, und mag dann auch bald nicht mehr genug weitere Tiefe erreichen, dass die 20Mb noch viel Inforcement und Reinforcement bekommen, musst du aber noch weniger als bei Leela, und macht man auch jetzt schon von Anfang an nicht mehr ausschließlich.
Aber drum hab' ich ja gerade mit dem Link angefangen
http://talkchess.com/forum3/viewtopic.php?f=2&t=74852&sid=04c8da74997b793b89a00a69966d93e8und mit denen, die davon ausgehen.
Bietet einfach einen kleinen Ausblick, was du mit diesen kleinen und schnell erstellbaren und gut steuerbaren Netzen alles machen kannst, Netze für bestimmte Eröffnungssysteme wären z.B. auch naheliegend und vielleicht das geringste Problem. Was wird für ein Aufwand mit den Engine- Büchern sowieso getrieben, da erspart man sich vielleicht sogar Arbeit relativ zu jetzt.
Endspielnetze gibt's auch für Leela (Ender von Dietrich Kappe z.B.), aber wenn du schon selbst Netze trainiert hast, wirst du wissen, (wenn du nämlich NNUE- Netze auch schon trainiert hast) was das für ein völlig unterschiedlicher Aufwand das ist, je nachdem, wovon du ausgehst, und was du erreichen willst.
Und dann nochmal ein weiterer wesentlicher Punkt, der dir offenbar auch einfach an der Phantasie vorbeigeht: Jetzt hat man gerade mal mit SF angefangen, ja, ausgefeilte Suche, natürlich, naheliegend, aber wenn dieses Highend- Programm schon solche Spielstärkesteigerungen erfährt (und ich rede auch nicht von den 100 Elo, die man sich im erweiterten Selfplay aufmalt, weil gegen SF lässt sich natürlich SF NNUE am schönsten ausspielen, man muss ja aber in dieser Kategorie weitere Fortschritte überhaupt erst mal gegen den Remistod nachweisen), die ein jeder User, auch wenn er für dich ein DAU ist, selbst beim Analysieren mit dem Programm sieht, wenn das schon mit dem einen Spitzen-Programm so viel bringt, woher nimmst du die Borniertheit, andere Programmansätze nicht erst recht durch NNUE aufrüsten und ganz andere Wege gehen sehen zu wollen? Du musst da nämlich gar nicht von "ganz anderen" Entwicklungen träumen, du musst dir nur anschauen, was schon jetzt alles an A-B-Programmen NNUE auch zu nutzen anfangen, Minic, Igel, Orion sind erst ein paar und von RubiChess hab' ich auch schon was gelesen:
http://talkchess.com/forum3/viewtopic.php?p=856907#p856907Was glaubst du, wird der nächste komodo und der nächste Shredder und der nächste Fritz Neues bieten?
Mag ja sein, die GPUs werden auch was beitragen wieder, aber einer der Vorteile ist halt momentan, dass man die GPU gar nicht braucht, die CPU braucht man sowieso für die Suche, LC0 ja auch.
NNUE ersetzt oder ergänzt die fix einprogrammierte Eval, die steuert die Suche, und die Suche bringt weitere Verbesserung der Eval, bisher nur an Parametern, jetzt an Netz- "Wissen", das die Suche (es gibt kaum noch andere als die Lern- Binaries von nodchip) steuert und von der dann auch mehr an weiterem Netztraining profitiert.
Wenn du die Möglichkeiten, die das zur weiteren Programmentwicklung bietet, nicht siehst, bist du für mich einfach schachblind.
Das einzige, was alledem wirklich im Weg steht, ist der Remistod im Computerschach, zu dem man mit all diesen Entwicklungen natürlich weiter beiträgt, aber der gilt ja nur fürs Eng-Eng-Match und fürs Fernschach. Fürs Computerschach als Werkzeug zur Analyse und zur Eröffnungsvorbereitung und zum menschlichen Schachverständnis von Mittel- und Endspiel ist hier für mich einfach mal wieder ein großer Schritt vom Spielzeug zum Tool gemacht worden. In Kinderschuhen noch, aber trotzdem ein großer Schritt.
Man muss bedenken, dass das ganze Computerschach, relativ zur Aufgabe, wenigstens schon bei den ersten, sagen wir 20 Zügen, diejenigen, die nur Remis bei halbwegs fehlerfreiem Spiel bringen, von denjenigen, bei denen sich das Weiterspielen (und damit das mit diesen Zügen überhaupt anfangen) lohnt, dass das Computerschach als solches, was diese Primäraufgabe angeht, die reinen Remiszüge von den anderen zu unterscheiden, ja sowieso noch in ziemlich kleinen Kinderschuhen steckt.
Man ist ein paar Schritte weit dahin gekommen, zu wissen, welche Züge von Anfang an verlieren, aber das kann's ja noch nicht gewesen sein bei einem Spiel, das, wenn fehlerfrei geführt, ja höchst wahrscheinlich doch Remis ist, halt auf verschieden spannende und verschieden unterhaltsame Weise und an verschieden frühen oder späten Stellungen zwingend beweisbar.
Mag sein, ich habe das bei LC0 noch ein bisschen verpasst am Anfang, weil da waren die genialen Züge, die plötzlich viel schneller gefunden wurden, halt auch anfangs mit Patzern auf der anderen Seite erkauft, mit etwas Forward- Backward mit SF konnte man nachvollziehen, wo's bei dem da einfach relativ zum NN noch mangelte, hat SF ja auch allein durch die Matches gegen LC0 schon weitergebreacht in der Entwicklung, und mag durchaus sein, da geht's jetzt mit Selflearning allein, immer wieder von der Grundstellung aus in immer größere und Hardware- Zeit- aufwendigere Netze zu investieren, vielleicht wirklich nicht mehr sehr viel weiter, aber auch da wird man dadurch vielleicht mehr andere Wege des gesteuerten Lernens gehen, aber beim NNUE ist für mich wieder viel mehr Phantasie drin, Programmierern die Chance zur Eigenleistung zu geben, was die Eval und was die Suche angeht.
Just my two cents.