Andscacs nnue 0.1

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

Moderators: hgm, Rebel, chrisw

carldaman
Posts: 2283
Joined: Sat Jun 02, 2012 2:13 am

Re: Andscacs nnue 0.1

Post by carldaman »

That may be so, but plugging all these SF-NNUE-transplants into the rating lists would make a mockery of those authors who labored to create something without copying and pasting SF-NNUE.

We would have a bunch of SF-NNUE versions running around, only weaker than the 'original', if I may use that word, to echo Andy Grant of Ethereal fame.
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Andscacs nnue 0.1

Post by Dann Corbit »

When you get to the bottom line, NNUE stuff is nothing more than math.
I think people can do original things with it, perhaps by changing the shape of the net.

I just think it is strange all this talk about who is original and who is not.

Now, of course, I think people should write their own code, or use code with permission.

But it seems like we don't even want people to learn from each other.

The first one who grabs the new trick owns it? Why?
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
whereagles
Posts: 565
Joined: Thu Nov 13, 2014 12:03 pm

Re: Andscacs nnue 0.1

Post by whereagles »

ahhh the much-awaited return of andscacs. well done Daniel!
connor_mcmonigle
Posts: 530
Joined: Sun Sep 06, 2020 4:40 am
Full name: Connor McMonigle

Re: Andscacs nnue 0.1

Post by connor_mcmonigle »

Dann Corbit wrote: Mon Jan 18, 2021 1:37 am Now, of course, I think people should write their own code, or use code with permission.
But it seems like we don't even want people to learn from each other.
I think you possibly misunderstand what this is. The author has effectively copy-pasted Stockfish's evaluation function into their engine (the evaluation functions match exactly). This could be an interesting experiment to see how an engine's search compares to Stockfish's search, but hopefully it's not intended to be anything more. If rating lists bother to test such engines using Stockfish's evaluation function, they will quickly be over run with partial Stockfish clones such as this.

I too hope that people will do interesting things with neural networks. I am firmly of the opinion that there exists at least as much room for originality when using neural networks as evaluation functions as exists when using linear models as evaluation functions. With a linear model, you solely have control over the input features. With a neural network, you have both freedom in input features and architecture. It's been a long time since a top level engine featured a hand tuned evaluation function so the argument that using an optimization algorithm to adjust the many parameters found in modern evaluation functions leads to something unoriginal is nonsense...

Another disappointing aspect of this release is that it's in blatant violation of the GPL. Andscacs, as a closed source engine, cannot rely on the GPL'd NNUE code it copies unless the entirety of the source code is also distributed to the users along with the binaries...
jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Andscacs nnue 0.1

Post by jdart »

Do not get me wrong. It is a lot of work to write LC0. It is a lot of work to graft NNUE onto SF. It is a lot of work to run a million trials to make a net. It is just that there is no originality in it whatsoever.
That is just how neural nets work. The net acts intelligently, but "how" it does it and what pieces of knowledge it contains are opaque to humans. This is an illustration of AI. AIs in specialized areas can be smarter and more effective than the humans who created them. We were already there to a large extent with auto-tuned eval parameters (Texel tuning). NNUE is just a further refinement of that.
User avatar
maksimKorzh
Posts: 771
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: Andscacs nnue 0.1

Post by maksimKorzh »

Dann Corbit wrote: Mon Jan 18, 2021 1:37 am When you get to the bottom line, NNUE stuff is nothing more than math.
I think people can do original things with it, perhaps by changing the shape of the net.

I just think it is strange all this talk about who is original and who is not.

Now, of course, I think people should write their own code, or use code with permission.

But it seems like we don't even want people to learn from each other.

