title: What do I mutate and crossover in a genetic neural network?
body: <p>I wrote a neural network and made a small application with things eating other things.</p>
  
  <p>But I don't really know, how to make the thing genetic.</p>
  
  <p>Currently I'm recording all the inputs and outputs from every individual every frame.</p>
  
  <p>At the end of an generation, I then teach every knew individual the data from the top 10 best fitting individuals from prevous generations.</p>
  
  <p>But the problem is, that the recorded data from a a pool of top 10 individuals at 100 generations, is about 50MB large. When I now start a new generation with 20 individuals I have to teach them 20x50MB.
  This process takes longer than 3 minutes, and I am not sure if this is what I am supposed to do in genetic neural networks.
  My approach works kind of good actually. Only the inefficiency bugs me. (Of course I know, I could just reduce the population.)</p>
  
  <p>And I could't find me a solution to what I have to crossover and what to mutate.
  Crossovering and mutating biases and weights is nonsense, isn't it? It only would break the network, would't it? I saw examples doing just this. Mutating the weight vector. But I just can't see, how this would make the network progress reaching it's desired outputs.</p>
  
  <p>Can somebody show me how the network would become better at what it is doing by randomly switching and mutating weights and connections?
  Would't it be the same, just randomly generating networks and hoping they start doing what they are supposed to do?</p>
  
  <p>Are there other algorithms for genetic neural networks?</p>
  
  <p>Thank you.</p>