Questions tagged [neuroevolution]

For questions related to neuroevolution (or neuro-evolution) techniques, such as NEAT, that are used to evolve (or train) artificial neural networks (that is, they are used evolve their parameters or topology), inspired by the natural evolution. A neuroevolution algorithm is thus an evolutionary algorithm where the genomes (individuals or chromosomes) are artificial neural networks.

Filter by
Sorted by
Tagged with
1 vote
0 answers
6 views

How do I use the N correctly in NEATs speciation delta function?

When implementing NEAT I'm having some issues with the speciation distance/delta function, specifically the term N (number of genes in biggest genome). Won't term $N$ in $δ=c1*E/N+c2*D/N+c3*W$ just ...
  • 11
0 votes
1 answer
34 views

Emergent behavior in AI models that looks similar to natural neural systems

"ImageNet Classification with Deep Convolutional Neural Networks" by Krizhevsky & Sutskever & Hinton describes very interesting emergent behavior of the AlexNet. It was trained on 2 ...
  • 103
0 votes
0 answers
26 views

In NEAT, how do I prevent duplicate connections?

According to this paper, duplicate mutations are only given the same innovation numbers within the same generation. What do I do if a connection gets broken into 2 connections and a node during 2 ...
3 votes
1 answer
88 views

How does OpenAI-ES use Adam?

I just read that OpenAI's ES uses Adam: "OpenAI’s ES is denoted as “OptimES” (since it uses Adam optimizer)"?? I verified they are correct using the link they posted, (see es_distributed/...
  • 296
1 vote
0 answers
47 views

neat - what is the purpose of looped networks?

So im writing my own implementation of NEAT and i'm wondering how looped networks (like one shown in the image) can be useful. I'll probably implement them anyway because i want to fiddle around with ...
  • 11
0 votes
1 answer
59 views

Order of operations on sparse recurrent network alters the output. How to deal with it?

I'm working on an implementation of NEAT, which evolves neural networks with small and sparse topologies. Evaluating a sparse and possibly recurrent network requires a different approach than the ...
1 vote
0 answers
53 views

NEAT: How to properly handle Node IDs and avoid Competing Conventions?

I'm working on yet another NEAT implementation for a personal project, and I feel like I'm missing something about the proposed solution to the Competing Conventions problem. Here's what I'm assuming: ...
3 votes
1 answer
96 views

What does "unknown search spaces" mean in the context of Evolutionary Algorithms?

In the article Multi-Verse Optimizer: a nature-inspired algorithm for global optimization (DOI 10.1007/s00521-015-1870-7), it's written The results of the real case studies also demonstrate the ...
  • 137
0 votes
0 answers
85 views

Evaluating species stagnation in NEAT

I'm exploring the NEAT algorithm, and among all of my questions on how to optimize my models, I was wondering how should I evaluate the stagnation of species in order to eventually extinct it. ...
1 vote
1 answer
72 views

Different ways to produce the same network in NEAT

I have an interesting example for the NEAT and want to clarify what behavior is correct from NEAT's perspective and why (why the opposite is wrong, what are the consequences of choosing the different ...
1 vote
1 answer
118 views

In the NEAT algorithm, what is the purpose of treating disjoint and excess genes differently?

In the NEAT algorithm, what is the purpose of treating disjoint and excess genes differently? They are treated so (or may be treated potentially) at least when calculating the distance between 2 ...
2 votes
0 answers
78 views

In NEAT, how do node numbers work?

I have read a lot of debates about node ids and such. I'm not 100% sure how it works, but I am assuming the next node added to a network would be the next number in that specific networks list? For ...
3 votes
0 answers
57 views

How does the paper implement NEAT without a global set tracking Innovations?

I have been reading this paper on NEAT and trying to implement the algorithm in C#. For the most part, I understand everything in the paper however, there are 2 things I don't understand that confuse ...
0 votes
2 answers
101 views

How to ensure that the ES-HyperNEAT algorithm generates an ANN in the substrate?

I'm trying to implement the ES-HyperNEAT algorithm using the original paper, as well as the pseudocode provided in the official user page. Occasionally, the algorithm would be unable to generate a ...
  • 1
2 votes
0 answers
29 views

Is there an optimal number of species for NEAT?

Is there an optimal number of species for NEAT? Since too low and too high is bad, I am thinking about adjusting the threshold of the distance function at runtime in order to have the number of ...
  • 51
1 vote
0 answers
155 views

