neat puppy?


I’ve finally written a preliminary version of NEAT that works with recurrent.js graph objects.  I have heavily modified recurrent.js to include many new differentiable activation functions, so NEAT can choose from a wide array of activations – gaussian, sine, cosine, sigmoid, tanh, relu, abs, square, and multiplication gates.  This work is similar to a picbreeder clone, but in javascript rather than a java applet.


A simple test script written so that I can test the image generating functions entirely in node.js and have the images rendered as .png files.  The right most two images are mutated crossovers of the first pair and second pair of images from the left, after many generations of random mutations and node / connection additions.


Some of these don’t look that bad – the one second from bottom right looks like a head or skull of an animal, from crossing over an image consisting of four round things and another image of a yellow blob.

Screen Shot 2015-07-19 at 6.49.52 PM


The graph object seems to work as well to graph out the genome’s diagram corresponding to the generated image.