10 - Neuroevolution Flashcards
Evolving Weights
Instead of using backprop, use evolution to find weights
Mutation is the main operator to search new solutions
Advantages of neuroevolution vs backprop
- Evolving weights can be applied to any network arch
- … can be applied to any transfer function
Evolving architectures (in terms of model layers)
Evolution can be used to find the optimal model layers etc
3 features of NeuroEvolution of Augmenting Topologies
- Tracking genes with historical markers to make crossover less destructive
- Apply speciation. New topologies are like a new species and protected during evolution
- starts small and add
Evolving learning rules
- Problem/arch dependent
evolve the parameter (eg learning rate)
evolve the function
decide the inputs of the rule
decide the function type
tune the parameters of the rule
Direct Representation
ABCABCABCABCABCABC
Indirect Representation
ABCx6
Closer to biological inspiration
Compressed
Disadvantages of direct rep
in ABCABCABCABCABCABC
changing all As would be costly. in indirect it is not
Disadvantage of indirect rep
If there is a lot of uniqueness in the pattern it’s difficult
Or if you wabt to change just one A in ABCx6 then it is hard
Reuse and Rediscovery
Reuse is reusing structures in different places but there can be variation
Grammatical Developmental Encodings
- Uses properties of grammars and computer languages
subroutines and hierarchies
Cell Chemistry dev encodings
- simulate low level chemical and biological properties
- simulate diffusion of chemicals, reaction, production, signalling etc
Grammatical: L-systems
Good for fractal like structures.
Using substitutions of A B etc
EXAMPLE ONLY:
Variables : A B
axiom: A
rules (A->AB), (B-> A)
n = 0 : A
n = 1: AB
n = 2: ABA
n = 3: ABAAB
CPPN Compositional Pattern Producing Networks
Artificial indirect encoding to abstract how embryos are encoded through DNA
HyperNEAT
- Uses CPPN Compositional Pattern Producing Networks
- Uses an indirect encoding approach
- Can evolve network with millions of connections
- Query each potential connection on substrate
- Feed each coordinate pair into CPPN
- Set weight of connection between pair to value of output
n by n neurons means (n * n) ^2 connections