#HCE NNUEs

12 messages · Page 1 of 1 (latest)

urban rain
#

After looking at the recent switch to a dual NNUE architecture, I looked into it a bit more. It looks like it switches networks based on a simple HCE condition, and the network it switches to is also only trained on positions that meet that HCE condition.

So here is my stupid idea: SF used to have the best HCE in existence. Why not bring it back in some capacity and train nets based on different conditions that the classic SF HCE was looking for, then in actual games use those conditions to switch between a multitude of different nets?

jovial yarrow
#

the most obvious problems with this approach are:

  1. running hce is expensive, running hce just to pick what net to use is extra expensive because all that compute gets wasted
  2. switching net breaks the ue part of nnue so you can only really switch at the root
  3. train nets based on different conditions that the classic SF HCE was looking for definitely needs more elaborating, it doesn't really mean much
urban rain
#

my response to 1 and 3 is basically that I don't know what all the classic HCE did, I would need someone more familiar with it to think about if there were any interesting conditions for splitting apart NN training conditions, so it wouldn't be the old HCE in it's entirety, but just some subset of it.

I don't know how to respond to 2. Why doesn't the current dual network "break the the ue part"?

jovial yarrow
#

the current dual net approach doesn't break ue because it's only picked at the root node

#

in general you can't switch net mid search because that breaks your accumulator and you can't efficiently update when you switch

#

the thing is it currently isn't really based on an "hce condition", it's purely based on material value count

#

and material value advantage

#

which tends to be stable

solid yew
jovial yarrow
#

hmmm, weird, i guess they do some weird trickery to keep the ue?

#

i assume they are still betting on the fact the condition tens to be more or less stable

#

which wouldn't happen with most of the proper hce features