From 6e90f1145b2c5c0f2dcc82d21ec45432274b8cad Mon Sep 17 00:00:00 2001 From: tslil Date: Fri, 11 Sep 2026 12:56:12 +0100 Subject: move from single candidate td-leaf with gating to tournament of a population The goal in this change was to overcome the rock-paper-scissors phenomenon that was happening in capability space by having on a single candidate learn to beat the most recent version of itself. In some sense this lead to rotating around in capability space instead of chasing monotonic improvements. I hope that flipping to a system in which many (N=5) candidates play each other and learn from their own set of diverse games in this pool, combined with --replay-iters, will lead to a given network having to have a much more comprehensive understanding of the space of tactics. I haven't yet had time to train this thorougly, will run those experiments on my desktop computer. --- include/nn.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'include/nn.c') diff --git a/include/nn.c b/include/nn.c index 909b870..9b241a1 100644 --- a/include/nn.c +++ b/include/nn.c @@ -139,17 +139,17 @@ float eval_net(const float *board, const unsigned int n_inp, const float *w, float five_nn_fn(tak_state_p state) { static float cur_board[FIVE_INP_NUM] NN_ALIGNED; - nn_prepare_input(cur_board, state, five_embedding); - return eval_net(cur_board, FIVE_INP_NUM, &five_dense_weights[0][0], - five_dense_biases, five_logit_weights, five_logit_bias, + nn_prepare_input(cur_board, state, FIVE_embedding); + return eval_net(cur_board, FIVE_INP_NUM, &FIVE_dense_weights[0][0], + FIVE_dense_biases, FIVE_logit_weights, FIVE_logit_bias, FIVE_DENSE_NUM, state->ply & 1 ? 1.0f : -1.0f); } float six_nn_fn(tak_state_p state) { static float cur_board[SIX_INP_NUM] NN_ALIGNED; - nn_prepare_input(cur_board, state, six_embedding); - return eval_net(cur_board, SIX_INP_NUM, &six_dense_weights[0][0], - six_dense_biases, six_logit_weights, six_logit_bias, + nn_prepare_input(cur_board, state, SIX_embedding); + return eval_net(cur_board, SIX_INP_NUM, &SIX_dense_weights[0][0], + SIX_dense_biases, SIX_logit_weights, SIX_logit_bias, SIX_DENSE_NUM, state->ply & 1 ? 1.0f : -1.0f); } -- cgit v1.3.1