Genetic Regulatory Networks Applied to Neural Networks
Bryan AdamsMIT Computer Science and Artificial Intelligence
Laboratory
October 15, 2004 Research Qualifying Exam 2
• Motivation and Related Work
• System Overview and Results
• Conclusions
Outline
• Motivation and Related Work
• System Overview and Results
• Conclusions
October 15, 2004 Research Qualifying Exam 3
Motivation: June, 2004
October 15, 2004 Research Qualifying Exam 4
Motivation
• Robot controllers …– Robust
– Adaptive
– Complex behaviors
• Borrow from biology– Evolutionary Artificial
Neural Networks (ANNs)
– Genetic Regulatory Networks (GRNs)
October 15, 2004 Research Qualifying Exam 5
Motivation
Two similar robots (or cars) …
Slightly different morphologies
October 15, 2004 Research Qualifying Exam 6
• Husbands
– GasNets
• Zhou, Shen
– Bugs
• Stanley, Miikkulainen
– NEAT
Related Work: Evolutionary ANNs
October 15, 2004 Research Qualifying Exam 7
Related Work: GRNs
• Josh Bongard
– Artificial Ontogeny
• Peter Eggenberger
– Neural Retina
• Kumar
– GRN controller
October 15, 2004 Research Qualifying Exam 8
• Motivation and Related Work
• System Overview and Results
• Conclusions
Outline
• Motivation and Related Work
• System Overview and Results
• Conclusions
October 15, 2004 Research Qualifying Exam 9
System Overview: NEAT
• Direct, complete genetic encoding
• “Innovation numbers”– Very clever genetic
operators
– Speciation during evolution
• Theoretically minimal networks
October 15, 2004 Research Qualifying Exam 10
System Overview: GRN
• Repressive control
– Constitutively active
– Repressor shuts off
Pcnt
Prod
= Pcnt – (R Famt) ; >= 0
Prod
R
October 15, 2004 Research Qualifying Exam 11
System Overview: GRN
• Activator control
– Constitutively silent
– Activator causes expression
= A Famt ; <= Pcnt
0
Prod
Prod
A
October 15, 2004 Research Qualifying Exam 12
System Overview: Signals
• Decay according to first-order kineticst=1 = k t=0
• For n signals, half-lives are evenly spaced
October 15, 2004 Research Qualifying Exam 13
System Overview: NEAT-GRN
+
Environment
October 15, 2004 Research Qualifying Exam 14
System Overview: 36 NEAT Parameters
int n_links_avoid_chaining = 15;
int num_tries_insert_hid = 30;
float max_new_weight = 2.50f;
float max_big_weight = 10.0f;
float max_w_change = 2.50f;
bool allow_recurrent_links = false;
int num_tries_insert_link = 30;
float prob_reenable_during_xover = 0.25f;
float max_weight = 12.00f;
float min_weight =-12.00f;
float p_mutate_weights = 0.90f;
int min_size_age_prot = 10;
float old_links_frac = 0.20f;
float old_links_mul = 1.20f;
float p_severe_mut = 0.50f;
float p_severe_change = 0.70f;
float p_severe_new = 0.20f;
float p_normal_change = 0.50f;
float p_normal_new = 0.10f;
int min_size_for_elite = 5;
int max_elderly_amnesty = 15;
float failure_to_improve_penalty = 0.01f;
float good_parent_frac = 0.20f;
float p_mutate_only = 0.25f;
float p_inters_xover = 0.001f;
float upper_spec_frac = 0.22f;
float lower_spec_frac = 0.18f;
float dyn_spec_increment = 0.30f;
float c1 = 1.0f;
float c2 = 1.0f;
float c3 = 0.4f;
float delta_t = 3.0f;
float p_add_node = 0.03f;
float p_add_link = 0.30f;
float p_add_node = 0.001f;
float p_add_link = 0.05f;
October 15, 2004 Research Qualifying Exam 15
System Overview: 30 GRN Parameters
int n_signals = 4;
float max_half_life = 20;
float min_half_life = 2;
int production_steps = 50;
float signal_input_multiplier = 0.01f;
float lethal_fraction = 0.10f;
float p_take_both= 0.25f;
float p_add_copy_link = 0.15f;
float max_num_copies = 3;
float p_mutate_regl = 0.75f;
float p_add_regl = 0.00f;
float p_regl_severe_mut = 0.50f;
float p_regl_normal_chg = 0.50f;
float p_regl_normal_new = 0.10f;
float p_regl_severe_chg = 0.70f;
float p_regl_severe_new = 0.20f;
float c4 = 0.1f;
float p_no_prod = 0.50f;
float p_no_ra = 0.00f;
float p_neg_ctrl = 0.50f;
float famt_max_val = 0.30f;
float famt_max_incr = 0.02f;
float pcnt_max_val = 0.30f;
float pcnt_max_incr = 0.02f;
float p_change_rg = 0.00f;
float p_change_ra = 0.02f;
float p_change_pr = 0.04f;
float p_change_pc = 0.65f;
float p_change_fa = 1.00f;
float expression_amt = 0.00001f;
October 15, 2004 Research Qualifying Exam 16
Results: NEAT and XOR / NXOR
NEAT / XOR
Mean/SD Win gen 24.760 10.653Mean/SD Nodes 2.330 1.225Mean/SD Links 11.545 5.240
Results averaged over 200 runs; 100% solution success
NEAT / NXOR
Mean/SD Win gen 26.080 12.078Mean/SD Nodes 2.445 1.272Mean/SD Links 11.920 5.166
October 15, 2004 Research Qualifying Exam 17
Results: NEAT-GRN XOR / NXOR
Results averaged over 200 runs; 100% solution success
NEAT-GRN / XOR
Mean/SD Win gen 38.280 12.499Mean/SD Nodes 3.070 1.444Mean/SD Links 17.590 6.561
NEAT-GRN / NXOR
Mean/SD Win gen 37.945 14.586Mean/SD Nodes 3.040 1.612Mean/SD Links 17.880 7.608
Mean/SD Expr. Nodes 2.580 1.270Mean/SD Expr. Links 12.630 4.748
Mean/SD Expr. Nodes 2.545 1.299Mean/SD Expr. Links 12.720 5.091
Mean/SD Nodes 2.445 1.272Mean/SD Links 11.920 5.166
Mean/SD Nodes 2.330 1.225Mean/SD Links 11.545 5.240
October 15, 2004 Research Qualifying Exam 18
Results: NEAT-GRN Number of Signals
Results averaged over 200 runs; Same GRN parameters
0
10
20
30
40
50
60
1 2 3 4 5 6 7 8 9 10
Number Of Signals
Gen
era
tio
ns t
o W
inn
er
October 15, 2004 Research Qualifying Exam 19
Results: NEAT-GRN Number of Signals
Results averaged over 200 runs; Same GRN parameters
0
0.2
0.4
0.6
0.8
1
1.2
1 2 3 4 5
Percentage Postive Control
Su
cces
s P
erce
nta
ge
October 15, 2004 Research Qualifying Exam 20
Results: NEAT-GRN XOR & NXORResults averaged over 100 runs
35% solution success (max 250 gen)
Mean/SD Expr. Nodes 2.765 1.214Mean/SD Expr. Links 16.706 6.205
Mean/SD Nodes 2.330 1.225Mean/SD Links 11.545 5.240
NEAT-GRN XOR & NXOR
Mean/SD Win gen 164.294 47.157Mean/SD Nodes 4.353 1.713Mean/SD Links 32.824 11.984
NEAT-GRN / XOR
Mean/SD Win gen 38.280 12.499Mean/SD Nodes 3.070 1.444Mean/SD Links 17.590 6.561
Mean/SD Expr. Nodes 2.580 1.270Mean/SD Expr. Links 12.630 4.748
Mean/SD Expr. Nodes 2.545 1.299Mean/SD Expr. Links 12.720 5.091
October 15, 2004 Research Qualifying Exam 21
Results: XOR & NXOR networkbias_t [000] 0.000inpt_t [001] 0.000inpt_t [002] 0.000outp_t [003] 1.000hidn_t [004] 0.500 r{ + 1/0.029 0.054 }hidn_t [005] 0.500 r{ - 0/0.022 0.043 }hidn_t [007] 0.250 r{ - 0/0.030 0.049 }hidn_t [011] 0.125 r{ + 2/0.046 0.017 }hidn_t [013] 0.625 r{ - 1/0.012 0.096 }hidn_t [019] 0.313 r{ + 3/0.013 0.048 }link_t [000] [e] 0 3 5.88 r{ - 2/0.028 0.039 }link_t [001] [e] 2 3 -3.90 r{ - 2/0.007 0.037 }link_t [001] [e] 2 3 8.10 r{ + 0/0.021 0.005 }link_t [002] [e] 1 3 -6.04 r{ + 3/0.007 0.008 }link_t [003] [e] 2 4 2.70 r{ - 2/0.026 0.036 }link_t [004] [e] 4 3 11.65 r{ - 0/0.035 0.065 }link_t [005] [e] 1 5 -9.92 r{ + 1/0.007 0.040 }link_t [005] [e] 1 5 -10.55 r{ + 2/0.102 0.024 }link_t [005] [e] 1 5 -6.01 r{ + 1/0.021 0.014 }link_t [006] [e] 5 3 -8.85 r{ - 3/0.081 0.010 }link_t [007] [e] 1 4 6.69 r{ - 1/0.049 0.050 }link_t [008] [e] 0 4 -1.19 r{ - 2/0.088 0.005 }link_t [008] [e] 0 4 8.59 r{ - 2/0.045 0.019 }link_t [008] [e] 0 4 -4.49 r{ - 0/0.012 0.034 }link_t [009] [e] 0 5 1.68 r{ - 3/0.051 0.051 }link_t [010] [e] 2 5 3.76 r{ - 0/0.050 0.008 }link_t [010] [e] 2 5 3.41 r{ + 0/0.071 0.026 }link_t [010] [e] 2 5 -10.39 r{ - 3/0.054 0.067 }link_t [013] [e] 1 7 1.17 r{ + 3/0.097 0.022 }link_t [014] [e] 7 5 -12.00 r{ - 3/0.004 0.042 }link_t [017] [e] 2 7 7.27 r{ + 0/0.046 0.045 }link_t [018] [e] 7 4 -1.33 r{ - 2/0.023 0.040 }link_t [021] [e] 7 3 5.15 r{ - 2/0.006 0.059 }link_t [021] [e] 7 3 2.48 r{ + 0/0.031 0.030 }link_t [022] [e] 0 7 -3.24 r{ - 1/0.026 0.064 }link_t [022] [e] 0 7 7.14 r{ + 3/0.050 0.070 }link_t [025] [e] 1 11 7.35 r{ + 3/0.028 0.021 }link_t [026] [e] 11 7 5.03 r{ + 2/0.021 0.030 }link_t [029] [e] 7 13 1.27 r{ - 1/0.040 0.050 }link_t [030] [e] 13 3 -5.13 r{ - 0/0.020 0.041 }link_t [038] [e] 11 3 6.86 r{ - 2/0.032 0.043 }link_t [042] [e] 0 11 2.43 r{ - 1/0.011 0.027 }link_t [043] [e] 11 5 -1.64 r{ + 2/0.027 0.003 }link_t [044] [e] 2 11 -0.37 r{ + 3/0.013 0.023 }link_t [046] [e] 11 4 -8.51 r{ + 0/0.024 0.036 }link_t [053] [e] 11 19 -1.32 r{ - 3/0.058 0.074 }link_t [054] [e] 19 5 -7.22 r{ - 3/0.022 0.105 }link_t [055] [e] 19 4 -8.26 r{ + 3/0.076 0.031 }link_t [060] [e] 19 3 -4.63 r{ - 1/0.155 0.021 }link_t [064] [e] 1 19 -0.33 r{ + 2/0.048 0.016 }link_t [078] [e] 4 13 9.26 r{ + 3/0.078 0.029 }link_t [079] [e] 0 13 -2.86 r{ + 3/0.021 0.009 }link_t [080] [e] 2 13 2.33 r{ + 1/0.039 0.085 }link_t [080] [e] 2 13 -3.19 r{ - 1/0.086 0.061 }link_t [082] [e] 11 13 7.32 r{ + 3/0.034 0.042 }link_t [083] [e] 5 13 -2.39 r{ - 2/0.029 0.006 }link_t [085] [e] 1 13 3.85 r{ - 0/0.039 0.038 }link_t [093] [e] 2 19 -2.90 r{ - 1/0.020 0.021 }link_t [094] [e] 7 19 4.30 r{ + 1/0.001 0.056 }link_t [095] [e] 19 13 2.90 r{ - 2/0.046 0.025 }
Env1
Env0
October 15, 2004 Research Qualifying Exam 22
• Motivation and Related Work
• System Overview and Results
• Conclusions
Outline
• Motivation and Related Work
• System Overview and Results
• Conclusions
October 15, 2004 Research Qualifying Exam 23
Conclusions: Contributions
• Robust– A genome that can choose
between different expressions
• Adaptive– A controller where the env.
Feeds back to the GRN
• Complex behaviors – A genome that codes for
multiple behaviors
• A GRN model that features a variably-decoding phenotype
October 15, 2004 Research Qualifying Exam 24
Conclusions: Carsbias_t [000] 0.000inpt_t [001] 0.000inpt_t [002] 0.000outp_t [003] 1.000hidn_t [004] 0.500 r{ + 1/0.029 0.054 }hidn_t [005] 0.500 r{ - 0/0.022 0.043 }hidn_t [007] 0.250 r{ - 0/0.030 0.049 }hidn_t [011] 0.125 r{ + 2/0.046 0.017 }hidn_t [013] 0.625 r{ - 1/0.012 0.096 }hidn_t [019] 0.313 r{ + 3/0.013 0.048 }link_t [000] [e] 0 3 5.88 r{ - 2/0.028 0.039 }link_t [001] [e] 2 3 -3.90 r{ - 2/0.007 0.037 }link_t [001] [e] 2 3 8.10 r{ + 0/0.021 0.005 }link_t [002] [e] 1 3 -6.04 r{ + 3/0.007 0.008 }link_t [003] [e] 2 4 2.70 r{ - 2/0.026 0.036 }link_t [004] [e] 4 3 11.65 r{ - 0/0.035 0.065 }link_t [005] [e] 1 5 -9.92 r{ + 1/0.007 0.040 }link_t [005] [e] 1 5 -10.55 r{ + 2/0.102 0.024 }link_t [005] [e] 1 5 -6.01 r{ + 1/0.021 0.014 }link_t [006] [e] 5 3 -8.85 r{ - 3/0.081 0.010 }link_t [007] [e] 1 4 6.69 r{ - 1/0.049 0.050 }link_t [008] [e] 0 4 -1.19 r{ - 2/0.088 0.005 }link_t [008] [e] 0 4 8.59 r{ - 2/0.045 0.019 }link_t [008] [e] 0 4 -4.49 r{ - 0/0.012 0.034 }link_t [009] [e] 0 5 1.68 r{ - 3/0.051 0.051 }link_t [010] [e] 2 5 3.76 r{ - 0/0.050 0.008 }link_t [010] [e] 2 5 3.41 r{ + 0/0.071 0.026 }link_t [010] [e] 2 5 -10.39 r{ - 3/0.054 0.067 }link_t [013] [e] 1 7 1.17 r{ + 3/0.097 0.022 }link_t [014] [e] 7 5 -12.00 r{ - 3/0.004 0.042 }link_t [017] [e] 2 7 7.27 r{ + 0/0.046 0.045 }link_t [018] [e] 7 4 -1.33 r{ - 2/0.023 0.040 }link_t [021] [e] 7 3 5.15 r{ - 2/0.006 0.059 }link_t [021] [e] 7 3 2.48 r{ + 0/0.031 0.030 }link_t [022] [e] 0 7 -3.24 r{ - 1/0.026 0.064 }link_t [022] [e] 0 7 7.14 r{ + 3/0.050 0.070 }link_t [025] [e] 1 11 7.35 r{ + 3/0.028 0.021 }link_t [026] [e] 11 7 5.03 r{ + 2/0.021 0.030 }link_t [029] [e] 7 13 1.27 r{ - 1/0.040 0.050 }link_t [030] [e] 13 3 -5.13 r{ - 0/0.020 0.041 }link_t [038] [e] 11 3 6.86 r{ - 2/0.032 0.043 }link_t [042] [e] 0 11 2.43 r{ - 1/0.011 0.027 }link_t [043] [e] 11 5 -1.64 r{ + 2/0.027 0.003 }link_t [044] [e] 2 11 -0.37 r{ + 3/0.013 0.023 }link_t [046] [e] 11 4 -8.51 r{ + 0/0.024 0.036 }link_t [053] [e] 11 19 -1.32 r{ - 3/0.058 0.074 }link_t [054] [e] 19 5 -7.22 r{ - 3/0.022 0.105 }link_t [055] [e] 19 4 -8.26 r{ + 3/0.076 0.031 }link_t [060] [e] 19 3 -4.63 r{ - 1/0.155 0.021 }link_t [064] [e] 1 19 -0.33 r{ + 2/0.048 0.016 }link_t [078] [e] 4 13 9.26 r{ + 3/0.078 0.029 }link_t [079] [e] 0 13 -2.86 r{ + 3/0.021 0.009 }link_t [080] [e] 2 13 2.33 r{ + 1/0.039 0.085 }link_t [080] [e] 2 13 -3.19 r{ - 1/0.086 0.061 }link_t [082] [e] 11 13 7.32 r{ + 3/0.034 0.042 }link_t [083] [e] 5 13 -2.39 r{ - 2/0.029 0.006 }link_t [085] [e] 1 13 3.85 r{ - 0/0.039 0.038 }link_t [093] [e] 2 19 -2.90 r{ - 1/0.020 0.021 }link_t [094] [e] 7 19 4.30 r{ + 1/0.001 0.056 }link_t [095] [e] 19 13 2.90 r{ - 2/0.046 0.025 }
Env1
Env0
October 15, 2004 Research Qualifying Exam 25
Conclusions: Next Robots
October 15, 2004 Research Qualifying Exam 26
Long-term Objectives:Project Overview
I. Academica. Literature search / readingb. Qualifying examinationc. Thesis proposald. Doctoral dissertation
II. Robotic platforma. Design and fabricationb. Robot chassis and motor systemc. Sensors and camerasd. Firmware and drivers
III. Softwarea. Artificial brain modules:
i. NEATer with GRNii. NEATer with developmentiii. NEATer with topologyiv. Synthetic Brains (integrated)
b. Simulation and evolution:i. Simulated arm and motors
ii. Simulated sensors iii. Evolutionary algorithm
An outline of the work to be done between now and October ‘05