[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [computer-go] Purpose of Neural-Nets?
I have worked on neural nets, particularly those using evolutionary training methods for some time and am firmly convinced of their value. They have been used successfully in games programming (a good example is in the book 'Blondie24', which describes a vcery simple implementation). The problem with Go is its incredible complexity. You have to be clear exactly what you are wanting from a net. If we look at position evaluation then we need to able to answer a number of questions, we need to be able to quantify influence, life and death and therefore strength of stones. We need to be able to count an estimate of the game score, estimate the size and potential of territory, evaluate opportunities for invasion, understand the principle of sente and its application to all the above. All this is before we consider the question of playing style and fuseki. To cram all that into one net seems improbable. I am working on trying to mine a Go position for as much data as to the above features as possible and present this information in a form upon which a number of co-operating nets can work. All this just to arrive at a good position evaluation. I am working on the principle that the better your position evaluation, the less you need to use search methods. In a perfect world, if your position evaluation is good enough, your search need only be 1 ply deep.
Matt
> from: "Nicol N. Schraudolph" <compgo@xxxxxxxxxxxxxxxxx>
> date: Tue, 30 Dec 2003 13:24:30
> to: computer-go@xxxxxxxxxxxxxxxxx
> subject: Re: [computer-go] Purpose of Neural-Nets?
>
> > In my own field, computer-chess, there are no real efforts to build
> > a neural-net programm. In Go neural nets seem to be an inportant
> > concept. Can the neural-net experts explain me the purpose?
>
> Here's my summary:
>
> The attraction of go for machine learning is that it is a finite, discrete
> domain with rather nice properties (zero sum, perfect information, etc.)
> that nonetheless has proven very complex and challenging. The attraction
> of machine learning for go is that (unlike chess) nothing simpler has
> been found to work all that well yet. There are reasons to believe
> that neural nets may be useful for some (but not all) aspects of go.
> Historically, neural net go was inspired a decade ago by the success of
> TD-Gammon; it is becoming more popular now as we reach the large CPU
> speeds, memory, and training data needed to have a serious go at it.
>
> > In case of a). One could first learn the weights and then hardcode the
> > weight-function to speed up the evaluation. Alternatively one could have 2
> > versions of a program. The slow learner and the fast tournament-player. Is
> > this done, or is a neural-net programm always a neural-net program?
>
> In software I doubt this is necessary - neural net evaluations can be
> made very fast regardless of whether the weights are constants or not.
> Carrying the training code around with you carries virtually no speed
> penalty, as long as you don't invoke it. (If you want to use special
> hardware for evaluation it's a different story.)
>
> Best wishes,
>
> --
> 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
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://computer-go.org/mailman/listinfo/computer-go