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
0 votes
0 answers
21 views

Less mutation rate is performing better in bigger neural network

I have a genetic AI neural network that evolves every generation and can add or remove neurons and change weights. It evolves good in first generations with mutation rate probability of e.g. ...
Mahdyfo's user avatar
  • 101
0 votes
0 answers
36 views

How to evaluate a neural network that has recurrent connections

I was attempting to implement NEAT but I am facing a slight problem. how can I get the order for which to calculate the output of each neuron with recurrent connections present? I thought if a method ...
Mahmoud Hany's user avatar
1 vote
0 answers
30 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 ...
egil87's user avatar
  • 11
0 votes
1 answer
83 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 ...
Vashu's user avatar
  • 103
4 votes
1 answer
198 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/...
profPlum's user avatar
  • 370
1 vote
0 answers
76 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 ...
xfed's user avatar
  • 11
0 votes
1 answer
109 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 ...
Hugo Aboud's user avatar
1 vote
0 answers
110 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: ...
Hugo Aboud's user avatar
3 votes
1 answer
155 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 ...
Commander's user avatar
  • 137
1 vote
1 answer
95 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 ...
gerichhome's user avatar
1 vote
1 answer
215 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 ...
gerichhome's user avatar
2 votes
0 answers
130 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 ...
Steve Forbes's user avatar
3 votes
0 answers
67 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 ...
Steve Forbes's user avatar
0 votes
2 answers
170 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 ...
SirBob's user avatar
  • 1
2 votes
0 answers
47 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 ...
IAmUser's user avatar
  • 51
1 vote
0 answers
215 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 ...
Rohan Asokan's user avatar
2 votes
1 answer
191 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 ...
Sebastian Allard's user avatar
3 votes
2 answers
415 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 ...
LU15.W1R7H's user avatar
1 vote
1 answer
92 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 ...
Teshan Shanuka J's user avatar
3 votes
2 answers
159 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 ...
GastUser's user avatar
2 votes
0 answers
606 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 ...
Lidor shimoni's user avatar
2 votes
0 answers
40 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 ...
SubstantialRange's user avatar
6 votes
1 answer
170 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 ...
Dara Kong's user avatar
  • 115
2 votes
1 answer
573 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 ...
Dara Kong's user avatar
  • 115
2 votes
1 answer
796 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 ...
nraynaud's user avatar
  • 131
2 votes
2 answers
175 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 ...
Akash Karnatak's user avatar
2 votes
1 answer
621 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 ...
GKozinski's user avatar
  • 1,240
1 vote
1 answer
484 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 ...
Mark's user avatar
  • 21
4 votes
1 answer
120 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 ...
cocojambo's user avatar
1 vote
1 answer
227 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 ...
Ayan Chowdhury's user avatar
5 votes
1 answer
405 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 ...
GKozinski's user avatar
  • 1,240
4 votes
3 answers
420 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 ...
Leroy Od's user avatar
  • 445
6 votes
2 answers
983 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-...
benbyford's user avatar
  • 348
2 votes
1 answer
192 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 ...
SamuelMyself's user avatar
2 votes
1 answer
684 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 ...
olinarr's user avatar
  • 755
5 votes
3 answers
349 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 ...
Adam Geringer's user avatar
1 vote
0 answers
43 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, ...
olinarr's user avatar
  • 755
2 votes
3 answers
170 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 ...
A Twizzler's user avatar
0 votes
0 answers
58 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 ...
olinarr's user avatar
  • 755
4 votes
3 answers
372 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 ...
Dimer's user avatar
  • 331
3 votes
1 answer
73 views

How accurate are neuroevolution algorithms in modelling organism evolution?

How accurate are neuro-evolution algorithms (such as NEAT) in modelling real organism evolution?
Sebastian Dixon's user avatar
5 votes
1 answer
272 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 ...
Aura Lee's user avatar
  • 239
5 votes
1 answer
5k 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 ...
Sebastian Dixon's user avatar
2 votes
0 answers
52 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 ...
user47994's user avatar
2 votes
1 answer
475 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?
Meric Ozcan's user avatar
2 votes
1 answer
797 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 ...
Finn Eggers's user avatar
6 votes
1 answer
617 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 ...
Neil Nahid's user avatar
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 ...
Nigk's user avatar
  • 63
6 votes
1 answer
905 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 ...
Alexus's user avatar
  • 236
0 votes
1 answer
427 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,...
kuma's user avatar
  • 341