deep convolutional neural network

82 views
Skip to first unread message

Detlef Schmicker

unread,
Dec 26, 2014, 4:45:29 AM12/26/14
to oak...@googlegroups.com
I just wanted to let you know, that I started playing with CNNs.

I use caffe (http://caffe.berkeleyvision.org/) and it seems, that I managed to train my first network (one single fully connected layer, 24000 pro positions).

This was quite fast, but now I added a 7x7 kernel convolutional layer with 64 outputs, and it slows down :) Tomorrow I will by a NVIDIA 970 :)

My starting point is in scripts/CNN of my bench ,

Merry Christmas, Detlef

Steve Kroon

unread,
Jan 5, 2015, 3:11:22 AM1/5/15
to oak...@googlegroups.com
Hey Detlef.

Cool, this seems exciting.  I am just back from holiday now, though, so still need to look at these two papers that have (almost?) everyone excited :)  I am also hoping to try set up a project for an Honours student to also work on the CNNs for Computer Go this year.

(I'm involved with another student using CNNs for text classification anyway this year, so guess I need to figure out more about them anyway ;)

Does the iPad have a decent enough GPU for using the trained network efficiently?  How do you envision using it, or is your first aim just to run it as a move predictor as proof of concept?

Steve

--
You received this message because you are subscribed to the Google Groups "Oakfoam" group.
To unsubscribe from this group and stop receiving emails from it, send an email to oakfoam+u...@googlegroups.com.
To post to this group, send email to oak...@googlegroups.com.
Visit this group at http://groups.google.com/group/oakfoam.
For more options, visit https://groups.google.com/d/optout.



--
Steve Kroon | Computer Science Division, Stellenbosch University
(021) 808 9375 (Office) | (084) 458 8062 (Cell) | (086) 655 4386 (Fax)
http://www.cs.sun.ac.za/~kroon | skr...@gmail.com (Google Talk) | 7C01DE17 (BBM PIN)

Detlef Schmicker

unread,
Jan 5, 2015, 4:11:33 AM1/5/15
to oak...@googlegroups.com
Yes it is cool. I think my decisions up to now were quite lucky. Caffe seems to work fine, the caffe community is not responsive, so no help from there, but I figured out most problems myself...

I am running the the big Clark and Storkey at the moment without features (only two input layers with stone positions) and it seems to be trained reasonable on a 60000 kgs games selection.

I follow their arguments and avoid using the last moves features. I also avoid liberties at the moment, as I want to start using the CNN additionally to our actual features, something like oldgamma*(CNN*a+b)

I will try to include this into oakfoam today (I have holidays till tomorrow, and in opposite to you the holidays are the time I can work on such bigger projects:) Then I will see, if linking against caffe is as easy as it should be, again with little help from caffe community:)

The iPad has impressive GPU power, but it still does not support openCL :( But it also has accelerated framework with e. g. convolution functions, which is run on a neon vector processor. As it will take some time: neon will be an option, maybe the summer iOS release will support openCL, and if I am really bored I can use openGL shaders to do it on the GPU :) this is ugly, but I played around with this for an airflow app (but did not use it, as the calculations were to complex, and there was not a lot speedup that time (3years ago, the iPad gpu should be faster now by a factor of >50)

By the way, most work was, that I had to change my linux distribution after 15 years! I was so Debian, now I have to use Ubuntu, as it is one of the Nvidia supported OSs....

Detlef

Steve Kroon

unread,
Jan 6, 2015, 1:31:09 AM1/6/15
to oak...@googlegroups.com
Hey Detlef.

What are your reasons for going the Clark+Storkey vs the Maddison route?  If you are interested in strength, I suggest including the last move feature; but if you are first trying to replicate the results, that makes sense too.

One issue with using the CNN in addition to our current features is that they will be slow to obtain - see the section on Delayed prior knowledge in the Maddison et al. paper - we will need a sensible way to work on the MCTS before the GPU returns with results for a node.

Welcome to the Ubuntu-Borg ;)

Steve

The integrity and confidentiality of this email is governed by these terms / Hierdie terme bepaal die integriteit en vertroulikheid van hierdie epos. http://www.sun.ac.za/emaildisclaimer

--
You received this message because you are subscribed to the Google Groups "Oakfoam" group.
To unsubscribe from this group and stop receiving emails from it, send an email to oakfoam+u...@googlegroups.com.
To post to this group, send email to oak...@googlegroups.com.
Visit this group at http://groups.google.com/group/oakfoam.
For more options, visit https://groups.google.com/d/optout.

Detlef Schmicker

unread,
Jan 6, 2015, 2:18:40 AM1/6/15
to oak...@googlegroups.com
I just tested speed, with the actual net I have 1.6ms evaluation time, as we expand after 10 visits, this does not seem to be a problem (I do not do a bench, don't think it is much of a difference in a big net, as the 1600 cores get busy anyway)
I will try to just do the net at the same place where we do the features anyway....

I do want to have a base line without last move feature. I trained the large net, with only position (this is not in the paper). My result is:
Acc: 41%, Rank: 6.65 Prob: 28.8% on the train set, I do not have a kgs test set at the moment..

ok, now a coffee, then hopefully oakfoam is working with net:) I implemented everything yesterday, but did not test anything, as I wanted to go to sleep, and as I know myself, I would have tried to fix everything before going to bed :)

yes, I'm Borg now.....

Detlef

Detlef Schmicker

unread,
Jan 7, 2015, 8:00:31 AM1/7/15
to oak...@googlegroups.com
Hi,

it seems to be running fine, I just tune the mixing parameters. If I did not again break something I have 160ELO against selfplay without CNN at 500 playouts per move, and the speed did not drop too much.

There was another reason I did not want to take the last move info: I hope during tree search we will play important moves at different critical groups first, leaving the simple moves for the playout rules. But that is only a rough idea, maybe totally wrong:)

By the way, are you going to the Computer Games Congress in Leiden in July? As I have holidays during the conference, I am thinking about going there...

Detlef

Steve Kroon

unread,
Jan 13, 2015, 2:34:21 AM1/13/15
to oak...@googlegroups.com
Hi Detlef.

I don't think I will get funding to go to Leiden, unfortunately :(

160 Elo sounds positive.

About your idea with the tree search about playing critical points in different locap positions - this only makes sense to me if the local positions have roughly equal-sized moves:  In most cases, responding locally is the biggest play because the previous play has some implied threat, so unless some other local position has a move with a threat the same size, playing elsewhere will not be good.

It would be interesting to compare the Elo gain with and without last move information.

Thanks for all you hard work on this, by the way!
Steve

Detlef Schmicker

unread,
Jan 18, 2015, 9:47:09 AM1/18/15
to oak...@googlegroups.com
Ok, I have last 4 moves included in the training now. I get about 48% prediction rate on kgs independent test data set.

It is interesting to see, that kgs >6d play different from my 2000 pro game set, on this set the prediction rate drops from 48 to 43%

With my simple approach mixing the probabilities into the gammas I get less ELO gain (<100 vs 160), but I will check out if parameters have to be changed. Of cause now the locality is in the gammas twice, but I have an parameter in clop training which allows to turn off old gammas completely...

So, I will give that a try!

now I will do some position evaluation training :)

my first very optimistic approach failed, I thought lets see what a CNN can do and trained positions against game result on 160000 kgs games, but that did not work at all:)

now I want to train position v.s. ownership if oakfoam checks it with 1000 playouts on the last position of the game, see what we can get:)


Detlef
Reply all
Reply to author
Forward
0 new messages