<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Asynchronous Evolution of Convolutional Networks</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Petra Vidnerová</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Roman Neruda</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Czech Academy of Sciences Institute of Computer Science</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2018</year>
      </pub-date>
      <volume>2203</volume>
      <fpage>80</fpage>
      <lpage>85</lpage>
      <abstract>
        <p>Due to many successful practical applications, deep neural networks and convolutional networks have become the state-of-art machine learning methods recently. The choice of network architecture for the task at hand is typically made by trial and error. This work deals with an automatic data-dependent architecture design. We propose an algorithm for optimization of architecture of convolutional network based on asynchronous evolution. The algorithm is inspired by and designed directly for the Keras library which is one of the most common implementations of deep neural networks. The proposed algorithm is successfully tested on MNIST and Fashion-MNIST data sets.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Various architectures of deep neural networks (DNN) have
become the state-of-art methods in many fields of machine
learning in recent years. They have been applied to
various problems, including image recognition, speech
recognition, and natural language processing [
        <xref ref-type="bibr" rid="ref3">7, 11</xref>
        ].
      </p>
      <p>Deep neural networks are feed-forward neural networks
with multiple hidden layers between the input and output
layer. The layers typically have different units depending
on the task at hand. Among the units, there are traditional
perceptrons, where each unit (neuron) realizes a
nonlinear function, such as the sigmoid function, or the rectified
linear unit (ReLU).</p>
      <p>Convolutional networks (CNN) are family of DNN.
They typically have three types of layers –
convolutional layers, max-pooling layers, and dense (i.e.
fullyconnected) layers. For the most common case of image
processing, convolutional layers perform convolution of
an input image to abstract high-level features. They are
defined by a set of learnable filters. Max-pooling layers
reduce the size of representation, their function is fixed
and they are not learnable. Dense layers are usually used
as the last layers of the network to perform the actual
classification.</p>
      <p>While the learning of weights (including filters) of the
CNN is done by algorithms based on the stochastic
gradient descent, the choice of architecture, including a number
and sizes of layers, number and size of convolutional
filters, size of pools in pooling-layers, and a type of
activation function, is done manually by the user. However, the
choice of architecture has an important impact on the
performance of the CNN. Some kind of expertise is needed,
and usually a trial and error method is used in practice.</p>
      <p>In this work we exploit a fully automatic design of
CNNs. We investigate the use of evolutionary algorithms
for evolution of a CNN architecture. There are not many
studies on evolution of CNN since such approach has
very high computational requirements. To keep the search
space as small as possible, we simplify our model focusing
on implementation of CNN in the Keras library [3] that is
a widely used tool for practical applications of DNNs and
CNNs.</p>
      <p>The approach described in this paper extends our
previous results for evolving DNNs limited to networks with
dense layers only [25, 24]. The proposed algorithm is
evaluated on the MNIST and Fashion-MNIST data sets that are
both classification tasks of small gray-scale images.</p>
      <p>The paper is organized as follows. Next Section reviews
related work. Section 3 describes the main ideas of our
approach. Section 4 explains the main ideas of asynchronous
evolution. Section 5 summarises the results of our
experiments, and finally Section 6 brings conclusion.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>Neuroevolution represents an attempt to train a neural
network by means of evolutionary techniques [5]. In
traditional neuroevolution, no gradient descent is usually
involved, and both architecture and weights of the network
undergo the evolutionary process. However, because of
large computational requirements the applications are
limited to small networks.</p>
      <p>
        There were quite many attempts on architecture
optimization via evolutionary process (e.g. [
        <xref ref-type="bibr" rid="ref1">22, 1</xref>
        ]) in previous
decades. Successful evolutionary techniques evolving the
structure of feed-forward and recurrent neural networks
include NEAT [20], HyperNEAT [
        <xref ref-type="bibr" rid="ref11">19</xref>
        ] and CoSyNE [6]
algorithms.
      </p>
      <p>On the other hand, studies dealing with evolution of
deep neural networks and convolutional networks started
to emerge only very recently. The training of one DNN
usually requires hours or days of computing time, quite
often utilizing GPU processors for speedup. Naturally,
the evolutionary techniques requiring thousands of
training trials were not considered a feasible choice.
Nevertheless, there are several approaches to reduce the overall
complexity of neuroevolution for DNN. Still due to limited
computational resources, the studies usually focus only on
parts of network design.</p>
      <p>
        For example, in [
        <xref ref-type="bibr" rid="ref6">14</xref>
        ] CMA-ES is used to optimize
