a crying shame (re: self-learning engines)

Discussion of anything and everything relating to chess playing software and machines.

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
jdart
Posts: 3923
Joined: Fri Mar 10, 2006 4:23 am
Location: http://www.arasanchess.org

Re: a crying shame (re: self-learning engines)

Post by jdart » Sun Jan 19, 2020 11:00 pm

Arasan has "permanent brain" (keeps a file of positions/scores for later use). It only works in xboard mode presently. It is effective. It does give a positive ELO gain in matches. But it is not magic and it won't boost Arasan's score way above engines that are already well above its strength. If an opponent had a really crappy book and kept repeating bad lines the effect might be considerable, but otherwise not (Fritz book is generally not that bad).

carldaman
Posts: 1832
Joined: Sat Jun 02, 2012 12:13 am

Re: a crying shame (re: self-learning engines)

Post by carldaman » Sun Jan 19, 2020 11:12 pm

Yes, it's very hard to make up a difference of several hundred Elo points, even with learning enabled and no book used.

User avatar
Ovyron
Posts: 3958
Joined: Tue Jul 03, 2007 2:30 am

Re: a crying shame (re: self-learning engines)

Post by Ovyron » Mon Jan 20, 2020 4:04 am

Ras wrote:
Sun Jan 19, 2020 3:04 pm
What you're missing is even basic understanding on how neural networks actually work. They do not learn lines, they do not learn specific positions. If you tried to make them "learn" with that little knowledge, the only consequence would be that you would make them weaker, not stronger.
Ah, suppose Leela plays a game, and she goes on and loses. The learning we're talking about would allow her to see how it lost on a future game that played identical positions, so it'd avoid the loss in the new game (because it now sees the line that the opponent played on the lost game, or has a more accurate score of it.)

It would also allow someone like me that can only run CPU Leela to reach higher depth, because if it took me 10 minutes to reach depth 8, a freshly loaded Leela would already know the scores of the moves up to Depth 8 and would reach that depth within seconds. Like Critter Session File does (did I mention I helped Richard Vida implement Session File into Critter? :) Learning is a very simple concept and it's a mystery why it's so rare in engines nowadays.)

matejst
Posts: 164
Joined: Mon May 14, 2007 6:20 pm
Full name: Boban Stanojević

Re: a crying shame (re: self-learning engines)

Post by matejst » Mon Jan 20, 2020 5:31 am

Unfortunately, chess engines are lately focused on rating lists and TCEC, and everybody seems to be following the same paths. Even new GUIs are streamlined for eng-eng matches. I understand it fully, most programs are not commercial, and the authors are free to make their own choices, but as an ordinary user, I would certainly prefer something belonging to the old paradigm, that does suit my needs more: a human-like style of play, an evaluation that can be understood, options to save opening analysis, levels of play, etc. Elo is not always the most important.

Some nice engines lost their unique style of play in the process (Wasp). Some sacrifice complex evaluation and knowledge for gains in speed.

There are exceptions, of course -- a few SF derivatives focus on ease of use and multiple options. There is of course the work of Pawel with Rodent, Ed made some experiments, and especially the work of Lucas Monge, with his beautiful program. I also like the work of Jonathan Rosenthal, whose engine Winter is an interesting surprise.

Finally, I also find the need to avoid human thinking in the evaluation a big loss: the automatic tuning methods were followed by neural networks, and a big part of the human dimension of chess was lost. I don't think it was a real improvement -- although, from another point of view, it was a dramatic and interesting change.

User avatar
Ovyron
Posts: 3958
Joined: Tue Jul 03, 2007 2:30 am

Re: a crying shame (re: self-learning engines)

Post by Ovyron » Mon Jan 20, 2020 6:39 am

matejst wrote:
Mon Jan 20, 2020 5:31 am
Some nice engines lost their unique style of play in the process (Wasp). Some sacrifice complex evaluation and knowledge for gains in speed.
I'm very interested in engines' styles and am currently working on a method that could measure it with the goal of modifying engine's setting to maximize different style factors, or make unrelated engines play like each other, I'd appreciate if you could provide data like what was the last good Wasp version that still showcased a great playing style, and if you know about other engines that went through the same process and know what was the last good version (because we don't have any such data anywhere, many engines' best style versions get buried by stronger ones.)

