I've been thinking today about the comparative computational power of perceptrons and neurons.
Background: A perceptron is a function from Rn to {0,1} that first linearly projects an input vector x to 1 dimension by taking its dot product witha fixed weight vector, then returns 1 iff the result is greater than some fixed threshold t. In other words, it answers the question "Does the input vector lie in some fixed halfspace?"
A neuron, on the other, takes as input a bunch of neurotransmitters binding to its dendritic membrane. These neurotransmitters trigger the opening of ion channels, whereupon the influx or efflux or ions can either increase (depolarize) or decrease (hyperpolarize) the potential difference across the cell membrane. (The resting potential of a neuron is ~-70mV.) When a neuron becomes sufficiently depolarized (>~55mV) at the top of the axon (these local changes in the potential are called "graded potentials"), an action potential is triggered down the axon, which is essentially a cascade of ion channel triggerings which spike the potential difference up to ~40mV before it drops again. Importantly, every such spike looks about the same. When the action potential reaches the axon terminal, it opens more ion channels, and the resulting ion influx triggers the release of neurotransmitters into the synaptic cleft.
The parallels are obvious: The input vector corresponds to each of the input neurons of a neuron, with the value of the input being proportional to the amount and type of neurontransmitters in the synaptic cleft. The weight vector corresponds to number and type of receptors on the post-synaptic membrane, which can translate the presence of a neurotransmitter into either an excitatory (depolarizing) or inhibitory (hyperpolarizing) response in the post-synaptic neuron. The threshold parameter is obvious: the threshold voltage at which an action potential is triggered. Unlike with the perceptron, the threshold here never changes, but those familiar with homogeneous coordinate systems can see that this is no necessarily a limitation on a neuron's computational power. Finally, since every action potential is essentially identical ("all-or-none"), when one reaches the axon terminal, it triggers a fixed-size influx of Ca2+ ions, resulting in an essentially fixed release of neurotransmitters. In other words, a binary output.
But this isn't the whole story. After an action potential fires, eventually the voltage-gated sodium channels repoen, and some essentially fixed amount is subtracted from the graded potential that triggered it to fire. However, if the original graded potential that caused the spike were sufficiently high to begin with, or has been continually increased while the action potential was travelling, the residual potential might still be above the threshold potential when the neuron "resets". In this case, it will immediately refire. This does happen: some neurons in the brain continually fire, 10-100 times per second. And every time an action potential reaches the axon terminal, neurotransmitters are re-released again and again, and the continual presence of neurotransmitters in the synaptic cleft holds open the ion channels in the post-synaptic membrane, continuing to excite or inhibit the post-synaptic neuron.
In other words, the neuron, over time, is delivering a non-binary output. Past signals accumulate with the current one in such a way that a neuron that cannot, in one firing excite another neuron to fire, can, by repeatedly firing, eventually trigger a spike in the post-synaptic neuron. Of course, past excitatory signals have less weight, since the neuron is constantly running its ion pumps to try to regain its resting potential, but enough ions fast enough can overwhelm their ability to polarize the cell. As far as inhibitory signals go, they can only hyperpolarize the cell so far before electrostatic pressure (as well as resulting osmotic pressure) are overwhelmingly powerful.
There is a maximum amount of neurotransmitters that can be delivered to a synapse as well, since the nature of the action potential limits its firing rate, and limitations of the axon terminal determine how many neurotransmitters can get into the synaptic cleft.
Anyway, the point is, it's more accurate to say that the output of a neuron could be any real number in a specific range. As a result, I came up with the following modification to the perceptron to reflect this difference:
Let f(r)=a*(1-q^(int(r/t)+1))/(1-q) for some fixed parameters a, q, and t. Then, the function computed by our neu-perceptron is f(w.x). Note that t here is like the threshold value we had earlier. int(r/t) is the like the number of spikes a single graded potential could trigger, and the geometric sum surrounding this indicates the degradation of past signal contributions over time (at a constant rate).
Questions:
-Are there other things a neuron can do computationally that I'm missing with this revised model?
-Do we lose any computational power when converting a neuron that takes a vector of values from an interval of the reals and returns a real value in that interval to a perceptron that takes binary input and returns binary output?
-In particular, is a network of binary perceptrons computationally equivalent to a network of biological neurons? If there is a fixed limit on the number of neurons/perceptrons? If they are only feed-forward?
-If no, is the new, modified, perceptron?
-Can some computations using a binary perceptron be simplified or compacted using the new perceptron?