hyperparameters of DNNs. In [
        <xref ref-type="bibr" rid="ref14">10</xref>
        ] the unsupervised
convolutional networks for vision-based reinforcement learnin g
are studied, the structure of CNN is held fixed, and only a
small recurrent controller is evolved. However, the recent
paper [
        <xref ref-type="bibr" rid="ref9">17</xref>
        ] presents a simple distributed evolutionary
strategy that is used to train relatively large recurrent network
with competitive results on reinforcement learning tasks.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref8">16</xref>
        ] automated method for optimizing deep learning
architectures through evolution is proposed, extending
existing neuroevolution methods. Authors of [4] sketch a
genetic approach for evolving a deep autoencoder network
enhancing the sparsity of the synapses by means of
special operators. The paper [
        <xref ref-type="bibr" rid="ref7">15</xref>
        ] presents two versions of an
evolutionary and co-evolutionary algorithm for design of
DNN with various transfer functions. Finally, [21]
proposes genetic programming to evolve CNNs.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Our Approach</title>
      <p>In our approach we use asynchronous evolution to search
for optimal architecture of CNN, while the weights are
learned by gradient based technique.</p>
      <p>The main idea of our approach is to keep the search
space as small as possible, therefore the architecture
specification is simplified. It directly follows the
implementation of CNN in Keras library, where networks are defined
layer by layer. Layer is specified by its type –
convolutional, max-pooling, dense. Dense layers are defined by
a number of neurons, type of an activation function (all
neurons in one layer have the same type of their activation
function), and the type of regularization (such as dropout).
Convolutional layers are defined by number of filters, size
of the filter, and possibly the type of an activation function
and type of regularization. Max-pooling layers are defined
by the size of pool.</p>
      <p>
        In this paper, we limit to networks that can be split into
two parts.The first part is a preprocessing part, it contains
only convolutional and max-pooling layers, and it is
responsible for the preprocessing of the input and
abstracting high-level features. The second part is a classifier and
it consists of dense layers. Such architecture corresponds
to the original proposal of the LeNet architecture [
        <xref ref-type="bibr" rid="ref4">12</xref>
        ]
(Fig. 1).
      </p>
      <sec id="sec-3-1">
        <title>3.1 Individuals</title>
        <p>In order to apply genetic algorithm (GA) to the search for
an optimal CNN architecture, we have to be able to encode
the architecture by an individual of the GA.</p>
        <p>Our proposal of encoding closely follows the CNN
description and implementation in the Keras [3] model
Sequential. The model implemented as Sequential is built
layer by layer, similarly the GA individual consists of
blocks representing individual layers.</p>
        <p>I = (I1, I2),
I1 = ([type, params]1, . . . , [type, params]H1)</p>
        <p>I2 = ([size, dropout, act]1, . . . , [size, dropout, act]H2)
where I1 and I2 are the convolutional and dense part,
respectively, H1, H2 is the number of layers in convolutional
and dense part, respectively. The blocks in convolutional
part encode type ∈ { convolutional, max − pooling}
type of layer and params other parameters of the layer
(for convolutional layer it is number of filters, size of
filter, and activation function; for max-pooling layer it is
only size of pool). The blocks in dense part code dense
layers, so they consist of size the number of neurons,
drop the dropout rate (zero value represents no dropout),
act ∈ { relu, tanh, sigmoid, hardsigmoid, linear}
activation function.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Genetic Operators</title>
        <p>To produce new individuals in genetic algorithm we use
recombination operators crossover and mutation.
Crossover The crossover operator combines two parent
individuals and produces two offspring individuals. It is
implemented as one-point crossover, where the crossing
point is determined at random, but on the border of a block
only. The two parts of the individual are crossed over
separately, so if parents are I = (I1, I2) and J = (J1, J2) we run
crossover(I1, J1) and crossover(I2, J2).</p>
        <p>Let the two parents be:</p>
        <p>Ip1 = (B1p1, B2p1, . . . , Bkp1)</p>
        <p>Ip2 = (B1p2, B2p2, . . . , Blp2),
