A System for Evolving Neural Architectures

cathamAI and Robotics

Oct 23, 2013 (3 years and 9 months ago)

65 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

http://en.m.wiki pedia.org/wi ki/File:Phylogenetic_Tree_of _Lif e.png

Life As We Know It

Searching the Space of the Possible

Searching the Space of the Possible

http://www.dowscreensaver.com/savers/animals/dinosaur/dinosaur1.jpg

http://www.primates.com/chimps/chimpanzee
-
picture.jpg

http://zerotips.com/wp
-
content/uploads/2012/02/fish_12.jpg

http://www.insects.org/

mage source: http://www.mabot.com/brain/

mage source: http://webspace.ship.edu/cgboer/thebrai n.html

mage source:

http://domino.watson.ibm.com/comm/pr.nsf/pages/rscd.neurons_picb.html/$FILE/NeuronsInAColumn1_s.bmp

http://www.brainbasedbusiness.com/uploads/neuron.jpg

http://www.chm.bris.ac.uk/webpr
ojects2006/Cowlishaw/300px
-
Action
-
potential.png

And somewhere in the space of genomic possibilities…

A specialized
neural circuit


Felleman’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:


1.
Use of an encoding scheme that only partially
specifies the resulting NN

2.
Maintaining a strict genotype/phenotype
distinction

3.
Employing an abstract fitness function

Biological Metaphors

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

ACTGCCGTCGTCGAAACGCGTAATTTCCG

Neural Networks



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

Neural Network Class Hierarchy

Genome Encoding

Why modules?


1.
Biological plausibility

a.
Brain architecture is underspecified in the genome

b.
many cognitive functions require collections of neurons
working as a unit


2.
To simulate a more realistic search (and hopefully expedite it)


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

Population Data

Oscillatory Circuit Evolution for Four Appendages

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

(after 130,000 generations)

Even numbered
muscle targets
provide propulsion;
odd ones restore
the fin to a ready
position.

Initial #
modules

Initial
fitness

Final #
modules

Final
fitness

18

0.500

9

8.304

2

0.500

9

8.304

10

0.500

10

10.338

9

0.500

8

11.073

7

0.500

10

11.693

4

0.500

9

12.976

7

0.500

8

13.920

13

0.935

10

15.037

13

0.935

9

16.789

12

0.940

10

35.379

10

0.950

9

62.449

4

0.980

9

67.168

4

0.980

9

67.361

3

0.985

9

68.150

18

4.550

9

68.298

13

4.675

9

68.383

10

4.750

9

70.826

9

4.775

9

71.794

18

5.895

9

72.033

16

10.882

9

74.447

raw fitness = (X
final
2

+ Y
final
2
)
1/2

+ total units moved + 0.5

fitness = raw fitness + raw fitness*(100
-
actual # modules)/100

Schematic of a multi
-
finned organism

Oscillatory Circuit Evolution for Four Appendages

(continued)

Module Firing Patterns (Best Result)

Associated Motion

Time

M0:M1

M2:M3

M4:M5

M6:M7

1

1 : 0

1 : 0

0 : 0

0 : 1

2

0 : 1

0 : 0

1 : 0

1 : 0

3

1 : 0

0 : 1

0 : 1

0 : 1

4

0 : 1

1 : 0

1 : 0

1 : 0

5

1 : 0

0 : 1

0 : 1

0 : 1

6

0 : 1

1 : 0

1 : 0

1 : 0

7

1 : 0

0 : 1

0 : 1

0 : 1

8

0 : 1

1 : 0

1 : 0

1 : 0

9

1 : 0

0 : 1

0 : 1

0 : 1

10

0 : 1

1 : 0

1 : 0

1 : 0

11

1 : 0

0 : 1

0 : 1

0 : 1

12

0 : 1

1 : 0

1 : 0

1 : 0

13

1 : 0

0 : 1

0 : 1

0 : 1

14

0 : 1

1 : 0

1 : 0

1 : 0

15

1 : 0

0 : 1

0 : 1

0 : 1

16

0 : 1

1 : 0

1 : 0

1 : 0

17

1 : 0

0 : 1

0 : 1

0 : 1

18

0 : 1

1 : 0

1 : 0

1 : 0

19

1 : 0

0 : 1

0 : 1

0 : 1

20

0 : 1

1 : 0

1 : 0

1 : 0

Size of training
search space = 2
80


Oscillatory Circuit Evolution for Four Appendages

(continued)

Module Connectivity


From


To

Connectivity
probability


From


To

Connectivity
probability

0

2

0.638

5

1

0.415

0

4

0.436

5

6

0.568

0

6

0.646

5

2

0.201

1

4

0.024

5

7

0.222

1

2

0.544

5

8

0.161

2

4

0.424

6

0

0.797

2

3

0.794

6

2

0.441

2

5

0.027

6

3

0.928

2

0

0.042

6

5

0.537

2

1

0.481

7

6

0.100

3

7

0.362

7

0

0.021

3

6

0.981

7

4

0.201

3

4

0.421

7

7

0.414

3

8

0.243

7

5

0.342

3

0

0.568

7

8

0.416

3

2

0.808

8

3

0.967

4

5

0.332

8

1

0.079

4

8

0.585

8

4

0.173

4

0

0.807

8

2

0.459

4

7

0.214

8

7

0.233

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.

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

Leaving the Sea

Potential Concerns


1.
Is there too much abstraction?


2.
Are there too many degrees of freedom?


3.
Is this concept scalable?


4.
What is the proper way to define fitness?


5.
How is meaning derived from structure?