[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: computer-go: Neural Nets: suggesting and evaluating
On Tuesday, July 29, 2003, at 02:47 AM, Erik van der Werf wrote:
Peter Drake wrote:
It appears that there are two obvious ways to use a neural network in
a very simple Go program:
1) Take the board as input and output a value for each potential
move. The move with the highest rating is the move considered best
by the network.
2) Take the board as input and output either (a) the value of the
board or (b) the value of each point on the board. To choose a move,
do global search (usually 1-ply, conceivably deeper).
2(b) isn't this the same as 1, or do you predict something else?
In 2(b), I meant predicting who would end up controlling each point on
the board; under Chinese scoring, we just have to add these up to get
the score. In 1, the idea was to estimate the score that would result
from moving at each point.
Our current evaluator network has one input unit and one output unit
for each point on the board, and a number of hidden units. Rather
than do deep thinking about how the hidden units should be divided
into layers, we let each hidden unit take input from all of the input
units and all previous hidden units, so that the hidden units form a
sort of column with weights coming from all previous layers.
We had been looking at small windows on the board, but this has two
problems:
1) Vital connectivity and eye information may not be available within
the window.
Even if the full board is available your network will most likely not
succeed in learning the long distance connectivity relations, at least
if you use a raw representation. (Remember that Minsky & Papert showed
connectedness to be of unbound order.)
It's not quite raw (we tell it about things like chain size, Benson
life, and number of liberties), but more information could certainly be
added.
2) A lot of time is wasted recomputing the same information over and
over again.
If it's really the same information why can't you just store it in a
cache?
Well, it's not EXACTLY the same information, but I imagine the hidden
units for a network looking at a window around d3 are computing a lot
of the same information as those in a network looking at a window
around d4.
Peter Drake
Assistant Professor of Computer Science
Lewis & Clark College
http://www.lclark.edu/~drake/