A comparison of evolution strategies and backpropagation for neural ...
This work is devoted to an investigation of evolutionary learning via evolution strategies (ES) and an empirical comparison with a classical neural network
This work is devoted to an investigation of evolutionary learning via evolution strategies (ES) and an empirical comparison with a classical neural network
This paper elaborates on the performances of two automated evolutionary methods for optimizing deep learning architectures on the relevant and important tasks
This report investigates evolution strategies (ESs, a subclass of evolutionary algorithms) as an alternative to gradient-based neural
The main difference is that Evolutionary Algorithms tend to optimize through maximization, while traditional Deep Learning tends to optimize
Algorithm 1 (n,m)-Evolution strategy optimizing real-valued vector and utilizing adaptive variance for each pa-rameter procedure (n,m)-ES t ←0 Initialize population P t n by randomly generated vectors ⃗ xt = (xt 1,...,xt N,σt 1,...,σt N) Evaluate individuals in P t while not terminating criterion do for i ←1,...,m do choose randomly a parent ⃗ xt i, generate an offspring ⃗ yt i by Gaussian mutation: for j ←1,...,N do σ′ j ←σj ·(1 + α ·N(0,1)) x′ j ←xj + σ′ j ·N(0,1) end for insert ⃗ yt i to offspring candidate population P′ t end for Deterministically choose P t+1 as n best individ-uals from P′ t Discard P t and P′ t t ←t + 1 end while end procedure 4.1 Individuals Individuals are coding feed-forward neural networks im-plemented as Keras model Sequential.
5 HIERARCHYEVOLVE(numSteps, population,data) 1 INITIALIZE(population) / / large number of random mutations 2 step = 0 3 while step < numSteps 4 while step < population.size 5 arch = population[step] 6 model = ASSEMBLEASSMALLMODEL(arch) 7 accuracy = FIT(model,data) 8 arch.fitness = accuracy 9 parent = TOURNAMENT SELECT(evaluatedPopulation) 10 child = MUTATE(parent) / / crossover is not used for this evolution 11 model = ASSEMBLEASSMALLMODEL(child) 12 accuracy = FIT(model,data) 13 child.fitness = accuracy 14 population.APPEND(child) / / population increases with each step 15 step = step+1 4 Experiments In order to examine the performance and adaptiveness of our implementation, we performed experiments on both image classification and language modeling benchmark datasets. Representation, evolution steps (200 steps) 0.6508 ± 0.0691 0.337 ± 0.160 Table 5: Average results from each experiment 9 (a) Blueprint fitness (b) Module fitness Figure 5: Average and highest fitness of Blueprint and Module populations across generations Best model Test Accuracy Parameters(M) CoDeepNEAT 0.8633 18.128 Hier. We aspire to improve upon the test-perplexity score of 78, the best score found in literature that was achieved on PTB with evolutionary algorithms [10] Our ultimate goal is to create a single unified evolutionary framework capable of evolving a deep neural network optimally designed for any language modeling and image classification task.
A comparison is provided on key aspects, such as scalability, exploration, adaptation to dynamic environments, and multiagent learning.
3 Evolution of Deep Learning Architectures NEAT neuroevolution method (Stanley and Miikkulainen 2002) is first extended to evolving network topol-ogy and hyperparameters of deep neural networks in DeepNEAT, and then further to coevolution of mod-ules and blueprints for combining them in CoDeepNEAT. However, even with-out these additions, the results demonstrate that it is now possible to develop practical applications through evolving DNNs. 6 Discussion and Future Work The results in this paper show that the evolutionary approach to optimizing deep neural networks is feasible: The results are comparable to hand-designed architectures in benchmark tasks, and it is possible to build real-world applications based on the approach.