How can I perform the forward pass in a neural network evolved with NEAT, given that some connections may not exist or there may be loopy connections?

I have a problem that arose as part of a NEAT (Neuro Evolution Through Augmenting Topologies) implementation that I am writing. I am wanting it to produce topologies or graphs that describe neural ...
2 votes
1 answer
124 views

Evolved networks fail to solve XOR

My implementation of NEAT consistently fails to solve XOR completely. The species converge on different sub-optimal networks which map all input examples but one correctly (most commonly (1,1,0)). Do ...
3 votes
2 answers
239 views

Is it possible to perform neuroevolution without a fitness function?

My question is about neuroevolution (genetic algorithm + neural network): I want to create artificial life by evolving agents. But instead of relying on a fitness function, I would like to have the ...
1 vote
1 answer
57 views

Choosing an AI method to recreate a given binary 2D image

If the title wan not very clear, I want a method to take an input image like this, [[0, 0, 0, 0], [1, 1, 1, 0], [1, 1, 1, 0], [0, 1, 1, 0]] and output the 2D ...
3 votes
2 answers
118 views

How do I determine the genomes to use for crossover in NEAT?

If I have the fitness of each genome, how do I determine which genome will crossover with which, and so on, so that I get a new population? Unfortunately, I can't find anything about it in the ...
2 votes
0 answers
365 views

How to select good inputs and fitness function to achive good results with NEAT for Icy Tower bot

I'm trying to make a bot to the famous "Icy Tower" game. I rebuilt the game using pygame and I'm trying to build the bot using Python-NEAT. Every generation a population of 70 characters ...
2 votes
0 answers
36 views

Can operations like convolution and pooling be discovered with a neural architecture search approach?

From Neural Architecture Search: A Survey, first published in 2018: Moreover, common search spaces are also based on predefined building blocks, such as different kinds of convolutions and ...
6 votes
1 answer
131 views

In NEAT, is it a good idea to give the same ID to node genes created from the same connection gene?

Do I have to prevent nodes created from the same connection gene to have different IDs/innovation number? In this example, the node 6 is created from the connection going from node 3 to node 4: In ...
  • 115
2 votes
1 answer
428 views

Do I have to crossover my node genes in NEAT, and how?

I'm currently trying to code the NEAT algorithm by myself, but I got stuck with two questions. Here they are: What happens if during crossover a node is removed (or disabled) and there's a connection ...
  • 115
2 votes
1 answer
459 views

How to choose the activation function in neuroevolution?

I am developing a NEAT flappy bird game, and it doesn't work, the system stays stupid for 300 generations. I chose tanh() for activation, just because it's included in JS. I can't find a good ...
  • 131
2 votes
2 answers
103 views

Are connections genes in a genome ever deleted or just disabled?

When a new node is added, the previous connection is disabled and not removed. Is there any situation in which a connection gene is removed? For example, in the above diagram connection gene with ...
2 votes
1 answer
353 views

What are evolutionary algorithms for topology and weights evolving of ANN (TWEANN) other than NEAT?

I wonder, if there are other than NEAT approaches to evolving architectures and weights of artificial neural networks? To be more specific: I am looking for projects/frameworks/libraries that use ...
  • 1,195
1 vote
1 answer
201 views

How are weights updated in a genetic algorithm with neural network?

Suppose an AI is to play the game flappy bird. And the fitness function is how long the bird has traveled before the game ends. Would we have multiple neural networks initialized at the beginning ...
  • 21
4 votes
1 answer
76 views

When using Neural Architecture Search, how are the hyper-parameters chosen?

I have read a lot about NAS, but I still do not understand one concept: When setting up a neural network, hyperparameters (such as the learning rate, dropout rate, batch size, filter size, etc.) need ...
1 vote
1 answer
149 views

Unable to achieve expected outputs using NEAT for the snake game

I am trying to implement NEAT for the snake game. My game logic is ready, which is working properly and NEAT configured. But even after 100 generations with 200 genomes per generation, the snakes ...
5 votes
1 answer
229 views

Why evolutionary training of neural networks is not popular?

Evolutionary algorithms are mentioned in some sources as a method to train a neural network (finding weights, not hyperparameters). However, I have not heard about one practical application of such an ...
  • 1,195
4 votes
3 answers
367 views

Iteratively and adaptively increasing the network size during training

For an experiment that I'm working on, I want to train a deep network in a special way. I want to initialize and train a small network first, then, in a specific way, I want to increase network depth ...
  • 375
6 votes
2 answers
780 views

