Alternate Neural Network Training Method: Real Life!
Submitted by PeterOMalley on Mon, 2006-04-03 13:50
OK, so my title was a bit provocative, but here's what I'm going to do for my project (and hopefully it will work). (When we went around on Wednesday and explained our projects, I said basically this, but now I'd like to elaborate it more.) Training Neural Networks to do ANDs and ORs is all fine and good, but I feel that it misses the point, at least in terms of emergence. Neural Networks show great potential in terms of solving computing and AI problems, but I'd like to go somewhere different. I want to write a simulated world where the creatures are run by neural networks. The inputs to the neural networks will be the "sense": vision, for example, could be represented by two parameters: one for the distance of the nearest object in the line of sight, and another one for the "color", where food would have one color, other creatures another color, and obstacles a third. (The distance and color would have to be normalized so as to be a number between zero and one, of course.) The outputs, then, could be actions: one output could be whether to move forward or not, another to be whether to turn left, right, or not at all, and maybe another could be to change the creature's own color. How could such a network work? Well, start off with random weights, like normal, and let Darwin take over. Allow either asexual reproduction (clone yourself when you have energy > X) or sexual reproduction (find a (willing?) mate and cross over with genes, when you both have energy > X), and have some chance of mutation (either in weights, links, or whatever: even allow new nodes for more processing!). Eventually, successful creatures are left. I have reason to believe that this can work: two of my friends in high school did something similar, but they had to write their own network code, which I don't have to. I do, however, have to learn the code, which shouldn't be too hard, and work out mutation algorithms, which may or may not be hard to write, as well as write the whole simulation itself! With graphics, of course, so that you can see the little buggers going around. I hope it's not too much for me to chew, but I was talking to Josh Carp and I know he's interested in working on it too. We're not sure what the deal is with partnerships on this final project, but that's something else to figure out. So y'all let me know what you think, especially if you see any problems or have any ideas!