360 likes | 463 Views
A System for Evolving Neural Architectures.
E N D
A System for Evolving Neural Architectures Donaldson, S. and Walling, C. (2012). A system for evolving neural architectures. In S. Vrbsky (Ed.), Proceedings of the 50th Annual Association for Computing Machinery Southeast Conference. Tuscaloosa, AL: Association for Computing Machinery, 232-237
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 • Duplicate a genome • 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?
(Slightly) Revised Fitness Function • fitness = base fitness + distance moved from origin + total units moved • fitness = fitness + fitness*(100 – number of modules)/100 • fitness = 10fitness/20
Performance Under Varying Constraints Configuration IDs are as indicated in previous figure. Configuration R04 has arbitrarily been selected as a basis for comparison. NA = not applicable.
A severe local optimum for the traveling salesperson problem of 50 nodes and a naïve mutation operator
New Fitness Function • fitness = (distance moved from origin + total units moved)/number of modules • fitness = base fitness + 10fitness
Quantity of entities having a fixed number of appendages as generation count increases for a population of size 100 Quantity of entities having a fixed number of appendages as generation count increases for a population of size 20
Let f represent a fitness function. Variables utilized in a fitness calculation are associated with phenotype features (e.g., characteristics, capabilities, behavior (such as motion)) and each of those variables may also be computed by some function p. The function p is a function of genomic features (which reflect variability in the genome). The genomic features are, in turn, a function g of parameter settings as selected by the experimenter. For conciseness, let R[] be an array of parameter settings and let P[] and G[] correspond to arrays of values determined by the functions p and g, respectively. Then G[] = g(R[]) Produce/modify a genotype P[] = p(G[]) Create a phenotype F = f(P[]) Compute the fitness or just F = f(p(g(R[]))) Evolutionary StagesFunction Genome creation g() Genome modification g() Phenotype creation p() Phenotype testing f()