Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - jon

Pages: [1] 2
Off Topic / Re: Artificial Neural Network Robot
« on: January 22, 2011, 12:21:03 PM »
Hello botsareus,

I agree that there are definitely some areas of the brain that are pre-coded. I also agree that it might, one day, be possible for us to make an artificial consciousness without using neural networks. However, currently the brain is not understood well enough for us to make such a program, and therefore I'm trying to avoid using non-biomorphic means.

It's hard for me to describe the goal of the project, because I just end up saying a different thing each time. But the best definition is that it is a research platform for different Alife technologies.

That said, it won't really be programmed to do random stuff. It will be programmed with a new goal for each experiment.

In general, the main non-morphing "program" is the hard-coded microcore in the scoutwalker, which, through a direct connection to the spinstamp, functions as a central pattern generator.

Off Topic / Re: Artificial Neural Network Robot
« on: January 03, 2011, 12:54:49 PM »
I'll update you guys in about a month, or as soon as I have pictures, whichever comes first ;)

DNA - General / Re: Newbie Understanding (or not)
« on: January 03, 2011, 10:21:49 AM »
So you got it working?:D

Off Topic / Re: Artificial Neural Network Robot (name chg.)
« on: January 02, 2011, 11:42:21 AM »
Now, why do you say that neural networks do not imitate biology?

They were thought up at a time when little was understood about the brain.  We still don't understand all that much about the brain.  Specifically, there is some evidence that neurons themselves are actually rather sophisticated computing devices.  The simple gate-like nodes in the neural network don't necessarily reflect that.  Really, ANN aren't that interesting compared to other pattern recognition and learning algorithms, but because it has a sexy name, it gets lots of undue attention.

In that a recurrent neural network is Turing complete, I guess you could argue that you just have to take lots of nodes in the ANN in clusters to represent biological neurons (a neural net of neural nets or something like that), but I still think this is a case of gathering a dozen fake plastic trees and calling it a forest.

Second, there are exactly 0 problems (I know of) where ANN outperform other dedicated solutions for a given problem.  Their "strength" is that they can solve a wide variety of problems... badly.

For instance, I've been playing a lot of go in the past year.  The top computer programs still can't beat top level human players.  But they're still pretty strong.  Are these top level programs ANN?  No, they're actually monte carlo simulations.  They play millions of provisional games of go from the current position with fairly random moves and play the move that has the best payback for some given weighting of the imaginary games.  There are lots of other clever techniques like that for every single problem domain I know of.  You have to assume that the brain isn't stupid enough to rely on a bad general purpose algorithm when it could use sophisticated dedicated solutions to various problems.

So it seems incredibly unlikely to me that our brains are actually modeled entirely similarly to a ANN.  Maybe the part of our nervous system that feeds sensory inputs and outputs to and from the brain up through the brain stem works like that.  But the brain "proper" is almost certainly doing something else entirely.  Or think of it this way: if it was a ANN-type thing, wouldn't it make more sense to spread the processing power out along the entire body?  Instead of centralizing it in a central, easy-to-injure location?  That's the raison d'ĂȘtre of the internet, for instance.  You could make an argument for reaction times, etc. for centralizing the brain, but I still think the whole ANN idea is missing the point by a wide angle.  I think that modern multicore CPUs (with pipelines and caches and such) probably more closely models the way the brain works, not because it was trying to, but because it's solving practical general-computing problems which are similar (after a fashion) to the problems that the brain has to solve.

I think the neurons in the brain are like 1 khz processors or something like that.  Nothing to sneeze at!  For some rough numbers, take the estimated processing power from here and the number of neurons from here.  I get 10^14 IPS (simple instructions per second) and 10^11 neurons, which give about 1 khz per neuron.  My guess is that individual neurons do a great deal of work, like a beowulf cluster.

I hope you don't mind me posting on something a little off-topic, since it isn't that related to DB, but I AM a fan of your work! Let me know if I am bothering you. And thank you so much for your willingness to help, I truly appreciate it.

Not at all.  I'm sympathetic to wanting to discuss something that other people either don't understand or don't care about :)  Don't let my grumpy sour-puss attitude put you off.