Can neuroevolution be combined with gradient descent?

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-...
  • 348
2 votes
1 answer
164 views

How can non-functional neural networks be avoided when the crossover produces a child with a disabled gene?

I am implementing NEAT (neuroevolution of augmenting topologies) by Stanley. I am facing a problem during the crossover of genomes. Suppose two networks with connections ...
2 votes
1 answer
584 views

Is there any research work that attempts to combine neuroevolution with deep reinforcement learning?

Neuroevolution can be used to evolve a network's architecture (and weights, of course). Deep reinforcement learning, on the other hand, has been proven to be extremely powerful at optimising the ...
  • 725
5 votes
3 answers
316 views

How is neural architecture search performed?

I have come across something that IBM offers called neural architecture search. You feed it a data set and it outputs an initial neural architecture that you can train. How is neural architecture ...
1 vote
0 answers
40 views

What are some examples of tasks in which, currently, neuroevolution outperforms gradient-based approaches?

Note: I am NOT asking for general advantages of neuroevolution over standard approaches (e.g.: architecture search, parallelization), I am asking for examples of tasks in which, currently, ...
  • 725
2 votes
3 answers
139 views

What does the formula $1-\sum_i(e_i-a_i)^2$ mean in this NEAT Python API?

I have looked at the documentation for the NEAT Python API found here, where it's written The error for each genome is $1-\sum_i(e_i-a_i)^2$ I have not yet learned calculus, so I can't understand ...
0 votes
0 answers
54 views

How do I choose an appropriate fitness function and hyper-parameters to train a 7-DOF arm?

I am trying to train an ANN to control a 7 Degrees-Of-Freedom arm. It should reach a target avoiding a single obstacle. Given my modeling of the situation, my input layer is composed of 12 nodes: 5 ...
  • 725
4 votes
3 answers
355 views

Can neural networks evolve other neural networks?

Can neural networks change or evolve other neural networks? Also, could evolutionary algorithms be applied to evolve neural networks? For example, suppose that we have neural networks A and B. The ...
  • 331
3 votes
1 answer
68 views

How accurate are neuroevolution algorithms in modelling organism evolution?

How accurate are neuro-evolution algorithms (such as NEAT) in modelling real organism evolution?
5 votes
1 answer
203 views

Is there a neural network with a varying number of neurons?

Is there some type of neural network that changes the number of neurons while training? Using this idea, the network can increase or decrease the number of neurons when the complexity of the inputs ...
  • 239
4 votes
1 answer
2k views

Why would someone use NEAT over other machine learning algorithms?

Why would someone use a neuroevolution algorithm, such as NEAT, over other machine learning algorithms? What situation would only apply to an algorithm such as NEAT, but no other machine learning ...
2 votes
0 answers
43 views

Can neuroevolution be used for solving tasks other than games?

I'm seeing a lot of examples of neuroevolution techniques involving games or robot problems. Can neuroevolution be used for solving tasks other than games? For example, how could you transform a CSV ...
2 votes
1 answer
335 views

Can NEAT produce neural networks where inputs are directly connected to outputs?

Can NEAT produce neural networks where inputs are directly (without intermediate hidden neurons) connected to outputs?
2 votes
1 answer
720 views

What is the order of the genetic operations in NEAT?

I was trying to implement NEAT, but I got stuck at the speciating of my clients/genomes. What I got so far is: the distance function implemented, each genome can mutate nodes/connections, two ...
6 votes
1 answer
598 views

What if the more fit parent has fewer nodes compared to the other, will the disjoint and excess genes be discarded?

In the paper Efficient Evolution of Neural Network Topologies (2002), the authors say Genes that do not match are inherited from the more fit parent What if the more fit parent has fewer nodes ...
5 votes
1 answer
3k views

Several questions regarding the NEAT algorithm [closed]

I've recently read the paper Evolving Neural Networks through Augmenting Topologies which introduces NEAT. I am now trying to prototype it myself in JavaScript. However, I stumbled across a few ...
  • 63
6 votes
1 answer
587 views

Does training happen during NEAT?

When one uses NEAT to evolve the best fitting network for a task, does training take place in each epoch as well? If I understand correctly, training is the adjustment of the weights of the neural ...
  • 236
0 votes
1 answer
311 views

How to compute the output of a neural network produced by NEAT?

I used to work with layered neural networks, where, given certain inputs, the output is produced layer-by-layer. With NEAT, a neural network may assume any topology, and they are no longer layered. So,...
  • 331