Yeah Giraffe has a highly optimized implementation of neural nets, and I am still optimizing it all the time.Werewolf wrote:Matthew, this is amazing. It's really excellent that you're doing something new like this. I was under the impression that a neural net had to use lots of computers to function, but I must be wrong, since you've done it in software.matthewlai wrote:
Thanks!
The evaluation function itself IS a neural net. That's the special thing about Giraffe. There were a few previous engines that used neural nets either to tune evaluation functions or combine evaluation terms together, but I believe Giraffe is the first engine that uses a neural net all the way, with almost all knowledge being self-learned. I want to see what it can come up with when it's not constrained by human creativity and how humans think about chess. That seems to have worked out quite well. It has learned a very powerful evaluation function all on its own.
My only concern with all this is - like other posters - even if you get the best evaluation function in the world, if the search is poor there will be a limit on how strong Giraffe is.
Or do you just want to see how high it can go with the search as it is but a better and better evaluation function..?
By the way, when do you graduate?
Keep going!
The first release of Giraffe searched at about 22knps, and this release searches at about 100knps. My development version is already at about 250knps. So while it's definitely not a speed demon, I think it's now getting into a position that is somewhat competitive with engines using much simpler evaluation functions.
The search is poor right now not really because of the slow eval, but just because I haven't optimized it, yet. And also, I am playing with using neural nets to enable highly selective searches, which is why I haven't implemented most of the conventional pruning techniques.
I'll be submitting the thesis in less than a month and hopefully graduating then! However, I have become so attached to Giraffe that I will probably continue working on it afterwards.
And thanks!