Questions tagged [neat]

For questions related to the neuroevolution technique called NeuroEvolution of Augmenting Topologies (NEAT), introduced in the paper "Evolving Neural Networks through Augmenting Topologies" (2002) by Kenneth O. Stanley and Risto Miikkulainen.

Filter by
Sorted by
Tagged with
14
votes
4answers
13k views

How can I design and train a neural network to play a card game (similar to Magic: The Gathering)?

Introduction I am currently writing an engine to play a card game, as there is no engine yet for this particular game. About the game The game is similar to Magic: The Gathering. There is a commander, ...
10
votes
6answers
627 views

Open-source tools or libraries to experiment with neural networks and evolutionary algorithms [closed]

I'd like to do some experimenting with neural net evolution (NEAT). I wrote some GA and neural net code in C++ back in the 90s just to play around with, but the DIY approach proved to be labor-...
7
votes
2answers
3k views

Can neuro-evolution of augmenting topologies (NEAT) neural networks be built in TensorFlow? [closed]

I am making a machine learning program for time series data analysis and using NEAT could help the work. I started to learn TensorFlow not long ago but it seems that the computational graphs in ...
6
votes
2answers
476 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-...
6
votes
1answer
374 views

How does mating take place in NEAT?

In the Evolving Neural Networks through Augmenting Topologies (NEAT) paper it says (p. 110): The entire population is then replaced by the offspring of the remaining organisms in each species. ...
6
votes
1answer
674 views

How does the NEAT speciation algorithm work?

I've been reading up on how NEAT (Neuro Evolution of Augmenting Topologies) works and I've got the main idea of it, but one thing that's been bothering me is how you split the different networks into ...
5
votes
1answer
554 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
2answers
957 views

Does NEAT require only connection genes to be marked with a global innovation number?

Does NEAT require only connection genes to be marked with a global innovation number? From the NEAT paper Whenever a new gene appears (through structural mutation), a global innovation number is ...
5
votes
1answer
171 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 ...
5
votes
1answer
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 ...
5
votes
1answer
818 views

When do mutations in NEAT occur?

I read through the Evolving Neural Networks through Augmenting Topologies (NEAT) paper. I understand the algorithm now, but one thing is still unclear to me. When does the mutation occur and how ...
5
votes
1answer
539 views

What happens if 2 genes have the same connection but a different innovation number?

I have read the Evolving Neural Networks through Augmenting Topologies (NEAT) paper, but some doubts are still bugging me, so I have two questions. When do mutations occur? Between which nodes? When ...
4
votes
6answers
2k views

How to evaluate a NEAT neural network?

I'm trying to write my own implementation of NEAT and I'm stuck on the network evaluate function, which calculates the output of the network. NEAT as you may know contains a group of neural networks ...
4
votes
2answers
378 views

How do you implement NEAT by taking into account the loops?

I'm working on my own implementation of NEAT algorithm based on the original 2002 paper called "Efficient Reinforcement Learning through Evolving Neural Network Topologies" (by Kenneth O. Stanley and ...
4
votes
1answer
296 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 ...
4
votes
1answer
65 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 ...
4
votes
1answer
144 views

Problem with fitness calculation in NEAT

I am working on a project in which a drone is up to learn to fly. I am using NEAT. For the first experiment I want it to learn how to hover inside a 3x3x3 meters box. My input is 6 sensors for each ...
4
votes
1answer
163 views

Can a crossover result in a node with no outgoing connections?

I'm currently implementing the original NEAT algorithm in Swift. Looking at figure 4 in Stanley's original paper, it seems to me there is a chance that node 5 will have no (enabled) outgoing ...
4
votes
0answers
102 views

Speciation in NEAT - Advantages of keeping stable number of species

I found several methods for setting the compatibility distance in NEAT: some normalize it, some don't, some automatically adjust it. In a few tests I am running, using normalized static compatibility ...
3
votes
1answer
98 views

How do I design a fitness function that weighs the importance of eating food?

Summary: I am teaching bots to pick food on a playing field. Some food is poisonous and some is good. Food Details: Poisonous food subtracts score points and good food adds. Food points vary based on ...
3
votes
2answers
1k views

Can mutation enable a disabled connection?

In the add node mutation, the connection between two chosen nodes (e.g. A and B) is first disabled and then a new node is created between A and B with their respective two connections. I guess that ...
3
votes
1answer
59 views

How accurate are neuroevolution algorithms in modelling organism evolution?

How accurate are neuro-evolution algorithms (such as NEAT) in modelling real organism evolution?
3
votes
1answer
440 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 ...
3
votes
1answer
84 views

