Answers.Body: <p>NEAT’s <a href="https://en.wikipedia.org/wiki/Neuroevolution_of_augmenting_topologies" rel="nofollow noreferrer">innovation numbering system</a> ensures that homologous genes (those with same innovation number) are always matched during crossover even when their roles have diverged, while non-homologous connections are treated as disjoint or excess genes. This mechanism prevents loss of ancestor connection information, supports networks of different sizes and structures by matching based on innovation numbers, not position, and promotes connection diversity by assigning incremented unique innovation numbers to mutated new connections.</p>
  <blockquote>
  <p>The competing conventions problem arises when there is more than one way of representing information in a phenotype... NEAT solves this problem by tracking the history of genes by the use of a global innovation number which increases as new genes are added. When adding a new gene the global innovation number is incremented and assigned to that gene. Thus the higher the number the more recently the gene was added. For a particular generation if an identical mutation occurs in more than one genome they are both given the same number, beyond that however the mutation number will remain unchanged indefinitely. These innovation numbers allow NEAT to match up genes which can be crossed with each other.</p>
  </blockquote>
  <p>Therefore in your case the common connection 10 -&gt; 6 is assigned with the same innovation number in the beginning of NEAT algo, say #1, for both neural networks. A child network must inherit this connection with the same innovation number unless it's been <em>disabled</em> in the fitter parent or <em>removed</em> by rare mutation.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-12-11T09:20:52.390Z
Answers.Text: So NEAT doesn't care what role a neuron plays in the overall neural network?
Answers.UserDisplayName: Nikolai Vorobiev
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-12-11T21:51:26.783Z
Answers.Text: Indeed the key innovation in NEAT is that it allows for the evolution of both the number of neurons and connection weights over time. NEAT doesn’t assign any inherent functional role to the specific neurons themselves, whether a neuron acts as an input, hidden, or output node is not fixed, and neurons can take on different roles throughout evolution depending on how the network adapts to the problem at hand. Genes for neurons that might play different roles are still treated as homologous if they share the same innovation number. Hope this clarifies your lingering confusions of this question.
Answers.UserDisplayName: cinch
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-12-11T06:32:07.013Z
Answers.LastActivityDate: 2024-12-11T06:32:07.013Z
Answers.UserDisplayName: cinch
Body: <p>How does innovation deal with the problem of different connections in NEAT? An example makes it clearer: the neural network has two outputs 3 and 4, they are connected according to the scheme 10 -&gt; 6 -&gt; 3, 11 -&gt; 7 -&gt; 4, there is another neural network which has 10 -&gt; 6 -&gt; 4, 11 -&gt; 7 -&gt; 3. It turns out that here 10 -&gt; 6 is responsible for different outputs in Neural Network, how does innovation in NEAT cope with this?</p>
  
Tags: <neural-networks><machine-learning><training><evolutionary-algorithms><neat>
Title: How does innovation deal with the problem of different connections in NEAT?
UserDisplayName: Nikolai Vorobiev
ThreadText: # How does innovation deal with the problem of different connections in NEAT?
  
  (Asked by: username_0 on 2024-12-11)
  
  How does innovation deal with the problem of different connections in NEAT? An example makes it clearer: the neural network has two outputs 3 and 4, they are connected according to the scheme 10 -> 6 -> 3, 11 -> 7 -> 4, there is another neural network which has 10 -> 6 -> 4, 11 -> 7 -> 3. It turns out that here 10 -> 6 is responsible for different outputs in Neural Network, how does innovation in NEAT cope with this?
  
  **Tags:** neural-networks, machine-learning, training, evolutionary-algorithms, neat
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2024-12-11. Score: 2 | Accepted answer
  
  NEAT’s [innovation numbering system](https://en.wikipedia.org/wiki/Neuroevolution_of_augmenting_topologies) ensures that homologous genes (those with same innovation number) are always matched during crossover even when their roles have diverged, while non-homologous connections are treated as disjoint or excess genes. This mechanism prevents loss of ancestor connection information, supports networks of different sizes and structures by matching based on innovation numbers, not position, and promotes connection diversity by assigning incremented unique innovation numbers to mutated new connections.
  
  > The competing conventions problem arises when there is more than one way of representing information in a phenotype... NEAT solves this problem by tracking the history of genes by the use of a global innovation number which increases as new genes are added. When adding a new gene the global innovation number is incremented and assigned to that gene. Thus the higher the number the more recently the gene was added. For a particular generation if an identical mutation occurs in more than one genome they are both given the same number, beyond that however the mutation number will remain unchanged indefinitely. These innovation numbers allow NEAT to match up genes which can be crossed with each other.
  
  Therefore in your case the common connection 10 -> 6 is assigned with the same innovation number in the beginning of NEAT algo, say #1, for both neural networks. A child network must inherit this connection with the same innovation number unless it's been *disabled* in the fitter parent or *removed* by rare mutation.
  
  > **Comments:**
  > **username_0**: So NEAT doesn't care what role a neuron plays in the overall neural network?  
  > **username_1**: Indeed the key innovation in NEAT is that it allows for the evolution of both the number of neurons and connection weights over time. NEAT doesn’t assign any inherent functional role to the specific neurons themselves, whether a neuron acts as an input, hidden, or output node is not fixed, and neurons can take on different roles throughout evolution depending on how the network adapts to the problem at hand. Genes for neurons that might play different roles are still treated as homologous if they share the same innovation number. Hope this clarifies your lingering confusions of this question.  
  
  ---
  
  