OK, I'm working on building an irl biomorphic robot based using a cellular automaton simulating a neural network using a genetic algorithm to adjust the weights (design) of the network to facilitate learning. THAT was a mouthful
Here's a cut'n'paste from another forum which does not allow you to post in-progress projects, so here ya go:
"
Hello all,
This is a robot I've been planning for a while, but before I get started, I would like your input.
Since this is a complex project, it will progress in stages.
The software will initially consist of a 2-neuron braitenberg vehicle, learning optimal network weights through the use of a genetic algorithm. The genetic algorithm will test each neural network in real time by letting it control the robot, taking perhaps up to half an hour per generation as it tests each neural network individually for 5 minutes, evaluating fitness based on easily-defined measurements (such as an accelerometer, for example. see
http://headphones.solarbotics.net/learnbot.html ). No processing will be done outside of the robot, such as on a supervising external computer. Once this basic scaffolding is complete, it should be able to be scaled up to a goal of about 30 neurons and numerous sensors, therefore achieving the same level of intelligence as a rotifer (a pond-dwelling multicellular protozoan). Because of this method of learning, a recurrent neural network is a viable option.
The current hardware I envision is a solarbotics scoutwalker3 base, a sumovore bs2 brainboard add-on, and either the spin stamp or the stamp stack 2p microcontroller (
http://www.hvwtech.com/products_view.asp?ProductID=565 ) . Although the spin stamp is a faster multicore processor, the ss2p has upgradeable eeprom (necessary for large ANNs) and is in-system programmable.
Here are some questions:
Which is better for an artificial neural network? The stamp stack 2p or the spin stamp?
Is a cellular automaton-based artificial neural network, such as brian's brain, a viable option? Rotifer CNS neurons are often bipolar, so the cellular automaton settings could be restricted down to a von-neumann neighborhood without much loss of realism. Would using a von-neumann neighborhood be less resource-intensive than a moore-neighborhood-based cellular automaton? What other changes to Brian's Brain, if any, would you recommend?
I want to be as realistic as possible since this is a project I am going to see through, so please provide constructive criticism. Thank you!
"
This was posted in a robotics forum, so I'll explain the non-alife-related jargon:
The spinstamp is a microprocessor based off of the propeller 9-core 32-bit 160mips robotics-oriented processor, programmable in C, Basic, Spin and assembly. See parallax.com
A link describing the less-powerful bs2pbb is provided. It features more memory and is in-system-programmable, a bonus for an ANN which takes up a lot of memory and could be hooked up as a slave to a better processor, like the propeller.
solarbotics.com provides the scoutwalker3 robot, which features a 4-neuron ANN and the ability to be hooked up to a parallax microcontroller (robotics processors are called a microcontroller in robojargon.)
After posting this I found an interesting cellular automata program which allows you to create your own CA rules.
(
http://www.collidoscope.com/ca/ ) I was thinking I could use this to make a more advanced version of Brian's brain which more closely simulates an actual neural net.
A big problem with using a CA, though, is: how am I going to adjust "weights"? What will the weights even be in the CA... dynamic rule sets? Any ideas?
Anyway, happy holidays!!!!!