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

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



> Well, I've got color reversal for free, but translation invariance, what
> does this mean on a go board?

Well, go would be translation invariant if it weren't for the board edges,
so as long as you encode "off the board" as distinct from black, white, or
empty intersections, you can use a translation-invariant pattern matcher.
For a neural net, use something like

black = (+1,0), white = (-1,0), empty = (0,+1), off the board = (0,-1)

as input, and convolutions with weight kernels as your basic operation.
Each hidden unit now turns into a layer of 9x9 (or 19x19) units, but
they all share the same weights.  You end up with a translation-invariant
network with many connections but (comparatively) few weight parameters.
You could even implement the convolutions with 2D FFTs, then use image
processing hardware accelerators...

> To use reflection/rotation on evaluation seems to be a good idea.

Our feeling was that it pretty much amounts to the usual Monte Carlo deal:
evaluate 8 positions to (presumably) get a sqrt(8) reduction in error.

Best,

- 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