Sorry my fault this time, i meant Sigmoid(23,400) not the inversed function. Of course i want to get the probability.Desperado wrote: ↑Tue Jan 12, 2021 9:51 pmWell, something like rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - ce 23Gerd Isenberg wrote: ↑Tue Jan 12, 2021 9:20 pm I got that a little bit later. One needs to scale the engine specific score to a win percentage sigmoid for a 0-1 or -1,0,1 range.
Similar to TD(λ) one may even try to interpolate the final result into that score. I don't know whether this was tried before.
instead of rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - "1/2-1/2"
then using
sigmoidInverse(23,400) as error reference.
Why using the game result instead of evaluation scores
Moderators: hgm, Rebel, chrisw
-
- Posts: 879
- Joined: Mon Dec 15, 2008 11:45 am
Re: Why using the game result instead of evaluation scores
-
- Posts: 27808
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Why using the game result instead of evaluation scores
The problem with search is that it usually doesn't compensate strategic misconceptions of the engine, unless it is very deep. It is mainly a method to detect tactics, and recognize that the root position is not quiet, so that the static evaluation of it is not really meaningful.
It would be useful to train a NN on evaluations corrected by shallow search when your goal is to have the NN predict tactics. But for NNs that will be used only in quiet positions of a search, that would not be a useful goal.
Just learning a NN to mimic a given static evaluation of an engine (or the average of a group of engines) with a hand-crafted eval doesn't seem a useful goal either. The hand-crafted eval probably can probably calculate that orders of magnitude faster. You want NNs because they can in principle do so much better than hand-crafted evals.
It would be useful to train a NN on evaluations corrected by shallow search when your goal is to have the NN predict tactics. But for NNs that will be used only in quiet positions of a search, that would not be a useful goal.
Just learning a NN to mimic a given static evaluation of an engine (or the average of a group of engines) with a hand-crafted eval doesn't seem a useful goal either. The hand-crafted eval probably can probably calculate that orders of magnitude faster. You want NNs because they can in principle do so much better than hand-crafted evals.
-
- Posts: 1871
- Joined: Sat Nov 25, 2017 2:28 pm
- Location: France
Re: Why using the game result instead of evaluation scores
What would be "very deep" here ?hgm wrote: ↑Wed Jan 13, 2021 10:39 am The problem with search is that it usually doesn't compensate strategic misconceptions of the engine, unless it is very deep. It is mainly a method to detect tactics, and recognize that the root position is not quiet, so that the static evaluation of it is not really meaningful.
Going with too deep 'search training data' might also make it hard for the NN to learn (or maybe a bigger net will be needed).
I'm not seeing that much difference (less than 100Elo I mean) when training Minic with :
- random data of depth 12 (non quiet pos included)
- root position depth 16 (non quiet pos included)
- root position depth 8 (non quiet pos included)
- FRC depth 5 data (quiet only)
- FRC depth 9 data (non quiet pos included)
The only thing that seems to be a killer is using SF data ...
Anyway I'm still looking for good Minic data to train better net. Next thing I'll try will be quantity because my biggest pack for now is only 600M, i'd like to get 2B...