[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[computer-go] taking advantage of board symmetries in neuralnetworks
I'm having some experience with a neural network at the moment. My network
(for 9x9 go) has three fully connected 9x9 layers (so each node of the
hidden layer has 81 inputs and 81 outputs). For my experiments, I'm using
random-players, which make any legal moves (except for moving into their own
eyes) as long as possible.
First thing I'm trying to learn is the board evaluation at the end of a
game, black territory (only eyes in this case) gets value 1, white territory
gets value -1, occupied intersections get value 0. Of course that's easy to
do without a neural network, but I want to keep it simple at the beginning.
In my first experiment, I initialized the weights with random values and let
the network learn from a few hundred end positions, using the back
propagation algorithm. After that, the nework performed quite well
(performance could have been better but there was a tendency towards the
correct results).
After that I thought about taking advantage of the board symmetries, so I
initialized the weights of similar connections (according to the symmetries)
with equal values. To maintain the equality of the weights during the
learning process it was necessary to modify the back propagation algorithm.
I took the error of similar nodes, computed the average error, and replaced
the errors of these nodes by the average error. This caused similar
connections to keep equal weights.
The results after learning from a few hundred bad were bad. The network
didn't seem to learn at all. Maybe the average error was not convenient, so
I tried the same thing using the largest error of similar nodes instead of
the average error, but results weren't better.
So my question is how to take advantage of the board symmetries here?
Apparently my approach didn't lead to the desired success. Does anyone have
any experience with that? I'm sure you have... ;)
Frank
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://computer-go.org/mailman/listinfo/computer-go