The question about whether neurons perform computations came around several times on twitter, lately and there were at least two spin-off blog posts that came from these discussions:
Is the idea that neurons perform ‘computations’ in any way meaningful? from Adam Calhoun (@neuroecology) and then
The Diversity of Computation
by @mnxmnkmnd
So far so good. It appears that basically there is little discussion about whether neurons compute things. However, a new conversation between me and @mnxmnkmnd came up as I realized that for him it appears to be close to irrelevant whether you call a neuron a computer or not and you don’t learn more from emulating the computational function of a neuron than from simulating the thing the same way you would from simulating fluid dynamics or a pendulum.
So, here is my new attempt to explain, why I think it is important and meaningful to think of neurons as computing agents rather than simply physical phenomena.
Let’s say we have two researchers who have a little bit of a friendly competition happening. Each one doubts the other one will be able to crack the ‘secrets of the brain’. So they make a deal: They will go and figure out how light controls an eye movement behavior in animals. They will meet twice to compare their results: once when they are half-way through and once at the end. So they don’t influence each other too much.
Both go along and realize that neurons interact and influence each other through the means of membrane potentials and the release of neurotransmitters, and that the brain generates behavior. So to answer the question ‘What happens in the brain?’, both went on to measure every single neuron in the network in every state of the network.
Their results are: Light hits a special kind of neuron, it produces action potentials, this activates following neurons, and neurons after that and neurons after that (and so on) and finally neurons activate muscles and the eye moves. Splendid! Both seem to be on track.
Now they ask: why is this happening?
Researcher A says: “Okay, the brain is a physical phenomenon just like the weather that can be described with fluid dynamics etc. So my job is to figure out the physical mechanisms that make this all happen. I will simulate every single part of it and explain everything by the means of physics and chemistry.” So he simulates a photon hitting an opsin, triggering structural changes which then trigger a molecular mechanism which then cause ion channels to open and close and he figures out all the physical dynamics and chemical reactions (and basically solves all cell biology on the way) and he come out of his lab and says: “okay! I know what happens, so here is why.” His result is a way more detailed model of the brain than the previous one. He knows exactly how everything works. And he is pleased with himself, as he should be, because that’s hell of an accomplishment right there, and yes he answered clearly the physical causes for the neuronal activity.
Researcher B says: “Well, I actually think of a neuron as a computing device. ‘Computing’ I think is when somebody uses a mechanism that is specifically designed to work according to an algorithm. It has a goal and a purpose. You purposefully insert information, the device transforms this information and you interpret it (Wikipedia) and base future decisions on it. [Only that the brain is both: the person that uses the computing device and the computing device.]”
So he looked at his data and the inputs and outputs of all the neurons and figured out what the algorithm is for each computational step. He looked at different neurons and compared their activation with the information in the stimulus that causes the eye movement and kept in mind that the goal is to move the eyes in a particular way. At the end he could point out populations of neurons and say their activity represents the overall motion of the visual picture. The next neurons receive this information and they determine the velocities of movement. The information is fed into the next neurons which compute from it the movement in three dimensional space. […] and finally, the neurons signal what the eye movement should be to these motor output neurons which transform the information into instructions for muscle contractions. And he has abstracted formulas for the computations that, when put in the correct order, emulate the original behavior… a computational model.
At the end, both have a model of the brain, one simulates it’s parts and one emulates its function. Both are extremely useful, but for different purposes.
In the light of my personal interests, researcher B has the more useful approach, because you can take the algorithms and information processing principles and compare them to those in brains from all kinds of different species. You can also implement them in machines and robots without the need of including weird evolutionarily introduced quirks or work-arounds that a biologically computing system accumulates and requires. Instead you can do it in a way appropriate for the properties of the system you use to implement the same functionality.
You might think that emulating the function and “neglecting details of things is just kind of a science/understanding thing in general” (@mnxmnkmnd), but I don’t think this is the only truth. Having an abstract understanding of a system is useful not for the sole purpose of ‘understanding things in general’. You can do this without paying attention to the function of the system, like researcher A did in my example – you can be sure this guy gained a lot of general understanding about mechanisms. But when you treat neurons as computers with a purpose rather than a physical phenomenon that happens to exist, you come to conclusions about the function of these ‘computing elements’ and the implemented algorithms. That I personally find way more interesting than a physical model of molecular mechanisms.
BTW, most neuroscience since Hubel & Wiesel is working like this. If you look at the representation of information (e.g. properties of stimuli) in different neuronal populations, then you are treating neurons as computers.
So, to sum it all up: When you see neurons as computers you can emulate their behavior and learn from this which computations (what thoughts?) an animal uses to generate optimal behavior. That’s why I think it has meaning when people say neurons are computing stuff. Because it includes the idea of something more that can be learned from it than just which physical phenomena cause this behavior.
P.S. When you put the results of researchers A and B together, you will learn how specific computations are realized in a biological substrate. :O