I don't know if I mentioned this yet, but thank you very much for your help! I really appreciate it.

Off Topic / Re: Revised Robot Information
« on: January 02, 2011, 11:33:31 AM »
Second, hardware:

Tentative layout:

Parallax spinstamp 8-core microcontroller ( )

Solarbotics scoutwalker III ( ) + sumovore BS2 brainboard + brainboard prototyping PCB


Off Topic / Revised Robot Information
« on: January 02, 2011, 11:18:10 AM »
Hello All!

First, I must apologize, I have uploaded so many pdfs that it's probably almost impossible to find relevant information, so I'll just upload the most important ones here to give a general overview. If you want more info, you can see the pdfs I posted elsewhere.

I thought I might as well post an overview here while I'm at it, reflecting some of the ideas and help I've gotten recently (thanks!)

The purpose: To combine several ALife technologies into a learning robot.
The technologies it is based on are cellular neural networks and genetic algorithms.

A cellular neural network, or a neural network where neurons are only connected to neighboring neurons (in this case where each neuron is a cell in a square lattice, connected to the 8 cells surrounding it) is going to be the control mechanism. The relationship between neighboring neurons/cells can be either disconnected, excitatory, or inhibitory. The state of a neuron can be firing, refractory, or ready.  A neuron fires if the number of excitatory inputs from neighboring firing cells is greater than the number if inhibitory inputs from those firing cells. All connections have a weight of one. Specialized neurons can be set up which are constantly firing, which fire only when activated by sensors, or whose output goes directly to the robot motors. In such a network, if all neurons were connected to all their neighbors with only excitatory connections, and there were no specialized neurons, then the network would emulate the Brian's Brain cellular automaton.

The exact number and type of neurons and number and type of connections is determined by a genetic algorithm. The population is two; one currently being executed in the robot, and one stored in memory. The one being executed is a mutation of the one stored in memory. If the one currently being executed has a higher fitness than the one stored in memory, it replaces the one in memory, otherwise, it is mutated again, and the cycle repeats.

Fitness is determined by the total amount of pain and pleasure received by the robot. In the beginning, pleasure (fitness) will be determined by an on-board accelerometer; the further the robot moves, the higher the pleasure is and the more fit the current neural network is. Once this works, more sensors can be added for light, obstacles, etc... to evolve more complex behaviors.


First (and most important): Software

See ( ) for an easy-to-understand overview. (no math :D)

See ( ) for a similarly simple robot implementation.

See ( ) and ( ) for examples of similar robots.

See ( ) , ( ) , the attached "brainwaves" pdf file and the attached "exampleCNN" jpg picture as well as the overview website above to see the basis for the design of the robot's "brain."

See the attached "brainsim" pdf file for a detailed description on how the human brain is theorized to work.

Off Topic / Re: Artificial Neural Network Robot
« on: December 30, 2010, 03:32:30 PM »
This is the paper off of which my CNN circuit is partially based off of.


EDIT: Here is a video of a robot controlled by a genetic algorithm with a population of one.


EDIT2: oops, wrong youtube video, I meant this one:

Off Topic / Re: Artificial Neural Network Robot
« on: December 30, 2010, 02:24:19 PM »
Here's an example CNN circuit controlling a phototropic obstacle-avoiding robot. The "+" neurons constantly send action potentials, causing the motors to move when there is no sensory input. As an example, the robot moves forward until it hits something on the right side. The right contact switch activates, sending an AP to several interneurons which, ultimately, activate a neuron that sends an inhibitory AP to the left motor, causing the robot to turn left. This whole process takes 4 cycles. Similar circuits cause it to follow light. Note some interesting behavior: the robot moves forward in pulses, because there are gaps between action potentials caused by the neurons' refractory periods.

Off Topic / Re: Artificial Neural Network Robot (name chg.)
« on: December 28, 2010, 03:00:18 PM »
Yes, I agree that "Artificial Neural Network" is a bit of a misnomer.  Especially if you look at BEAM robots, microcores and bicores have very little in common with biological neurons, even though they are called "nervous nets" and "neural nets". I'll just call them cascading networks if you want, to show the name isn't clouding my judgement. The important thing is how all these technologies/curiosities/whatchamacallits are similar; they exhibit complex behavior derived from simple rules, without the behaviors being pre-programmed.

