1 / 36

A System for Evolving Neural Architectures

A System for Evolving Neural Architectures.

silver
Download Presentation

A System for Evolving Neural Architectures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Life As We Know It http://en.m.wikipedia.org/wiki/File:Phylogenetic_Tree_of_Life.png

  3. Searching the Space of the Possible

  4. 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/

  5. 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

  6. A specialized neural circuitFelleman’s and Van Essen’s Vision System Circuits (1991) From Suzuki and Amaral in Crick (1994)

  7. 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)?

  8. 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

  9. 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

  10. 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

  11. Genome Encoding

  12. 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

  13. 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

  14. Crossover Example

  15. Fitness Considerations Stylized Phenotypic Movement

  16. Evolution of a Simple Oscillatory Circuit (fixed # of neurons) Preliminary results for 40 test iterations (i.e., extrapolated motion) Majority result

  17. 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

  18. Oscillatory Circuit Evolution for Four Appendages (continued) Module Firing Patterns (Best Result) Associated Motion Size of training search space = 280

  19. Oscillatory Circuit Evolution for Four Appendages (continued) Module Connectivity Connectivity Parameters

  20. 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.

  21. 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!”

  22. 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?

  23. What Does This Mean?

  24. Random Variables in Neural Circuit Simulation

  25. Initial Locomotion Simulations

  26. (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

  27. 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.

  28. R01-R12 (etc.) Results

  29. A severe local optimum for the traveling salesperson problem of 50 nodes and a naïve mutation operator

  30. New Fitness Function • fitness = (distance moved from origin + total units moved)/number of modules • fitness = base fitness + 10fitness

  31. 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

  32. Performance for variable numbers of appendages

  33. 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()

More Related