Ras
Posts: 1358
Joined: Tue Aug 30, 2016 6:19 pm
Full name: Rasmus Althoff
Contact:

Re: a crying shame (re: self-learning engines)

Post by Ras » Mon Jan 20, 2020 7:56 pm

Ovyron wrote:
Mon Jan 20, 2020 4:04 am
The learning we're talking about would allow her to see how it lost on a future game that played identical positions
Well yeah but that's completely different from NN learning anyway so that it doesn't make sense to wonder why this isn't implemented apart from NN learning.
Rasmus Althoff
https://www.ct800.net

User avatar
Ovyron
Posts: 3958
Joined: Tue Jul 03, 2007 2:30 am

Re: a crying shame (re: self-learning engines)

Post by Ovyron » Tue Jan 21, 2020 1:39 am

Why not? It could use both. A NN is as strong as it gets after it's done training, a Learning one would improve over time (in analysis of positions) without having to download a new net. If one focuses great resources into making Leela Learn the best evals on a given variation, who knows if it'll play it stronger than trained nets of the future because they're focusing on chess overall.

dkappe
Posts: 370
Joined: Tue Aug 21, 2018 5:52 pm
Full name: Dietrich Kappe

Re: a crying shame (re: self-learning engines)

Post by dkappe » Tue Jan 21, 2020 1:59 am

Ovyron wrote:
Tue Jan 21, 2020 1:39 am
Why not? It could use both. A NN is as strong as it gets after it's done training, a Learning one would improve over time (in analysis of positions) without having to download a new net. If one focuses great resources into making Leela Learn the best evals on a given variation, who knows if it'll play it stronger than trained nets of the future because they're focusing on chess overall.
As currently designed, additional training would require at the least dozens of GPU’s running 24/7 in order to provide the amount of data needed. That’s why all these contributors donate their gpu time to the leela chess project.

If you are looking to perform some sort of machine learning to improve the net’s performance, it will have to take some other form.

dkappe
Posts: 370
Joined: Tue Aug 21, 2018 5:52 pm
Full name: Dietrich Kappe

Re: a crying shame (re: self-learning engines)

Post by dkappe » Tue Jan 21, 2020 2:06 am

matejst wrote:
Mon Jan 20, 2020 5:31 am
Finally, I also find the need to avoid human thinking in the evaluation a big loss: the automatic tuning methods were followed by neural networks, and a big part of the human dimension of chess was lost. I don't think it was a real improvement -- although, from another point of view, it was a dramatic and interesting change.
The type of machine learning exemplified by neural networks is very different from the optimizations of the automatic tuning methods. To mention them in the same breath as if they were a continuation of one another is at best misleading.

The neural net engines are much more “human” in their style of play than the most human tuned of ab engines. Whatever loss you experience with ab engines are more than made up for by leela, Scorpio and the rest.

carldaman
Posts: 1832
Joined: Sat Jun 02, 2012 12:13 am

Re: a crying shame (re: self-learning engines)

Post by carldaman » Tue Jan 21, 2020 2:55 am

AFAIK, FatFritz (FF) is also trained on human and engine games as well, not just adopting a 'zero' approach.

The trouble is that it becomes an expensive program to run, requiring a high-end RTX nVidia graphics card [for optimum performance]. Chessbase would do well to add a learning feature for its paying customers. Again, this would be a different type of learning than what what the net was originally trained on, but it would still be learning.

The best part would be that the users would take control of this latter form of learning, and guide or manage it in ways that suit them. It would empower the (in this case) paying customers.

If this does happen eventually, I have a feeling that it won't be CB doing it, but someone forking the free Lc0. As such, people voicing an interest in this (session file) mode of learning can only help bring it about, imho, despite any detractors claiming otherwise.

Post Reply