2

A while ago I was experimenting with evolving virtual creatures using neural network + genetic algorithm, but that didnt go well (simulation speed was too slow, mainly because bad programming habbits of creatures, not neural network). I used Feedforward neural network and now I can see it isnt exactly right choice for this kind of application (creatures have no memory, etc.)

I would like to try again, start from scratch, and I would like to perform better than before. However, I dont know what neural network architecture to select.

What I need:

  • Possibility of memory: Should I study more about memory cells, or is using correct NN architecture (like Reccurent NN) enough? What will be main differencies?
  • Possibility of mutations: I would like to not only mutate weihts in network, but also possibility of adding weights / neurons into "black box". I plan to use genetic algorithm, so cross mutations + random mutations.
  • Easy programming: I plan on not using any assets and to write my NN from ground in order to learn. I would preffer more easy neural networks than others. (While Im writing this, I realize there might not be difference)

What I dont need:

  • Quick computation: I think that 90% of CPU time will be used on other things of controling my creatures, than on computing NN. (as I am terrible programmer)
  • Training: I will use genetic algorithm to train, so I dont need typical training methods to train NN. I can use types of NN where training part is very CPU intense, as I will drop this part out.

I am looking at possible types of NN and I think some type of Recurrent network would be suitable, but cant really pick a winner, since I only ever worked with Feedforward type, and I will need to learn about the type you will reccomend before I start writing it. I would like to learn just the one you will suggest instead of learn pros/cons of all, since I think It would set me back for too long.

The task for is to surive. I dont have any objective aside than observing interesting patterns of behaviour that can evolve. Basically I would like to "seed" the world with some properties with creatures that can exploit those (food, temperature, danger) and such. Everything very basically modeled, in flat 2D.

Question is: What is the type of NN that you think would suit this best?

closed as too broad by Euphoric, user40980, Tulains Córdova, user53019, Kilian Foth Jan 23 '15 at 13:26

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • please don't cross-post: stackoverflow.com/questions/28084513/… – gnat Jan 22 '15 at 9:39
  • They asked me there to come here.... I hoped to get some experienced opinion, not be played ping-pong and rejected everywhere. Is my question really so stupid? – Maximus Jan 22 '15 at 9:41
  • 2
    Simulation of neural networks of real brains is extremely broad field of study. Nothing that can be answered using A&Q format. – Euphoric Jan 22 '15 at 9:41
  • Im not looking for straight answers, but I think some types of nerual networks fits more than others, and I think some people might know which those are. Still hoping for answer – Maximus Jan 22 '15 at 9:45
  • 5
    @Maximus: To fix the cross-post comment, you can delete the question on SO. For future reference, if you are asked to go to a different site, either delete the question that was deemed misplaced (if it doesn't have any answers), or flag the moderators to migrate the question. – Bart van Ingen Schenau Jan 22 '15 at 9:59
2

What you are looking for is Neuro Evolution. According to this paper you could be in a position to create a trainable feed forward Neural Network (some extra information might also be found here).

My recommendation would be to start small, maybe first start by making your character move and stop in the presence of danger. Neural networks can be rather difficult to debug, so start slowly to make sure that you have a solid base.

  • I would like to use different type than feedforward type, since that doesnt have any memory to previous states. I will start small and slowly add features, but I would like to start with right type of NN from start. – Maximus Jan 22 '15 at 10:17
  • @Maximus: As far as I know, the memory of the neural networks is contained within the weights between the nodes themselves, which are the same weights which the genetic algorithm modifies. As stated by Euphoric, this is a rather broad field, so going through academic material (other than the ones I have included) should better help you choose. – npinti Jan 22 '15 at 10:21
  • I know how weights works. They act like "instincts". But I will not be training my creatures with learning algorithm, instead I will use genetic algorithm to breed the best brains. I would like memory, that once generation can memorize something and use it as its advantage (look in direction A -> see static danger, walk back without looking back there all the time just to make sure stimulate "danger" neuron. – Maximus Jan 22 '15 at 10:25
  • @Maximus: Yes, and in this case, the best brain would be defined by the network which has the combination of sets which better applies to the problem you have. – npinti Jan 22 '15 at 10:37
  • Im not trying to find best brain. Im trying to find brain architecture that will have highest potential in all the things I wrote above. Weights will be updated only to newly breeded creatures. All their time living, weights will be the same. Im not trying to find best weights instantly, but the suitable architecture (that will mutate over time). Im not asking for 5x5x5 or something, im asking for "Try hopfield, or try Echo state" or something like that – Maximus Jan 22 '15 at 11:02

Not the answer you're looking for? Browse other questions tagged or ask your own question.