Simulation Of Neural Nets


by Brad Cox
Committee on Mathematical Biology
University of Chicago Illinois 60637
(This is my first article, OCR'd in 1995 from a decaying paper copy.)

DECUS Proceedings
Papers and Presentations of the Digital Equipment Computer Users' Society
Spring 1970

Abstract

We've developed a program for the PDP-8/I computer that simulates the behavior of 64 model neurons. These may be connected together to form a functioning neural net. The simulation includes provisions for studying of learning. The network takes inputs from a robot or a robot simulator program provides outputs to control the robot. Thus the system investigates the behavior of an organism and it's brain in interaction with an environment.

Introduction

Mankind has been contemplating the paradox of "pondering the ponderer" ever since we first possessed a brain to ponder with. While there has been some progress in unraveling the functioning of brain parts, we are still little closer to understanding how a brain learns. Part of the problem is because neurons are very small, and the parts of the neurons where one expects the most important aspects of their behavior to be carried out (in the synapses and dendrites) are far too small for measurements of their activities without damaging them. It is possible to make electrodes small enough to record electrical potential changes from individual cell bodies, but we have little assurance that these are not incidental by-products of more important events at the molecular level for which we lack tools to observe directly.

While technology has been a great help in developing tools to use in experimental brain studies, the concepts for thinking of present day machinery has little applicability to biological systems. Brains have been likened to hydraulic systems, telephone exchanges, holograms, and computers, but they operate on entirely different principles without good analogs.

There are, however, several characteristics of biological nerve nets which should be of help in understanding how they function. Organisms develop from single cells by following certain rules for development which eventually lead to the creation of sense organs, nervous systems, effector organs and a body which houses these elements and maintains a fairly constant spatial relationships between them. There is every reason to be believe that the brain cannot be studied in isolation from these relationships, and that the feedback loop between effector organs and the sensory apparatus is essential in maintaining reasonable responses to environmental changes and therefore, normal brain activity.

In addition, as one examines a range of organisms, from those with very simple nervous systems and very stereotyped modes of behavior, to those with millions of neurons, one finds that the apparent randomness of connections between individual neurons increases drastically. For example, the sea hare (Aplysia) has a nervous system composed of relatively few neurons which are readily identifiable from individual to individual, with each neuron always connecting to the same other neurons in case after case. In contrast, in mammals, while the gross anatomy is very reproducible, connections between developing neurons appear to be guided by laws that are very general in nature and leave much opportunity for randomness. One tends to suspect that the mechanisms of learning might have evolved to remove the burden of specifying the function of individual neurons from the genetic apparatus, thus allowing larger numbers of neurons which depend on this redundant information content of the feedback loop between muscular activity and sensory changes to establish their functional identity. The well-known peculiarities of instincts and reflexes probably represent the existence of a backbone of genetically controlled pathways which serve as a boot strap to enable the organism to survive in his initial contacts with his environment and to keep him functioning until sufficient learned pathways have been established.

This paper describes the current progress of our efforts to develop experimental tools and ways of thinking which we hope will lead to new progress in this field. The neural simulator program is designed to he used as the nervous system for a robot, on which sensors are mounted to encode relationships between the robot and it's environment and internal variables. The output from the simulator will be used to control servo motors which will alter these relationships. Our next step will be to select some real biological system about which enough experimental information has been published to glide the building of a robot which can reproduce the range Or bodily activity relevant to that organism. Ultimately, the entire system will be used to investigate the behavioral effects modifications of parameters and even the logical structure of the model neurons described in this paper.

General Simulation Logic

The current version of the simulator is operating on a PDP-8/I computer with 8K of memory, extended arithmetic element, and the AX08 laboratory peripheral unit which is used for oscilloscope control. Up to 64 model neurons can be simulated, each of which can have up to 8 inputs and 8 outputs which may be connected to any of the other neurons in the net. In addition, interface routines are available to connect up to 16 inputs and 16 outputs to external analog devices and perform the necessary conversions between analog signals and the frequency modulated pulse trains characteristic of neural activities. These interface routines thus serve to simulate sense organs and effector organs (muscles or glands) and require very similar programming logic to that which will be described for the neuron simulation routine. Each unit in the net is assigned an array (32 words for neurons, 8 words for sensors and 16 words for muscles) which serves to specify the unit's structure (as set up by the operator during command mode) and it's current status (which is determined by state variable stored in the array which depend on it's history during simulation mode). Simulation of any unit's behavior involves the action of the simulation routine for that unit's type (sensor, neuron, or muscle) upon the status array for that unit. In general, successive time intervals are simulated one after the other in rapid succession so that time is quantized into intervals whose size depends on the speed of the simulation programs. Within any time interval, the sequence of operations is:

During normal operation, the program, loops back to step (1) and simulations of successive time intervals follow immediately. However it is possible to execute only step (6) by entering "single stepping mode", thereby obtaining a snapshot picture of the net's status at some time interval. Thereafter the simulation routines are executed only once each time a special teletype key is pressed, making it possible to single step the time scale.

Figure 1The display facilities were designed for speed of operation consistent with the requirement that the operator be able to observe the important aspects of the simulation's progress.

The relevant aspects of this display are:

Model Neuron Characteristics

This version of the simulator is set up to investigate the information processing capabilities of model neurons whose only integrative variable is the membrane potential. There are no facilities for allowing variable transmission time between units, such as exists in real neurons because of the finite speed of signal propagation along axons, nor has any attempt been made to simulate the cable properties of dendrites, mainly because of the lack of any clear understanding of their role in neural behavior. Each neuron is described in the computer by the contents of it's "Neuron Status Array", which is initialized by the operator during command mode and has the following format:

00 POTLMembrane potential
01 DLYDDelayed potential
02 THR Threshold
03 RESTResting potential
04 MTABMetabolic time constant & counter
05 SNCRSynaptic increment
06 SNRNSynaptic normalization constant
07 FIREPost-firing potential reset voltage
10-17 Table for up to 8 addresses of input cells' status arrays. The last 5 bits in each word are available for storage of indicators of each input cell's firing history.
20-27 Synaptic weights for the above 8 input synapses. Positive numbers indicate excitatory synapses and negative numbers indicate inhibitory synapses. The excitatory svnapse weights are normalized to the synaptic normalization constant.
30-37 Addresses of the synapse weights that will be used to modify the output cells' membrane potentials in the event that this cell fires. The addresses of the output cells' status array origins are obtainahle from these addresses by masking.

Simulation of a neuron involves the action of the "Neuron Simulation Routine" upon the status array for that neuron. Neurons are selected for simulation from a table of addresses of neuron status arrays called the "Neuron Definition Table" which is set up by use of command mode facilities and allows use of less than the full complement of neurons without having to spend execution time simulating unused neurons. This table is kept in ascending order of addresses so that the temporal equivalence logic can determine whether or not a neuron has already been simulated during the current time interval by means of a simple address comparison.

At the time that a neuron is to be simnlated, it's membrane potential has a value set by preceeding simulations of it's input cells and the first operation necessary is the comparison of the membrane potential with threshold.

If the membrane ?potential is less than threshold, the cell does not fire. At this time, the membrane potential is modified by use of the differential form of an exponential decay formula:

	POTL = POTL + (REST - POTL) / CONS 

where CONS is analogous to the time constant for the decay. In the event that POTL is close to REST, the use of fixed width arithmetic for the division gives a zero quotient, so special facilities are used to store the reciprocal of the above ratio as a count. When this counts out, a small change is made in pOTL so that it continues to exhibit exponential decay. Notice that if REST is specified to lie above THR, the neuron will exhibit spontaneous activity at a frequency determined by the time constant for the decay. The time constant and the time interval counter share the MTAB word in the status array ray. If the membrane potential exceeds threshold, this indicates that the neuron is to fire and a flag is set accordingly. The refractory period is simulated by resetting the membrane potential to a low value, FIRE, after which extra excitation will he required to cause the neuron to fire again. The next stages are executed for both cases (so that execution tire does not depend on how many neurons fired per time instant and so that the synapse weights are 'kept normalized) and involves scanning the firing history bits in the input table to determine which of the inputs fired during the previous time interval. If this cell fired, and if a particular input cell fired, and if the synapse weight for that cell is positive then that s-synapse weight is increased by the synaptic increment, SNCR. The sum if the excitatory synaptic weight is also computed during this loop for use in the normalization. Nor-Normalization involves multiplying each excitatory weight by SNCR/SUM/, thus insuring that their sum remains equal to SNCR. In this w ay, if some input weight increases due to correlated firing, all the others decrease proportionally. Notice that this procedure does rot vary inhibitory synapse weights, mainly because of the lack of a satisfactory theory for variation of inhibition. Also, this procedure tends to enhance the effects of one cell on another if they ex-exhibit correlated activity, but I am convinced that the procedure just described is not sufficient because it lacks any provision for removing the restriction that they rust fire in successive time retrievals. Some degree of temporal integration might help reduce the problems we have had with synapse variations.

Finally, according to whether or not this neuron fired, modification of the status arrays of it's output cells takes place. Each address in it's output table is used to obtain a synapse weight. This address is easily converted-into the address of the membrane potential for the output neuron and to the address to be used for the storage of the firing history of this neuron. B Both of these parameters-s must be treated in accord with the requirement that each neuron in the net be temporally equivalent and not depend on its's place in the serial execution of the simulation.

This requires that all transmissions between neurons need one time interval to propagate and requires the use of the delayed potential word (DLYD) and some extra bits in the firing history table.

The final operation is the construction of an extra firing history table that contains the firing status of each cell in the net during the current time interval. This table is used by the simulation mode display routines to determine which neurons fired and by the muscle simulator routines to enable interfacing neurons to muscles without special provisions for their slightly different connection requirements.

Provisions For Simulation Control - Command Mode

Figure 2The importance of a well-organized and convenient procedure for program control is evident when it is realized that there are 64 neurons, 16 sensors, and 16 muscles, whose status arrays alone occupy 2,432 words of storage, each word of which must be under direct operator control. Preliminary versions of the simulator used conventional means of inputting data (paper tape), but it was quickly realized that this would never allow sufficient flexibility and convenience to make simulations feasible. For these reasons, the programs were set up so that they receive inputs entirely according to cursor control logic and make heavy use of oscilloscope displays.

The essential features of these displays are:

Discussion

Because of our lack of a method for introducing correlations between inputs and outputs for the net, it has been possible to test the model neurons' logic only to the extent of debugging the programs, with one exception. Instead of building a real robot, a very simple robot was simulated by program logic and connected up with an earlier version of the simulator (which used neurons very similar to those described here. Neurons were connected in a pattern which ultimately could control the robot in such a way that it's design objectives were achieved, but when synaptic variations were introduced (by making SNCR non-zero) the performance of the robot deteriorates, usually quite rapidly.

Apart from the possibility that the synaptic variation algorithm is completely unsuitable, this could be due to the fact that individual synapse weights are able to range from zero to SNCR and one would expect that this range of variation is physiologically unreasonable. One would expect that any synaptic variations involved in learning in real neurons would not involve a range from no effect to unconditional firing, and also one would prefer that synapse weight variations be done after the neurons have shown correlated activities over a wider range of time intervals.

This algorithm makes it extremely unlikely that a synapse weight, once having become near zero, can ever increase again, making the situation where a neuron has several inputs with appreciable synapse weights an unstable one that promptly degenerates to the single input case. The time scale for simulated organisms depends entirely on the size of the basic time interval, which is determined by the execution time for the programs necessary for one time interval simulation. This time must be much smaller than the average interval between neural firing for the simulated organism, and may be regarded as the width of an action potential in real organisms. This time is currently of the order of 0.1 seconds for simulations of the full complement of 64 neurons, and considering the amount of computation that must be done during each time interval this is pretty rapid. However this must be reduced by at least an order of magnitude to allow simulations of this size to be done in real-time.

Some improvement could be achieved by use of a computer with a word size of more than 12 bits since many of the operations necessary are awkward and time consuming with a word of this size. An appealing solution for the future would be special ?purpose computers with a section of "memory words" composed of independent integrated circuits capable of performing functions as described for the Neural Simulator Routine. Control of such a set-up could be done by a more or less conventional central processing unit capable of initializing the operands of the micro-processors and displaying their status to the operator.

Acknowledgments

I would like to express my appreciation to Professor Anthony Robertson and to the Committee on Mathematical Biology for their support and interest, and to The U. S. Public Health Service for providing financial aid under Grant 1 TOI GM 2037.