then, the crossover produces offspring:</p>
        <p>Io1 = (B1p1, . . . , Bcp1, Bcpp22+1, . . . , Blp2)</p>
        <p>p1
Io1 = (B1p2, . . . , Bcp2, Bcpp11+1, . . . , Bkp1),</p>
        <p>p2
where cp1 ∈ { 1, . . . , k − 1} and cp2 ∈ { 1, . . . , l − 1} .</p>
        <p>Thus, only the whole layers are interchanged between
individuals.</p>
        <p>Mutation The mutation operator brings random changes
to an individual. Each time an individual is mutated, one
of the following mutation operators is randomly chosen
(each of mutation operators has its own probability):
• mutateLayer - introduces random changes to one
randomly selected layer.
• addLayer - one randomly generated block is inserted
at random position. If it is inserted to the first part of
the individual, its either convolutional layer or
maxpooling layer; otherwise it is dense layer.
• delLayer - one randomly selected block is deleted.</p>
        <p>When mutateLayer is performed, again one of the
available operators is chosen. For dense layers they are:
• changeLayerSize - the number of neurons is changed.</p>
        <p>The Gaussian mutation is used, the final number is
rounded (since size has to be an integer).
• changeDropOut - the dropout rate is changed using
the Gaussian mutation.
• changeActivation - the activation function is changed,
randomly chosen from the list of available
activations.</p>
        <sec id="sec-3-2-1">
          <title>For max-pooling layers:</title>
          <p>For convolutional layers:
• changePoolSize - the size of pooling is changed.
• changeNumberOfFilters - the number of filters is
changed. The Gaussian mutation is used, the final
number is rounded.
• changeFilterSize - the size of the filter is changed.
• changeActivation - the activation function is changed,
randomly chosen from the list of available
activations.
3.3</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>Fitness</title>
        <p>Fitness function should reflect a quality of the network
represented by an individual. To assess the generalization
ability of the network represented by the individual we use
a crossvalidation error. The lower the crossvalidation
error, the higher the fitness of the individual.</p>
        <p>Classical k-fold crossvalidation is used, i.e. the trainin g
set is split into k-folds and each time one fold is used for
testing and the rest for training. The mean loss function on
the testing set over k run is evaluated.</p>
        <p>For the classification tasks, categorical crossentropy is
used as the loss function.
As a parental selection operator, the tournament selection
is used in our algorithm. It works as follows, in each turn
of the tournament, k individuals are selected at random,
and the one with the highest fitness—in our case the one
with the lowest crossvalidation error—is selected.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Asynchronous Evolution</title>
      <p>In classical genetic algorithm the individuals are
evaluated in generations. In each generation, new individuals
are produced based on operators selection, mutation, and
crossover, their fitness is evaluated and they replace the
old generation. The fitness evaluations are independent
and can be done in parallel.</p>
      <p>
        There are many approaches to parallelization of
genetic algorithms. In general, there are three classes
of parallel GA approaches – single population
masterslave model, single population fine-grained, and
multipopulation coarse grained model (see [
        <xref ref-type="bibr" rid="ref13 ref2">2, 9</xref>
        ] for more
details).
      </p>
      <p>In our work we use the master-slave parallelization
method (Fig. 2). It works with single population of
individuals, and the evaluations of individuals are performed
in parallel – the master stores the population and the slaves
evaluate the fitness. The algorithm itself is same as for
serial GA, each individual may compete and mate with any
other.</p>
      <p>The fitness evaluation is parallelized so that a fraction of
the population is assigned to each of the processors.
Communication occurs only when a slave receives an
individual to evaluate and when a slave returns a fitness value.</p>
      <p>The algorithm is normally defined as synchronous, i.e.
the master waits for the slaves to receive the fitness values
for all the population and only then it proceeds to the next
generation. Such synchronous master-slave algorithm has
exactly the same properties as a simple sequential
algorithm.</p>
      <p>However, the disadvantage of such synchronous parallel
approach is that in general, not all fitness evaluations
require same time. In our particular case, some individuals
represent large networks and require long time to evaluate,
on the other hand there might be very small networks that
are evaluated much faster. At the end of each generation,
there are processors that are already finished and waiting
for the ones evaluating large networks.</p>
      <p>
        As a solution to this problem we have chosen to use
asynchronous evolution [
        <xref ref-type="bibr" rid="ref10">18</xref>
        ]. In asynchronous evolution