The first one who grabs the new trick owns it? Why?
Exactly!
It turns out that seemingly complicated things are not that complicated on the real deal,
for instance when Ronald Friederich explained me how to do Texel's tuning without writing those
horrific math formulas (Dann I know you're into math, sorry for this) it turned out to be very simple.
So the problem is not even in the implementation details but within breaking the pipeline into small clear parts.

But it happens exactly like you say - they own the trick.
We can see many deep technical discussions on NNUE nuances but no single person out there
to write a simplified tutorial on how to create a proof-of concept NNUE.
Let it have only one hidden layer, let it be trained on miserable number of positions,
let it be even weaker that HCE, but than anyone could realize the pipeline.

Unfortunately instead we have an "elite" who can design'implement/train NNUE and noobs who can't.
It feels like those who can intentionally not sharing and even hiding their knowledge.

Even for noob like me it's pretty clear that we simply need to convert board position into a set of inputs,
then define random weights, then multiply weights by inputs, then normalize them via sigmoid or ReLu function,
then do it for all levels and then back propagate the error to adjust weights. And then do it may many times.
But so many particular questions are arisng starting from HOW??? to convert board position into set of input weights,
how many hidden layers to use, how material weights are incorporated into the inputs etc.

Very sad (((
Earlier I thought that one needs to be really smart to master it but even my stupid brain seems to be ok with understanding the concepts.
Unfortunately NO ONE reveals the pipeline in trully DIDACTIC way.

I hope Ronald will implement NNUE one day and then kindly explains it to me)
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Andscacs nnue 0.1

Post by Dann Corbit »

connor_mcmonigle wrote: Mon Jan 18, 2021 2:04 am
Dann Corbit wrote: Mon Jan 18, 2021 1:37 am Now, of course, I think people should write their own code, or use code with permission.
But it seems like we don't even want people to learn from each other.
I think you possibly misunderstand what this is. The author has effectively copy-pasted Stockfish's evaluation function into their engine (the evaluation functions match exactly). This could be an interesting experiment to see how an engine's search compares to Stockfish's search, but hopefully it's not intended to be anything more. If rating lists bother to test such engines using Stockfish's evaluation function, they will quickly be over run with partial Stockfish clones such as this.

I too hope that people will do interesting things with neural networks. I am firmly of the opinion that there exists at least as much room for originality when using neural networks as evaluation functions as exists when using linear models as evaluation functions. With a linear model, you solely have control over the input features. With a neural network, you have both freedom in input features and architecture. It's been a long time since a top level engine featured a hand tuned evaluation function so the argument that using an optimization algorithm to adjust the many parameters found in modern evaluation functions leads to something unoriginal is nonsense...

Another disappointing aspect of this release is that it's in blatant violation of the GPL. Andscacs, as a closed source engine, cannot rely on the GPL'd NNUE code it copies unless the entirety of the source code is also distributed to the users along with the binaries...
If by "the evaluation function" you mean the neural net evaluation bit, you are wrong. He used the nn code from Daniel Shawul (scorpio) which allows such things. If you think he grabbed the SF evaluation in some way, you are completely, utterly, insanely incorrect.

The SF NN eval (by the way) was written by a brilliant fellow for calculations in Shogi. Perhaps you were referring to the SF team, who took that eval (with the author's permission and help) and pasted it on to SF. Because they most certainly did not write that code.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Andscacs nnue 0.1

Post by Dann Corbit »

Here is what I hope for:
Open, carefree sharing. Joe invents a good idea and he publishes it. He does not get his butt in a wringer because someone else tried it.

Now, if someone copies Joe's code without permission and pretends they did it, that is another thing. I am talking about free transmission of new ideas for all to share.

Think ACM, 1970s when people published algorithms for the sheer joy of discovery. I guess that those days are dead, along with the dinosaurs that made them.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Andscacs nnue 0.1

Post by Dann Corbit »

And, may I add, it is my fervent hope that some day the mighty planetary cheese balls may rise again.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Andscacs nnue 0.1

Post by Dann Corbit »

maksimKorzh wrote: Mon Jan 18, 2021 2:40 am I hope Ronald will implement NNUE one day and then kindly explains it to me)
There are some true heroes of computer chess.
Claude Shannon
Robert Hyatt
Ed Schroder
Jon Dart
Fabien Letouzey
Hsu/Campbell
Tord Romstad
Ronald de Man
Bojung Guo

Pardon me for the 1000 that I left out.

What is common about those above?
They did something incredible.
They shared what they did.

That makes them teachers.
See my sig.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.