NNUE 1: Get reliabilty score beside value #4051
xefoci7612
started this conversation in
Ideas
Replies: 2 comments
-
I don't think classic eval is better, it is just faster. You are suggesting to make this decision based on net output. How will that more efficient? |
Beta Was this translation helpful? Give feedback.
0 replies
-
To give a quantitative answer to your question, one possible way would be to save classical eval and NNUE eval along searched eval when collecting the big set of positions for training. With that info in our hands we could:
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Currently we have some quite complex heuristic to chose which evaluation to use.
Not only it is complex, possibly is sub-optimal too.
The idea I suggest is the following:
In the set of train positions, beside evaluation value at a given depth, add also classical eval score (or diff between classical and target), and also a pre-trained NNUE eval scores (see point 3).
When training, beside training for target value, also train to output useClassic signal defined as:
where better it means closer to target searched value than NNUE. It comes natural to define a loss on it using the differences to target value of classical and NNUE output.
Maybe train an already trained net keeping frozen the weights, and only training the part regarding the new useClassic signal. If this is not possible than you may want to compute the useClassic loss not against the position evaluation of the current net under training, for which eval scores are still weak, but against a pre-trained known good NNUE.
At inference time, just get the useClassic out of NNUE to decide which evaluation to use
Beta Was this translation helpful? Give feedback.
All reactions