Newsgroups: comp.robotics
Path: brunix!cat.cis.Brown.EDU!agate!library.ucla.edu!csulb.edu!csus.edu!netcom.com!jfox
From: jfox@netcom.com (Jeff Fox)
Subject: Re: 100 Billion Neurons
Message-ID: <jfoxCsqsr0.4sM@netcom.com>
Sender: jfox@netcom.com (Jeff Fox)
Organization: Netcom Online Communications Services (408-241-9760 login: guest)
References: <i6F9oc1w165w@sfrsa.com>
Date: Sun, 10 Jul 1994 20:54:36 GMT
Lines: 110

In article <i6F9oc1w165w@sfrsa.com> bsmall@sfrsa.com (bsmall) writes:
> 
>I never intended that the thread get philosophical. Nor did I want
>to go into the million different reasons a neuron is not like a 
>digital computer circuit. The reason I mentioned 100 billion neurons
>is that this is often quoted as a reason why we can't build thinking
>robots, when we can't yet simulate the brain power of a bee that has
>only a few tens of thousands of neurons. 
> 
>What I wanted was to get through all these self-defeating preconceptions
>and to create a dialog about how to create some robots that have the
>object recognition and obstacle avoidance of a bee. I think it is
>very much appropriate for comp.robotics
> 
I agree with you completely.

>of connections betwen synapses. How much information do we need to
>simulate the strenght of a connection? 8 bits perhaps 16 bits? And 
>why do we have to perform a multiplication? The inputs from neural
>tissue is a binary output thats kind-of frequency modulated.

Well I guess it depends on how complex of a behavior this neuron needs
to perform.  Less than 8 bits may be enought, maybe one or two.  BUT
the frequency modulation that you refer to is a kind of analog output.
As you know one bit with PWM gives you analog output.  The slow response
of real neurons acts like an integrator of the PWM signal.  SO to model 
neurons analog threshold and weighting factors multiplies are used.
Will there by a synchronization problem if only a counter is used?
In many neural simulations floating point is used for the analog values
and weights.  I would be interested to learn what practical neural     
simulations could be done with minimal digital resolution.  I have NO
problem with discussions about things like that! :-) 

>                                                               That's
>why I'm suggesting look-up tables because within those lookup tables
>are the strengths of the connections.
> 
>>Well, can your 3mps micro hold 1 million of these tables?
>Perhaps on a hard disk.

Yes of course, but it is orders of magnitude slower than ram.

>>You are talking about 256 vectors * 1 million tables of address
>>that are large enough to point to many other simulated neurons.
>How about just 10 vectors.
>>How large of a table do you need to simulate say 32 weighted inputs 
>>to a neuron? 
>Just 32 bits. But the bits are changing in real time.
>>Do you really think that a 3mps micro can simulate 32 multiply 
>>accumulates * 1,000,000 neurons every milisecond?
>No mutiplication necessary and only the neurons that fire need to
>to be calculated.

Well with all the different structures some are more complex and some
are quite simple.  The simple neurons you are describing may be
capable of performing very useful processing where they are complex
enough.  Also multiple simple neurons might be combined to make the
more complex operations work.
>  
>>Actually I know about your robot vision project, and it is a good
>>example of how you can do things many many times more efficiently than
>>the approaches suggested by conventional wisdom.  If you really do
>>know how to simulate 1M neurons on a 3mps micro, then can I use
>>this technique?  If so 100 billion simulated neurons is just around
>>the corner.
> 
>No I can't. The BugEyes project actually uses quite another approach.
>I'm trying to formualte a future project. What I have learned so far 
>from helpful people is this:
>1) Bees have a few tens of thousands of neurons, 2 compound eyes, and
>   3 maybe 4 simple eyes.
>2) Bee keepers paint the bee hives so they can locate them. I've been
>   wondering about this because we have a theory that radial symetric
>   objects are easier to see than non radial symetric objects.
>3) Bees navigate through passageways by matching the angular velocity
>   of the objects moving by on the left and on the right. Could two
>   sensors, finely focused close and parallel, detect the angular
>   velocity off to the side? Could one sensor that had some mechanical
>   dither motion do the same?
>I have also been told that R. Keene and M. Aizawa may have important
>insight to share.
> 
>Brad Smallridge
>bsmall@sfrsa.com

Very interesting ideas! I am sure you are right about radial symetry
and visual recognition.  I also think you are on the right path to
pasageway navigation.
I have read that some birds have a optical neurons that detect the
derivative of the divergence of image detail.  As they dive toward water
this circuit will fire when their speed and distance from the water surface
reach a certain threshold, and it triggers a reflex behaviour of folding
the wings.  In experiments if the birds are shown images with this
optical characteristic the neuron firing and relexive behaviour can be
seen.
With a few of these specialized neurons triggering the right relexes alot
of things can be done. 
If you can use specialized optics lenses can perform two dimensional 
fourier transforms to get position and angular invariant parameters from 
an image.  This is a lot easier than computing 2D fourier transforms on
the raw visual data with a general purpose digital computer.  So with
the right sensors, a few simple specialized simulated neurons, and the
right useful relexes you could get a pretty saavy little robot.  

Jeff Fox
jfox@netcom.com
Ultra Technology        * All opinions expressed represent the official
2510 10th St.           opinions of Ultra Technology.  All opinions are
Berkeley CA 94710       subject to change without notice! :-)
(510) 848-0565
