210 likes | 302 Views
A System for Evolving Neural Architectures. Steve Donaldson Chris Walling Department of Mathematics and Computer Science Samford University ACM Southeast Conference Tuscaloosa, AL March 31, 2012. Life As We Know It. http://en.m.wikipedia.org/wiki/File:Phylogenetic_Tree_of_Life.png.
E N D
A System for Evolving Neural Architectures Steve DonaldsonChris WallingDepartment of Mathematics and Computer ScienceSamford University ACM Southeast ConferenceTuscaloosa, ALMarch 31, 2012
Life As We Know It http://en.m.wikipedia.org/wiki/File:Phylogenetic_Tree_of_Life.png
Searching the Space of the Possible http://zerotips.com/wp-content/uploads/2012/02/fish_12.jpg http://www.dowscreensaver.com/savers/animals/dinosaur/dinosaur1.jpg http://www.primates.com/chimps/chimpanzee-picture.jpg http://www.insects.org/
And somewhere in the space of genomic possibilities… http://www.brainbasedbusiness.com/uploads/neuron.jpg mage source: http://www.mabot.com/brain/ mage source: http://webspace.ship.edu/cgboer/thebrain.html http://www.chm.bris.ac.uk/webprojects2006/Cowlishaw/300px-Action-potential.png mage source: http://domino.watson.ibm.com/comm/pr.nsf/pages/rscd.neurons_picb.html/$FILE/NeuronsInAColumn1_s.bmp
A specialized neural circuitFelleman’s and Van Essen’s Vision System Circuits (1991) From Suzuki and Amaral in Crick (1994)
Where (in the space of all possible networks) is the encoding for your brain (or any brain)? What is the origin of neural architectures (and how can we better understand it)?
Criteria Observation: In nature, a suitable set of selection pressures can give rise to useful neural structures without explicit design. Implied criteria: Use of an encoding scheme that only partially specifies the resulting NN Maintaining a strict genotype/phenotype distinction Employing an abstract fitness function
Biological Metaphors ACTGCCGTCGTCGAAACGCGTAATTTCCG Genetic Algorithms • Operations • Crossover Exchange genetic material between two individuals • Mutation Randomly change part of the genetic material • Selection The fittest individuals have the best chance of reproducing Neural Networks
Neural Network Class Hierarchy • Network • Module • Module connectivity parameters • Neuron • Neuron connectivity Parameters Module Parameters module ID module description sensory input source motor output target ID module process mode minimum activation maximum activation threshold function firing threshold upper threshold firing value firing probability rest level activation reduction activation reset neurons (list) module connections (list) winning neuron Module Connectivity Parameters target module minimum weight maximum weight minimum creation weight maximum creation weight initial connectivity training type training rate connection decay rate connection decay cutoff Neuron Parameters activation current firing value previous firing value connections (list) Neuron Connectivity Parameters target neuron target module weight module connection parameters
Why modules? • Biological plausibility • Brain architecture is underspecified in the genome • many cognitive functions require collections of neurons working as a unit • To simulate a more realistic search (and hopefully expedite it) • Not the typical approach to encoding a NN for a GA
Probabilistic GA Operators • Crossover • Add module • Delete module • Change module parameters • Module type and motor target • Sensory status • Process mode • Change connection parameters • Add connection • Delete connection • Change connection target • Change trainable status • Change connectivity probability • Concatenate genomes
Fitness Considerations Stylized Phenotypic Movement
Evolution of a Simple Oscillatory Circuit (fixed # of neurons) Preliminary results for 40 test iterations (i.e., extrapolated motion) Majority result
Oscillatory Circuit Evolution for Four Appendages Schematic of a multi-finned organism Population Data Even numbered muscle targets provide propulsion; odd ones restore the fin to a ready position. (after 130,000 generations) raw fitness = (Xfinal2 + Yfinal2)1/2 + total units moved + 0.5 fitness = raw fitness + raw fitness*(100-actual # modules)/100 Average fitness: Start = 2.287; End = 41.736 mutation rate = 0.5 save best member = true module range: 2-20 # of network iterations for GA = 10 crossover rate = 0.5 # of copies to save = 1 neuron range: 10-20 fitness evaluation count = 5
Oscillatory Circuit Evolution for Four Appendages (continued) Module Firing Patterns (Best Result) Associated Motion Size of training search space = 280
Oscillatory Circuit Evolution for Four Appendages (continued) Module Connectivity Connectivity Parameters
Oscillatory Circuit Evolution for Four Appendages (continued) Best result Extrapolated motion trajectories for several phenotypic networks generated from the best (most fit) genome for the population under consideration.
Leaving the Sea If we want to treat the appendages as legs rather than fins, we can modify the fitness function to force the organism to maintain stability (e.g., via simultaneous contact with the ground by legs on opposite sides). An organism that slithered along based on parallel leg motion might not be as efficient as one that used an alternating leg motion (with a body that stayed off the ground): “Billy, you've been sliding in the mud again.. You're not fit to come in the house!”
Potential Concerns Is there too much abstraction? Are there too many degrees of freedom? Is this concept scalable? What is the proper way to define fitness? How is meaning derived from structure?