Using NEAT, will the child of two parent genomes always have the same structure as the more fit parent?

I'm trying to implement the NEAT Algorithm using c#, based off of Kenneth O. Stanley's paper. On page 109 (12 in the pdf) it states "Matching genes are inherited randomly, whereas disjoint genes (...
3
votes
0answers
228 views

How to perform classification with NEAT-Python?

I am trying to do classification using NEAT-python for the first time, and I am having difficulty getting the accuracy rate. I tried the same problem with an ANN and was able to get a good accuracy ...
3
votes
0answers
2k views

Training AI to play NES/SNES games on NN python [closed]

I am currently getting into Deep Learning and would like to set up an environment for training an Artificial Neural Network or NEAT to play simple video games on NES (Mario etc.) and SNES ( Donkey ...
2
votes
2answers
576 views

How do you choose the number of neurons, synapses, and hidden layers of an ANN (in NEAT)?

I want to make a Connect 4 AI using machine learning, but I'm a complete beginner to the topic. From what I've seen, an ANN is a way to go. Some phrases I've heard are "neuroevolution" and the acronym ...
2
votes
1answer
657 views

Creating a self learning Mario Kart game AI?

I will be undertaking a project over the next year to create a self learning AI to play a racing game, currently the game will be Mario Kart 64. I have a few questions which will hopefully help me ...
2
votes
2answers
117 views

what will i be able to do in the end of AI: modern approach? [closed]

i just started the book and i was wondering , what will i be able to do in AI by the end of the book ? and more particularly, what is my position with Reinforcement Learning, deep neural networks and ...
2
votes
1answer
170 views

Are innovation weights shared in the NEAT algorithm?

I am trying to implement NEAT algorithm in Python from scratch. However, I am stuck. When a new innovation number is created it has two nodes which represents the connection. Also this innovation ...
2
votes
1answer
799 views

How are connection weights “perturbed”?

I am reading through the NEAT paper here. On page 14 of the PDF, there is this quote about mutation: There was an 80% chance of a genome having its connection weights mutated, in which case each ...
2
votes
1answer
98 views

What to do with duplicate Innovations in a genome?

I´m currently implementing NEAT. What should I do when in a mutation the same Innovation occurs which has already happened to that genome? Should I simply ignore it? If not what do I do with it in ...
2
votes
2answers
64 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
1answer
103 views

Disabling of genes during crossover (NEAT)

I am implementing NEAT (Neuroevolution of augmenting topologies) by Stanley, Original Paper. I am facing a problem during crossover of genomes. Suppose two networks with connections ...
2
votes
3answers
119 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 ...
2
votes
1answer
65 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 ...
2
votes
1answer
166 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 ...
2
votes
1answer
96 views

I created a snake game and fitted the NEAT algorithm and there's issues

Below are my Inputs Outputs and fitness function. The snake is learning at a slow rate, and seems to be stagnant, additionally when the snake collides with the food, it gets deleted from the genome, ...
2
votes
2answers
126 views

How to reduce amount of species in NEAT?

I am using the following library: https://github.com/vishnugh/evo-NEAT which seems to be a pretty simple NEAT-implementation. Therefore I am using the following Config: ...
2
votes
1answer
212 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
2answers
469 views

How does adjusted fitness penalize large species in NEAT?

I'm learning about NEAT from the paper Evolving Neural Networks through Augmenting Topologies. I'm having trouble understanding how adjusted fitness penalizes large species and prevents them from ...
2
votes
0answers
67 views

NEAT can't solve XOR completely

I'm currently implementing the NEAT algorithm. But problems occur when testing it with problems which don't have a linear solution(for example xor). My xor only produces 3 correct outputs once at a ...
2
votes
2answers
61 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
0answers
162 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
1answer
147 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 ...
2
votes
2answers
405 views

NEAT - Managing species across generations

I (mis?)understood the NEAT algorithm has the following steps: Create a genome pool with N random genomes Calculate each genome fitness Assign each genome to a species Calculate the adjusted fitness ...
2
votes
1answer
611 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 ...
1
vote
1answer
96 views

How does NEAT find the most successful generation without gradients?

I'm new to NEAT, so, please, don't be too harsh. How does NEAT find the most successful generation without gradient descent or gradients?
1
vote
1answer
59 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 ...
1
vote
1answer
131 views

Can neuro-evolution methods be combined with A3C?

As a amateur researcher and tinkerer, I've been reading up on neuro-evolution networks (e.g. NEAT) as well as the A3C RL approach presented by Mnih et al and got to wondering if anyone has ...