there is no notion of generations, but as soon as there is a
free processor, a new individual is generated and send for
evaluation. Such approach may significantly improve the
usage of computationally resources. The scheme of the
algorithm is presented in Alg. 1.
      </p>
      <p>One of the features of asynchronous approach is that it
is naturally biased towards solution with faster fitness
evaluation. In our case we consider this feature to be an
advantage, because we are more interested in smaller networks
with shorter learning time. As our practical experiments in
the next section imply, this feature is not harmless, it seems
in fact not sufficient and maybe a further discrimination of
larger networks in fitness function can be beneficial.</p>
      <p>The (synchronous and asynchronous) master-slave
approach can be easily and efficiently implemented both on
shared-memory and distributed-memory parallel
computers. On a shared-memory multiprocessor, the population is
stored in memory and each slave process can access the
individuals assigned to itself. On a distributed-memory
computer, the master process is responsible for storing the
population, sending the individuals to other processes (slaves),
collecting the results and producing new generation by
genetic operators.</p>
      <sec id="sec-4-1">
        <title>Algorithm 1 Asynchronous EA</title>
        <p>procedure ASYNCEA(MINPOPSIZE,POPSIZE)
P ← 0/
while | P| &lt; minPopSize do
if not node available then</p>
        <p>wait()
end if
while node available do
ind ← RandomIndividual()
evaluate(ind)
end while
evaluatedInd ← getEvaluatedIndividual()
P ← P ∪ { evaluatedInd}
end while
ind ← produceIndividual()
evaluate(ind)
while termination criterion not met do
evaluatedInd ← getEvaluatedIndividual()
P ← P ∪ { evaluatedInd}
if | P| &gt; popSize then</p>
        <p>discard the worst individual from P
end if
ind ← produceIndividual()
evaluate(ind)
end while
end procedure
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Experiments</title>
      <p>
        For our experiments we have chosen the well known
MNIST data set [
        <xref ref-type="bibr" rid="ref5">13</xref>
        ] and Fashion-MNIST data set [26].
      </p>
      <p>Each data set contains 70 000 images of 28 × 28 pixel.
60 000 are used for training, 10 000 for testing. In MNIST,
there are images of handwritten digits (see Fig. 3), while
in Fashion-MNIST are images of fashion objects (Fig. 4).</p>
      <p>Our implementation of the proposed algorithm is
available at [23].</p>
      <p>On the MNIST data set, the evolved architecture has
even less number of weights than the baseline model.
However, on the Fashion-MNIST the evolution was not
so successful and the evolved architecture is quite bloated.
The architecture complexity is not reflected in the fitness
function directly, but the asynchronous evolution should
tend to prefer smaller networks.</p>
      <p>We have also compared the synchronous parallelization
with asynchronous one in terms of time requirements. We
0 0 0 0
5 5 5 5
10 10 10 10
15 15 15 15
20 20 20 20
250 5 10 15 20 25 250 5 10 15 20 25 250 5 10 15 20 25 250 5 10 15 20 25
0 0 0 0
5 5 5 5
10 10 10 10
15 15 15 15
20 20 20 20
250 5 10 15 20 25 250 5 10 15 20 25 250 5 10 15 20 25 250 5 10 15 20 25
We have proposed an algorithm for automatic design of
convolutional networks based on asynchronous evolution.
The algorithm was tested in experiments on two image
classification tasks, the MNIST and Fashion-MNIST data
sets. The evolved networks were compared to baseline
models, and they achieved competitive results (in terms of
slightly better classification accuracies). We have shown
that it is possible to automatically find solutions
comparable to those designed by human expert.</p>
      <p>The main limitation of the presented algorithm is its
time complexity. The possibility to trade human expert
knowledge for computational resources should be seen as
an advantage in several scenarios. Our main motivation is
to develop an autonomous system capable of creating
machine learning models without human intervention. This
may be useful for the cases where no expert is available or
a new task without prior experience is encountered. Also,
in critical cases where even a small performance gain is
necessary, our approach has demonstrated its usability.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgment</title>
      <p>This work was partially supported by the Czech Grant
Agency grant 18-23827S and institutional support of the
Institute of Computer Science RVO 67985807.</p>
      <p>Access to computing and storage facilities owned by