I'll just come out and say the goal of the project: To create "interesting" behavior, without it being pre-programmed. Specifically, combine various non-symbolic A.I approaches into a coherent unit. I'll admit some of the ideas I'm using (single-organism evolution, digital cellular automata) are stretching the original "biology-based" goal, but the true purpose of creating novel behavior and "order out of chaos" is kept. Using monte carlo simulations and other completely artificial methods of automated problem solving are more along the lines of symbolic AI.

You seem to be caught up on how inefficient and time-consuming it is to use all these weird technologies, but the point is not efficiency. The point is making a learning robot from the most simple building blocks possible. The less intelligence you program into it, the more learning it is capable of. The more simple the building blocks, the more impressive complexity is when it arises. I'm not adding cellular automata to the mix to further obfuscate the design, I'm adding them because they are even more simple than cascading networks while still generating novel behavior.

Off Topic / Re: Neural Network Information
« on: December 28, 2010, 12:08:12 AM »

I forgot to mention, if you don't understand something please let me know, I don't mind explaining!

Biology / Re: CNS papers
« on: December 27, 2010, 11:17:43 PM »
I was considering making a new topic for this, but I've bothered you guys enough with my constant off-topic messages so I thought I shouldn't start a new thread.  :D

I found some similarities between the mammalian CNS and the concept of cellular neural networks. Specifically, the human brain has a certain module, the neocortical column, which is copied nearly-identically across the surface of the brain. This explains the consistency of the six neuronal layers across the neocortex. These are detailed in the paper "Large-scale model of mammalian thalamocortical systems." (The support pdf is actually a lot more helpful.)

Please let me know if you don't understand something, I don't mind explaining!

Off Topic / Re: my biomorphic learning robot project
« on: December 27, 2010, 04:59:33 PM »
The main goal of this project is to mimic biology, kind of like DB. If my goal was to make an obstacle-avoiding robot then I'm using a REALLY complex way to doing it...

The reason why I'm using a genetic algorithm on an ANN is to simulate species-level learning of complex behaviors. In a way, viruses and bacteria "learn" from their environment to replicate best, it's just that this learning is done outside of the lifetime of the organism. I'm basically using this evolution-based learned programming on an individual instead of a population.

Now, why do you say that neural networks do not imitate biology? I've seen some recurrent spiking neural networks that seem to be very realistic. I've also seen "advanced neural network-based research robots" that are glorified braitenberg vehicles though, so I do understand where you're coming from.
Also, I'm mainly interested in extra-cellular communication, since simulating all of the processes inside a cell is unnecessary and difficult. Although on a molecular level a rotifer is doing trillions of computations per second, if not more, the actual nervous system of a rotifer could easily be simulated with an advanced microcontroller.

Now, a cellular neural network, which is basically a cross between a CA and an ANN, might be more of what I was trying to get at, and is actually more biomorphic than both feedforward and recurrent neural nets (and of course a CA). Cellular neural networks also seem to have useful applications in vision processing, since they correspond well to the way the retinal ganglion cells of the human eye work for edge detection. (See

After trying a few simulators, I've decided to go with this program:

Since the source code is available, as well as a tutorial on combining genetic algorithms with neural networks to simulate a braitenberg vehicle (The first goal). In fact, if I wanted to complete phase 1 of the project, I could just copy the best evolved neural network into the robot microcontroller. Further modification of the program could make it use a population of one robot, etc...

I hope you don't mind me posting on something a little off-topic, since it isn't that related to DB, but I AM a fan of your work! Let me know if I am bothering you. And thank you so much for your willingness to help, I truly appreciate it. :D

Off Topic / Re: konnichiwa
« on: December 26, 2010, 01:59:04 PM »
haha nice name...

btw who's ericl?

Biology / CNS papers
« on: December 26, 2010, 09:15:17 AM »
CNS papers

(BTW "perikaryon" in the rotifer paper is an unusual word for soma)

Pages: [1] 2