Trouble is that it is very difficult to put certain concepts into mathematics. 
For instance: “well, I tried to find parameters that did a better job of 
minimizing that error function, but eventually I lost patience.” :-)

 

Neural network parameters are not directly humanly understandable. They just 
happen to minimize an error function on a sample of training cases that might 
not even be representative. So you want to reason “around” the NN by 
interrogating it in some way, and trying to explain the results.

 

If anyone wants to pursue this research, I suggest several avenues.

 

First, you could differentiate the output with respect to each input to 
determine the aspects of the position that weigh on the result most heavily. 
Then, assuming that you can compare the scale of the inputs in some way, and 
assuming that the inputs are something that is understandable in the problem 
domain, maybe you can construct an explanation.

 

Second, you could construct a set of hypothetical different similar positions, 
and see how those results differ. E.g., make a set of examples by adding a 
black stone and a white stone to each empty point on the board, or removing 
each existing stone from the board, and then evaluate the NN on those cases, 
then do decision-tree induction to discover patterns.

 

Third, in theory decision trees are just as powerful as NN (in that both are 
asymptotically optimal learning systems), and it happens that decision trees 
provide humanly understandable explanations for reasoning. So maybe you can 
replace the NN with DT and have equally impressive performance, and pick up 
human understandability as a side-effect.

 

Actually, if anyone is interested in making computer go programs that do not 
require GPUs and super-computers, then looking into DTs is advisable.

 

Best,

Brian

 

 

From: Computer-go [mailto:computer-go-boun...@computer-go.org] On Behalf Of Jim 
O'Flaherty
Sent: Wednesday, March 30, 2016 4:24 PM
To: computer-go@computer-go.org
Subject: Re: [Computer-go] new challenge for Go programmers

 

I agree, "cannot" is too strong. But, values close enough to "extremely 
difficult as to be unlikely" is why I used it.

On Mar 30, 2016 11:12 AM, "Robert Jasiek" <jas...@snafu.de 
<mailto:jas...@snafu.de> > wrote:

On 30.03.2016 16:58, Jim O'Flaherty wrote:

My own study says that we cannot top down include "English explanations" of
how the ANNs (Artificial Neural Networks, of which DCNN is just one type)
arrive a conclusions.


"cannot" is a strong word. I would use it only if it were proven mathematically.

-- 
robert jasiek
_______________________________________________
Computer-go mailing list
Computer-go@computer-go.org <mailto:Computer-go@computer-go.org> 
http://computer-go.org/mailman/listinfo/computer-go

_______________________________________________
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Reply via email to