[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [computer-go] taking advantage of board symmetries in neuralnetworks



Another idea is to symmetrize the training data by presenting each
pattern under all reflections and rotations.  This might lead to a better
evaluation function eventually, but primarily it slows down learning
quite a bit.  We didn't look into it very much, but our hypothesis was
that the symmetric data makes it much harder for the hidden units to
break symmetry, something which they have to do in the learning process.
Backprop leads to local optimum, and which one may depend on the order in which the samples are presented. Even in the methodology proposed above it may happen that different corners of the table reach different weights values, because of a different convergence points, or simply because they reach the same peak with different speeds or from different directions.

I would propose to modify the backprop so that error is calculated only on a slice of the table (a triangle in fact) and updating of the weights should go on all homologous nodes. And yes, presenting the data rotated and reflected under all symmetries. Or alternativelly, once a data set is presented, apply the error/update cycle for all 8 base triangles of the board.
Assuming this converges, it is guarranteed to have preserve symmetries.

Good luck!
Adrian

_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://computer-go.org/mailman/listinfo/computer-go