Answers.Body: <p>Yes it can be in addition to the papers that nbro linked to above uber's ai research team has a very interesting combination of sgd and neuroevolution which they have dubbed "safe mutations". In the algorithm each genome undergoes a bit of sgd to improve its fitness before the speciation, elitism, and reproduction processes. I imagine this has an effect of searching for genomes which are well suited for sgd optimization, and in my opinion does really provide the best of both a worlds. Here is the link to the paper <a href="https://arxiv.org/abs/1712.06563" rel="nofollow noreferrer">https://arxiv.org/abs/1712.06563</a> . What I think would be a cool for this combination of the two would be its use in conjunction with the es-hyperneat/hyperneat neuroevolution algorithms in which a small genome cppn encodes large phenotype rnns using the rnns substrate (its structure represented with cartesian coordinates) as the cppns input. If a small amount sgd is used on the rnn's to improve fitness then what you end up with is a cppn is being evolved to encode very general rnn networks that can then be optimized to specific domains via sgd. I like this because then your neuroevolution doesnt occur on a massive rnn and you can create cppns that recognize the general problem you wish to solve if your clever with your fitness evaluation.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-07-08T15:13:57.097Z
Answers.LastActivityDate: 2019-07-08T16:28:03.660Z
Answers.LastEditDate: 2019-07-08T16:28:03.660Z
Answers.UserDisplayName: nickw
Answers.Body: <p>The paper <a href="https://pdfs.semanticscholar.org/5071/d5f447a99f7e4d522f07f7752ca1435e13c9.pdf" rel="nofollow noreferrer">The Comparison and Combination of Genetic and Gradient Descent Learning in Recurrent Neural Networks: An Application to Speech Phoneme Classification</a> (2007), by Rohitash Chandra and Christian W. Omlin, uses genetic algorithms to train a recurrent neural network and then uses gradient descent to fine tune the trained model.</p>
  
  <p>The paper <a href="https://arxiv.org/pdf/1810.06773.pdf" rel="nofollow noreferrer">Evolutionary Stochastic Gradient Descent for Optimization of Deep Neural Networks</a> (2018), by Xiaodong Cui, Wei Zhang, Zoltán Tüske and Michael Picheny, also combines evolutionary algorithms and gradient descent, but, in this case, they alternate between a gradient descent step and an evolution step. This is an example of a <em>evolutionary stochastic gradient descent</em> (ESGD) method, as opposed to a <a href="https://arxiv.org/pdf/1711.09846.pdf" rel="nofollow noreferrer">population-based training (PBT)</a> method, which uses only evolutionary algorithms to train neural networks.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-07-08T11:51:54.167Z
Answers.LastActivityDate: 2019-07-08T11:51:54.167Z
Answers.UserDisplayName: nbro
Body: <p>Is there any precedent for using a neuroevolution algorithm, like NEAT, as a way of getting to an initialization of weights for a network that can then be fine-tuned with gradient descent and back-propagation? </p>
  
  <p>I wonder if this may be a faster way of getting to a global minimum before starting a decent to a local using backpropagation with a large set of input parameters.</p>
  
Tags: <machine-learning><genetic-algorithms><gradient-descent><neat><neuroevolution>
Title: Can neuroevolution be combined with gradient descent?
UserDisplayName: benbyford
ThreadText: # Can neuroevolution be combined with gradient descent?
  
  (Asked by: username_0 on 2019-07-08)
  
  Is there any precedent for using a neuroevolution algorithm, like NEAT, as a way of getting to an initialization of weights for a network that can then be fine-tuned with gradient descent and back-propagation?
  
  I wonder if this may be a faster way of getting to a global minimum before starting a decent to a local using backpropagation with a large set of input parameters.
  
  **Tags:** machine-learning, genetic-algorithms, gradient-descent, neat, neuroevolution
  
  ---
  
  ## 2 answers
  
  ### Answer by username_2 on 2019-07-08. Score: 4 | Accepted answer
  
  The paper [The Comparison and Combination of Genetic and Gradient Descent Learning in Recurrent Neural Networks: An Application to Speech Phoneme Classification](https://pdfs.semanticscholar.org/5071/d5f447a99f7e4d522f07f7752ca1435e13c9.pdf) (2007), by Rohitash Chandra and Christian W. Omlin, uses genetic algorithms to train a recurrent neural network and then uses gradient descent to fine tune the trained model.
  
  The paper [Evolutionary Stochastic Gradient Descent for Optimization of Deep Neural Networks](https://arxiv.org/pdf/1810.06773.pdf) (2018), by Xiaodong Cui, Wei Zhang, Zoltán Tüske and Michael Picheny, also combines evolutionary algorithms and gradient descent, but, in this case, they alternate between a gradient descent step and an evolution step. This is an example of a *evolutionary stochastic gradient descent* (ESGD) method, as opposed to a [population-based training (PBT)](https://arxiv.org/pdf/1711.09846.pdf) method, which uses only evolutionary algorithms to train neural networks.
  
  
  ---
  
  ### Answer by username_1 on 2019-07-08. Score: 1
  
  Yes it can be in addition to the papers that nbro linked to above uber's ai research team has a very interesting combination of sgd and neuroevolution which they have dubbed "safe mutations". In the algorithm each genome undergoes a bit of sgd to improve its fitness before the speciation, elitism, and reproduction processes. I imagine this has an effect of searching for genomes which are well suited for sgd optimization, and in my opinion does really provide the best of both a worlds. Here is the link to the paper <https://arxiv.org/abs/1712.06563> . What I think would be a cool for this combination of the two would be its use in conjunction with the es-hyperneat/hyperneat neuroevolution algorithms in which a small genome cppn encodes large phenotype rnns using the rnns substrate (its structure represented with cartesian coordinates) as the cppns input. If a small amount sgd is used on the rnn's to improve fitness then what you end up with is a cppn is being evolved to encode very general rnn networks that can then be optimized to specific domains via sgd. I like this because then your neuroevolution doesnt occur on a massive rnn and you can create cppns that recognize the general problem you wish to solve if your clever with your fitness evaluation.
  
  
  ---
  
  