parties and projects contributing to the National Grid
Infrastructure MetaCentrum provided under the programme
"Projects of Large Research, Development, and
Innovations Infrastructures" (CESNET LM2015042), is greatly
appreciated.</p>
      <p>
        One direction of our future work is to try to lower
the number of fitness evaluations using surrogate
modelling [
        <xref ref-type="bibr" rid="ref12">8</xref>
        ] or to investigate other types of parallel
evolutionary algorithms (such as multi-deme GA [
        <xref ref-type="bibr" rid="ref13">9</xref>
        ]). We also plan
to tune automatically the learning algorithm, i.e. search
for other hyper-parameters, such as the type of learning
algorithm, learning rates, etc.
https://github. om/f [3] F. Chollet. Keras. hollet/keras, [20] K. O. Stanley and R. Miikkulainen. Evolving neural
net2015. works through augmenting topologies. Evolutionary
Com[4] O. E. David and I. Greental. Genetic algorithms for evolv- putation, 10(2):99–127, 2002.
      </p>
      <p>ing deep neural networks. In Proceedings of the Compan- [21] M. Suganuma, S. Shirakawa, and T. Nagao. A genetic
proion Publication of the 2014 Annual Conference on Genetic gramming approach to designing convolutional neural
netand Evolutionary Computation, GECCO Comp ’14, pages work architectures. CoRR, abs/1704.00764, 2017.</p>
      <p>1451–1452, New York, NY, USA, 2014. ACM. [22] B. u. Islam, Z. Baharudin, M. Q. Raza, and P.
Nallagown[5] D. Floreano, P. Dürr, and C. Mattiussi. Neuroevolution: den. Optimization of neural network architecture using
from architectures to learning. Evolutionary Intelligence, genetic algorithm for load forecasting. In 2014 5th
Inter1(1):47–62, 2008. national Conference on Intelligent and Advanced Systems
[6] F. Gomez, J. Schmidhuber, and R. Miikkulainen. Accel- (ICIAS), pages 1–6, June 2014.</p>
      <p>erated neural evolution through cooperatively coevolved [23] P. Vidnerová. GAKeras.
synapses. Journal of Machine Learning Research, pages
937–965, 2008.
[7] I. Goodfellow, Y. Bengio, and A. Courville.</p>
      <p>Deep Learning. MIT Press, 2016.
github. om/PetraVidnerova/GAKeras, 2017.
[24] P. Vidnerová and R. Neruda. Evolution strategies for
deep neural network models design. In Proceedings ITAT
2017: Information Technologies - Applications and Theory.</p>
      <p>Aachen &amp; Charleston: Technical University &amp;
CreateSpace Independent Publishing Platform, 2017 - (Hlavácˇová,</p>
      <p>J.), CEUR Workshop Proceedings, V-1885 , pages 159–166.
