[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [computer-go] Poster available
> 1. How do you set input parameters to your generalized neural network? E.g.,
> is one parameter for one position such as Black = 1, Empty = 0, and White
> = -1; or two parameters for one position as Black = {0, 1}, Empty = {0, 0},
> and White = {0, 1}.
Yet another representation worked best for me:
Black = (1, 0), White = (-1, 0), Empty = (0, 1), Off-Board = (0, 0).
This combines a number of advantages:
1) with tanh hidden unit activation functions, and flipping bias inputs
depending on whose turn it is, you get color symmetry throughout the net,
that is, neural_net(position) = -neural_net(color_exchange(position)).
2) off-board locations give zero input, yet are distinguishable from empty
board locations. This is important when using translation-invariant
architectures such as convolution networks.
3) the three on-board inputs are linearly separable; Empty vs. Occupied
(regardless by whom) is explicitly represented in the second input.
4) The first input is centered (i.e., about zero on average) which helps
speed learning. (Second input can't be centered without violating 2).)
> I had some code for rotation and reflection, but it was causing trouble
> so I commented it out. I think Jim Levenick had a little more luck
> with this.
I also never got this to work well. I think there's a problem with
symmetric data and/or architecture making it harder for the net to break
hidden unit symmetries; I haven't verified this rigorously though.
Best wishes,
- nic
--
Dr. Nicol N. Schraudolph http://n.schraudolph.org/
Steinwiesstr. 32 mobile: +41-76-585-3877
CH-8032 Zurich, Switzerland tel: -1-251-3661
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://computer-go.org/mailman/listinfo/computer-go