-
Notifications
You must be signed in to change notification settings - Fork 0
NAS_Evolution
陳鍾誠 edited this page Oct 19, 2021
·
4 revisions
NeuroEvolution of Augmenting Topologies (NEAT)
- 提出 crossover 的方法
- fitness 考慮網路大小
承襲 NEAT,改現代架構 (以層連接)
Algorithm 1 Aging Evolution
population ← empty queue . The population.
history ← ∅ . Will contain all models.
while |population| < P do . Initialize population.
model.arch ← RANDOMARCHITECTURE()
model.accuracy ← TRAINANDEVAL(model.arch)
add model to right of population
add model to history
end while
while |history| < C do . Evolve for C cycles.
sample ← ∅ . Parent candidates.
while |sample| < S do
candidate ← random element from population
. The element stays in the population.
add candidate to sample
end while
parent ← highest-accuracy model in sample
child.arch ← MUTATE(parent.arch)
child.accuracy ← TRAINANDEVAL(child.arch)
add child to right of population
add child to history
remove dead from left of population . Oldest.
discard dead
end while
return highest-accuracy model in history