[25] P. Vidnerova and R. Neruda. Evolving keras architectures
for sensor data analysis. In 2017 Federated Conference
on Computer Science and Information Systems (FedCSIS),
pages 109–112, Sept 2017.
[26] H. Xiao, K. Rasul, and R. Vollgraf. Fashion-mnist: a novel
image dataset for benchmarking machine learning
algorithms, 2017.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>J.</given-names>
            <surname>Arifovic</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Gençay</surname>
          </string-name>
          .
          <article-title>Using genetic algorithms to select architecture of a feedforward artificial neural network</article-title>
          .
          <source>Physica A: Statistical Mechanics and its Applications</source>
          ,
          <volume>289</volume>
          (
          <issue>3-4</issue>
          ):
          <fpage>574</fpage>
          -
          <lpage>594</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>E.</given-names>
            <surname>Cantú-Paz</surname>
          </string-name>
          .
          <article-title>A survey of parallel genetic algorithms</article-title>
          .
          <source>CALCULATEURS PARALLELES</source>
          ,
          <volume>10</volume>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Lecun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Bengio</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Hinton</surname>
          </string-name>
          .
          <article-title>Deep learning</article-title>
          .
          <source>Nature</source>
          ,
          <volume>521</volume>
          (
          <issue>7553</issue>
          ):
          <fpage>436</fpage>
          -
          <lpage>444</lpage>
          , 5
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Lecun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Bottou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Bengio</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Haffner</surname>
          </string-name>
          .
          <article-title>Gradientbased learning applied to document recognition</article-title>
          .
          <source>Proceedings of the IEEE</source>
          ,
          <volume>86</volume>
          (
          <issue>11</issue>
          ):
          <fpage>2278</fpage>
          -
          <lpage>2324</lpage>
          ,
          <year>Nov 1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Y.</given-names>
            <surname>LeCun and C.</surname>
          </string-name>
          <article-title>Cortes. The mnist database of handwritten digits</article-title>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>I.</given-names>
            <surname>Loshchilov</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Hutter</surname>
          </string-name>
          .
          <article-title>CMA-ES for hyperparameter optimization of deep neural networks</article-title>
          .
          <source>CoRR, abs/1604.07269</source>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>T. H.</given-names>
            <surname>Maul</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bargiela</surname>
          </string-name>
          , S.-Y. Chong,
          <article-title>and</article-title>
          <string-name>
            <given-names>A. S.</given-names>
            <surname>Adamu</surname>
          </string-name>
          .
          <article-title>Towards evolutionary deep neural networks</article-title>
          .
          <source>In Flaminio Squazzoni</source>
          , Fabio Baronio, Claudia Archetti, and Marco Castellani, editors,
          <source>ECMS 2014 Proceedings. European Council for Modeling and Simulation</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>R.</given-names>
            <surname>Miikkulainen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. Zhi</given-names>
            <surname>Liang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Meyerson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rawal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Fink</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Francon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Raju</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Shahrzad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Navruzyan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Duffy</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Hodjat</surname>
          </string-name>
          .
          <article-title>Evolving deep neural networks</article-title>
          .
          <source>CoRR, abs/1703.00548</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>T.</given-names>
            <surname>Salimans</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Ho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <surname>and I. Sutskever.</surname>
          </string-name>
          <article-title>Evolution Strategies as a Scalable Alternative to Reinforcement Learning</article-title>
          . ArXiv e-prints ,
          <year>March 2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>E. O.</given-names>
            <surname>Scott</surname>
          </string-name>
          and K. A. De Jong.
          <article-title>Understanding simple asynchronous evolutionary algorithms</article-title>
          .
          <source>In Proceedings of the 2015 ACM Conference on Foundations of Genetic Algorithms XIII</source>
          , pages
          <fpage>85</fpage>
          -
          <lpage>98</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [19]
          <string-name>
            <surname>K. O. Stanley</surname>
          </string-name>
          ,
          <string-name>
            <surname>D. B. D'Ambrosio</surname>
            ,
            <given-names>and J.</given-names>
          </string-name>
          <string-name>
            <surname>Gauci</surname>
          </string-name>
          .
          <article-title>A hypercube-based encoding for evolving large-scale neural networks</article-title>
          .
          <source>Artif. Life</source>
          ,
          <volume>15</volume>
          (
          <issue>2</issue>
          ):
          <fpage>185</fpage>
          -
          <lpage>212</lpage>
          ,
          <year>April 2009</year>
          . http://www.deeplearningbook.org.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Jin</surname>
          </string-name>
          .
          <article-title>Surrogate-assisted evolutionary computation: Recent advances and future challenges</article-title>
          .
          <source>Swarm and Evolutionary Computation</source>
          ,
          <volume>1</volume>
          (
          <issue>2</issue>
          ):
          <fpage>61</fpage>
          -
          <lpage>70</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Knysh and Victor M. Kureichik</surname>
          </string-name>
          .
          <article-title>Parallel genetic algorithms: a survey and problem state of the art</article-title>
          .
          <source>Journal of Computer and Systems Sciences International</source>
          ,
          <volume>49</volume>
          (
          <issue>4</issue>
          ):
          <fpage>579</fpage>
          -
          <lpage>589</lpage>
          ,
          <year>Aug 2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J.</given-names>
            <surname>Koutník</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Schmidhuber</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Gomez</surname>
          </string-name>
          .
          <article-title>Evolving deep unsupervised convolutional networks for vision-based reinforcement learning</article-title>
          .
          <source>In Proceedings of the 2014 Annual Conference on Genetic and Evolutionary Computation</source>
          ,
          <source>GECCO '14</source>
          , pages
          <fpage>541</fpage>
          -
          <lpage>548</lpage>
          , New York, NY, USA,
          <year>2014</year>
          . ACM.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>